Globally overriding the rgw idle_timeout is not possible because it it
needs to be done on a per client.0, client.1, etc. basis. Add the
default_idle_timeout key to the rgw config : it defaults to the
previously hardcoded default (30) and can be changed via the override.
The existing tasks that were previously overriding the idle_timeout on a
per client basis are changed to use the default_idle_timeout instead for
consistency and to allow a global override.
Signed-off-by: Loic Dachary <loic@dachary.org>
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/9027Fixes: #9027
Signed-off-by: Loic Dachary <loic@dachary.org>