Fixed method names to be non-redundant (remote_mktemp in remote is
now just mktemp, for example), and made some parameters be more
self descriptive. Added some docstrings. Fixed sudo setting in
get_file method.
Made chmod independent of the actual sftp file getting.
Do not do extra file copy if non-sudo read is needed.
Fixed some parameter names. Made sure temp files are removed.
Paramiko 1.13.0 checks data in the Channel and fails if
invalid UTF-8 characters are sent. The teuthology/misc.py
functions that piped cat output (get_file) and piped tar
output (pull_directory and pull_directory_tarball) formerly
did not work for Paramiko 1.13.0.
Code was changed to use SFTPClient to copy raw data. The
remote_mktemp and function was changed to be a method of the
remote object. Remote object methods to copy files and write
tar files were also added.
In misc.py, get_file() was changed to be a wrapper around the
remote object call. Pull_directory() and pull_directory_tarball
were changed to use the remote object methods as well.
The remote methods used to send the data makes use of the
SFTPClient interface in Paramiko.
The remote_mktemp function was also modified slightly to insure
that new-lines do not appear in temp file names.
Fixes: 8116
Signed-off-by: Warren Usui <warren.usui@inktank.com>
Added ability to implement scrubbing while thrashing
(scrub_interval in config can be set to an interval
similar to how clean_interval is set). Defaults to 0,
which indicates that no scrubbing will take place.
Add scrub_interval description to thrashosds docstring.
Fixes: 7199
Signed-off-by: Warren Usui <warren.usui@inktank.com>
Change kvm reference to qemu-system-x86_64 and use raw format
in kvm/qemu command. Tested on both Trusty and Precise.
Fixes: 7825
Signed-off-by: Warren Usui <warren.usui@inktank.com>
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>
Using a small number of max entries is only needed for one test, so
make it configurable. Setting it too low makes s3tests fail.
Fixes http://tracker.ceph.com/issues/7742
Signed-off-by: Josh Durgin <josh.durgin@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>
As of https://github.com/ceph/ceph/pull/1477 the erasure code parameters
are controled via the osd erasure-code-profile set command instead of
being inlined and duplicated in the crush ruleset creation and the pool
creation. There is no need to create the crush ruleset, it is done
implicitly.
Signed-off-by: Loic Dachary <loic@dachary.org>