New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
mon: fix "fs new" pool metadata update, tests #16954
Conversation
Signed-off-by: Greg Farnum <gfarnum@redhat.com>
So far I just turned on a vstart cluster. I have no confidence at all in my qa suite python update. |
retest this please |
src/mon/FSCommands.cc
Outdated
if (!mon->osdmon()->is_writeable()) { | ||
// not allowed to write yet, so retry when we can | ||
mon->osdmon()->wait_for_writeable(op, new PaxosService::C_RetryMessage(mon->mdsmon(), op)); | ||
return EAGAIN; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
-EAGAIN
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
otherwise looks good to me!
if pool['pool_name'] == pool_name: | ||
if "application_metadata" in pool: | ||
if not "cephfs" in pool['application_metadata']: | ||
raise RuntimeError("Pool %p does not name cephfs as application!".\ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this need to be guarded against rados test suites where the luminous "min osd release" upgrade is performed at the end of the test (after fs new)?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It already is with the if "application_metadata"
check?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah I think this is right as is
Make sure it's writeable before invoking changes, and propose_pending() on it when we're done. Make the PaxosService::C_RetryMessage public so we can do this from FSCommands. Maybe- Fixes: http://tracker.ceph.com/issues/20959 Signed-off-by: Greg Farnum <gfarnum@redhat.com>
b542b37
to
9fb6c05
Compare
Signed-off-by: Greg Farnum <gfarnum@redhat.com>
9fb6c05
to
c85af7b
Compare
Testing Sage's EAGAIN-fixed ci build against the updated suite from above and it passed one fs test (http://pulpito.ceph.com/gregf-2017-08-10_18:16:59-fs-wip-20891-pool-metadata-distro-basic-smithi/), and going through the logs we're getting proper "application_metadata": "cephfs" output on the osd dump for the first time I've seen. Plus that means the python works now. Have a kraken upgrade test running at http://pulpito.ceph.com/gregf-2017-08-10_19:55:49-upgrade:kraken-x:parallel-wip-20891-pool-metadata-distro-basic-smithi/ |
@liewegas the upgrade suite passed 11/12 and failed on a Bluestore fsck crash. |
No description provided.