rados.py: avoid CephManager creation race

gevent may hold the rados.py thread when it has an opportunity. The

   if not hasattr(ctx, 'manager'):

must therefore be immediately before the manager creation it is supposed
to protect. If any of the functions called as a side effect of

   first_mon = teuthology.get_first_mon(ctx, config)
   (mon,) = ctx.cluster.only(first_mon).remotes.iterkeys()

give gevent an opportunity to hold the thread, it creates a race
condition.

The other possibility would be use a ctx lock to protect the code, but
this solution seem simpler.

http://tracker.ceph.com/issues/9027 Fixes: #9027

Signed-off-by: Loic Dachary <loic@dachary.org>
Merge pull request #87 from dachary/wip-8988-default-idle-timeout

rgw: add default_idle_timeout to allow override
Merge pull request #86 from dachary/wip-9027-create-unique-pool

rados.py: avoid CephManager creation race
rest-api tests: enable debugging

Hoping to catch #9058

Signed-off-by: Sage Weil <sage@redhat.com>
rgw: s/idle_timeout/default_idle_timeout/

Signed-off-by: Loic Dachary <loic@dachary.org>