Skip to content
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

Merged
merged 3 commits into from Aug 11, 2017

Conversation

gregsfortytwo
Copy link
Member

No description provided.

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
@gregsfortytwo
Copy link
Member Author

So far I just turned on a vstart cluster. I have no confidence at all in my qa suite python update.

@gregsfortytwo
Copy link
Member Author

retest this please

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;
Copy link
Member

Choose a reason for hiding this comment

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

-EAGAIN

Copy link
Member

@liewegas liewegas left a 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!".\

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)?

Copy link
Member Author

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?

Copy link
Member

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>
Signed-off-by: Greg Farnum <gfarnum@redhat.com>
@gregsfortytwo
Copy link
Member Author

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/

@gregsfortytwo
Copy link
Member Author

@liewegas the upgrade suite passed 11/12 and failed on a Bluestore fsck crash.

@liewegas liewegas changed the title Improve the "fs new" pool metadata update paths and qa checks mon: fix "fs new" pool metadata update, tests Aug 11, 2017
@liewegas liewegas merged commit 22a46aa into ceph:master Aug 11, 2017
@gregsfortytwo gregsfortytwo deleted the wip-20891-pool-metadata branch August 11, 2017 14:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants