and '(remote,) = ctx.cluster.only(role).remotes.iterkeys()' would fail with
ValueError and no message if there were less than 0 or more than 1 key.
Now a new function, get_single_remote_value() is called which prints out
more understandable messages.
Fixes: 7510
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Signed-off-by: Warren Usui <warren.usui@inktank.com>
2014-03-20T23:30:28.964 ERROR:teuthology.contextutil:Saw exception from nested tasks
Traceback (most recent call last):
File "/home/teuthworker/teuthology-firefly/teuthology/contextutil.py", line 27, in nested
vars.append(enter())
File "/usr/lib/python2.7/contextlib.py", line 17, in __enter__
return self.gen.next()
File "/home/teuthworker/teuthology-firefly/teuthology/task/rgw.py", line 83, in ship_config
idle_timeout = conf.get('idle_timeout', 30)
AttributeError: 'NoneType' object has no attribute 'get'
This happens with job yamls like:
- rgw:
- client.0
(where it is a list and not a dict of clients)
Signed-off-by: Sage Weil <sage@inktank.com>
Ubuntu's default apache uses worker instead of prefork like rpm
based distro's. If rpm use httpd.worker instead of httpd so that
the -X behavior will not be blocked by a single request.
Signed-off-by: Sandon Van Ness <sandon@inktank.com>
The cd needs to happen at the beginning of the command, not at the end, or
else the funky wrapper scripts don't work right.
This also cleans up the command line construction a bit so that it is more
flexible, explicit, and hopefully less fragile.
Signed-off-by: Sage Weil <sage@inktank.com>
The rgw task deletes the region info
from the config structure. The s3tests
task needs this info, so we persist
it by sticking it in the ctx object.
Signed-off-by: Joe Buck <jbbuck@gmail.com>
Reviewd-by: Josh Durgin <josh.durgin@inktank.com>
The rgw.py task was extended to dynamically
assign port numbers to radosgateways.
This patch extends the radosgw-admin task
to use those ports rather than making out-dated
assumptions of port numbering.
Signed-off-by: Joe Buck <jbbuck@gmail.com>
Do not make the domain root pool the same
as the zone root pool. That causes sync issues.
Also, clarify a logging message.
Signed-off-by: Joe Buck <jbbuck@gmail.com>
In the example config, the region root and
zone root where pointing to the same pool,
which is not a best practice. Updated the
example to show them pointing to different pools.
Signed-off-by: Joe Buck <jbbuck@gmail.com>
When pulling region info from the config
structure, if the region info isn't there,
log a more helpful message.
Signed-off-by: Joe Buck <jbbuck@gmail.com>
Extend the rados pool configuration options to
specify all pools (if desired).
Also, reordered zone and region configuration
so that they're configure (per client) in
this order: zone, region, set default region
Signed-off-by: Joe Buck <jbbuck@gmail.com>
The log_data and log_metadata are made configurable
via the YAML file and default to false
(meaning neither data nor metadata operations are
logged).
Signed-off-by: Joe Buck <jbbuck@gmail.com>
The rgw task was failing to check for a None object
when parsing user info in the case where there were
config options set for the client that did not include
user info (e.g. valgrind: ).
Correcting a bug where specifying
a rgw server for a client but not specifying
a system user would throw an exception.
Signed-off-by: Joe Buck <jbbuck@gmail.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
The log_data and log_metadata are made configurable
via the YAML file and default to false
(meaning neither data nor metadata operations are
logged).
Signed-off-by: Joe Buck <jbbuck@gmail.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Fixes a bug where an rgw client without
a system user specified would cause teuthology
to error out.
Signed-off-by: Joe Buck <jbbuck@gmail.com>
Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
By separating out the user creation from
generating the region/zone info, we can generate
users for RGW tests that run against the default
pools.
Signed-off-by: Joe Buck <jbbuck@gmail.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
A 'user create' call was being passed to radosgw-admin
with '--secret-key' instead of the valid '--secret'
which was causing a random secret to be generated,
which was causing subsequent tests to fail.
Signed-off-by: Joe Buck <jbbuck@gmail.com>
fastcgi_sock dir needs to exist before radosgw starts, and apache-execed radosgw needs an explicit keyring argument.
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Only radosgw needs this option, and each one will be different, so
remove it from the ceph.conf template.
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Due to bug #5716, pools need to start with a '.' at present.
Updating the examples to follow this convention.
Signed-off-by: Joe Buck <jbbuck@gmail.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
The post-yield code in create_dirs needed to
be tweaked to correctly delete the {tdir}/apache
directory (if it exists) on each client.
Signed-off-by: Joe Buck <jbbuck@gmail.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Take client<->zone/region and the associated pools from ceph.conf, so
we don't have to invent a new format to specify it.
General region info is added to a new configuration section in the rgw
task. Each client is assumed to be a different zone, and a system user
is created with the key specified in the yaml, so it can be passed to
later task configuration as well. This isn't strictly necessary, but
avoids having to lookup this info in later tasks through something
like radosgw-admin.
Ports are allocated automatically because there's no obvious mapping
from host to client in the task configuration. Later tests can get the
endpoints desired by reading the region map.
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Six copies are replaced with one, with an added option to check status
automatically. This should probably be used in a few places where the
return code is ignored.
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>