Skip to content

Add quincy support to our CI tests#659

Merged
mergify[bot] merged 14 commits intoceph:masterfrom
phlogistonjohn:jjm-quincy
May 2, 2022
Merged

Add quincy support to our CI tests#659
mergify[bot] merged 14 commits intoceph:masterfrom
phlogistonjohn:jjm-quincy

Conversation

@phlogistonjohn
Copy link
Collaborator

@phlogistonjohn phlogistonjohn commented Mar 15, 2022

Fixes #649
Fixes #657
Depends on: #674

This PR adds initial support for Ceph 'quincy'.

There are a few sub-topics here: let me know if you think it's better if I split them out as separate PRs.

  • Adding quincy to the build & CI
  • Updating the micro-osd.sh to be easier to test/hack on
  • Fixing issue starting radosgw in micro osd
  • Fixing cephfs admin API change (keeping it backwards compatible)
  • Fixing an incorrect usage in the rbd api (a regression in quincy but one we didn't have to hit)
  • Making it easier to test against dev versions of ceph in the future
  • Adding skips for broken/unstable tests

Some tests currently don't work right on quincy and these have been disabled by skip-test calls. If this PR is merged the skips will be filed as issues and we can track and resolve them separately.

(Updated 2022-04-25)

Checklist

  • Added tests for features and functional changes
  • Public functions and types are documented
  • Standard formatting is applied to Go code
  • Is this a new API? Is this new API marked PREVIEW?

@phlogistonjohn
Copy link
Collaborator Author

Well.... the quincy instance seems flaky as flaky gets but I think I've now identified all the tests that are currently guaranteed to fail. These FIXME commits need to be removed of course. In the short term I'll look into making them skips for quincy only.

@phlogistonjohn
Copy link
Collaborator Author

filed https://tracker.ceph.com/issues/55094 for the rbd admin snapshot test failure

@phlogistonjohn phlogistonjohn force-pushed the jjm-quincy branch 2 times, most recently from 2beb71f to 66130fb Compare April 4, 2022 20:29
@phlogistonjohn phlogistonjohn force-pushed the jjm-quincy branch 2 times, most recently from b788952 to cee4fa7 Compare April 19, 2022 14:35
@phlogistonjohn
Copy link
Collaborator Author

https://ceph.io/en/news/blog/2022/v17-2-0-quincy-released/

Quincy is now released. I'd like to prioritize this general effort for our next release. I'd like to run with this PR's approach of getting the release enabled in the CI with some tests disabled and then we can work the individual disabled tests separately. Any objections/thoughts/questions? If I don't hear back I'll make this ready-for-review and start pushing that plan. Thanks!

@phlogistonjohn phlogistonjohn added the no-API This PR does not include any changes to the public API of a go-ceph package label Apr 21, 2022
@mergify
Copy link

mergify bot commented Apr 22, 2022

This pull request now has conflicts with the target branch. Could you please resolve conflicts and force push the corrected changes? 🙏

@phlogistonjohn phlogistonjohn marked this pull request as ready for review April 25, 2022 18:26
@phlogistonjohn
Copy link
Collaborator Author

Ready for review. PR Description updated. PTAL @ansiwen & @nixpanic if you have the time. Thanks!

@dpulls
Copy link

dpulls bot commented Apr 28, 2022

🎉 All dependencies have been resolved !

Copy link
Collaborator

@ansiwen ansiwen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM overall, just two questions.

@phlogistonjohn
Copy link
Collaborator Author

@Mergifyio rebase

Signed-off-by: John Mulligan <jmulligan@redhat.com>
Signed-off-by: John Mulligan <jmulligan@redhat.com>
This issue should no longer be present in the base containers.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
The "CEPH_FEATURES" env var can now be used to exactly control what
steps will be run. If unset the steps will be derived from the
CEPH_VERSION env var.

Best viewed by ignoring whitespace.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
Signed-off-by: John Mulligan <jmulligan@redhat.com>
…emon

Signed-off-by: John Mulligan <jmulligan@redhat.com>
Signed-off-by: John Mulligan <jmulligan@redhat.com>
It appears the JSON being returned from `ceph fs status` has changed.
The field returning the mds version was previously "just" a string.
Now its a more complex thing. This of course breaks the old version
of the go code which is statically typed to expect a string.

In order not to break backwards compatibility we replace the object
used for parsing the JSON with a private object that has a custom
unmarshaller function for the mds version field. If it sees the string
it uses the string. Otherwise, it looks for this new structure and,
if possible, extracts the version string from the first item.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
On ceph quincy, removing the subvolume explicitly (even with --force)
triggered an error. Due to the discussion in
https://tracker.ceph.com/issues/54625
I was informed that the explicit delete was not necessary, and while
the error on quincy was not correct, even on previous versions the
call is basically a no-op.

Rather than wait for this to be changed back to a no-op on quincy,
we remove the unneeded call. While we're at it, change the polling
loop to use the assert lib's Eventually call which is much nicer
to read and expires based on a duration avoiding the need to
think about loop iterations. :-)

Signed-off-by: John Mulligan <jmulligan@redhat.com>
Signed-off-by: John Mulligan <jmulligan@redhat.com>
This test feels very flaky, only passing 2-3 times out of ten (by
my vague guesstimate). This needs investigation.
However I don't want to block all of CI against quincy for this this
now.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
Will need to be properly debugged later.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
Mysteriously fails without a useful error.  Will need to be properly
debugged later.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
@mergify
Copy link

mergify bot commented May 1, 2022

rebase

✅ Branch has been successfully rebased

Copy link
Collaborator

@ansiwen ansiwen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@mergify mergify bot merged commit 57bbe83 into ceph:master May 2, 2022
@phlogistonjohn phlogistonjohn deleted the jjm-quincy branch May 2, 2022 17:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no-API This PR does not include any changes to the public API of a go-ceph package

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[quincy] test container: radosgw fails to start Add ceph quincy support

2 participants