ceph_test_rados_api_misc: fix LibRadosMiscPool.PoolCreationRace
This test is trying to reproduce a case where we don't have a session
for the given OSD, drop our big lock to open one, and when we retake the
osdmap has changed. Previously that was an easy situation to reproduce
by creating an ioctx for a pool that didn't exist (yet) and then creating
it. The missing pool would send us into the path that rechecks for an
updated osdmap and trigger the race condition.
However, as of
7037cf8f77588aba1e3f251e04f696da0eccf462 we no longer create
ioctxs for pools that don't exist. And there isn't an easy way that I can
think of to trigger the missing osd session that races with an osdmap
update. So, use the debug option that injects the delay to drop us into
the same path. This is a bit artificial in that we do actually have an
osdmap session, but the block handles that case (since the old no pool
case worked that way), so we cover the same code.
This fix ignores the fact that we still have all this "pool doesn't exist"
handling code in Objecter that deals with teh fact that you could create
an ioctx for a missing pool...that is no longer possible. Cleanup for
another day!
Fixes: http://tracker.ceph.com/issues/24150
Signed-off-by: Sage Weil <sage@redhat.com>