Show hostname instead of IP in errors

Signed-off-by: John Spray <john.spray@inktank.com>
Capture stderr and include in CommandFailedError

Signed-off-by: John Spray <john.spray@inktank.com>
Remove spurious print

This was causing junk output like <type 'exceptions.StopIteration'>

Signed-off-by: John Spray <john.spray@inktank.com>
Timestamp stdout log output

Signed-off-by: John Spray <john.spray@inktank.com>
Catch a case where we weren't getting tracebacks

Signed-off-by: John Spray <john.spray@inktank.com>
Log correct name of context during errors

(instead of GeneratorContextManager)

Signed-off-by: John Spray <john.spray@inktank.com>
Spelling

Signed-off-by: John Spray <john.spray@inktank.com>
Added some docstrings.

Fixes: 7002
Signed-off-by: Warren Usui <warren.usui@inktank.com>
Add doc strings to Swift tests

Fixes: 6538
Signed-off-by: Warren Usui <warren.usui@inktank.com>
Add docstrings to internal.py

Fixes: 6534
Signed-off-by: Warren Usui <warren.usui@inktank.com>
Readjust the indentation of mon_clock_skew_check.py and mon_thrash.py.
Added docstrings.

Fixes: 6537
Signed-off-by: Warren Usui <warren.usui@inktank.com>
misc.py: helper roles_to_remotes for generic use

roles_to_remotes will take a config key, 'roles' by default,
and search cluster.remotes for those roles, returning a list
of remotes that hold it.  The list is uniquified by default,
but that can be overridden.  So you can have a task that
should run on specific roles, configure it with
"roles: [mon.0 server.0 osd.2]", and call this to get a list
of remotes that contain those roles.

Signed-off-by: Dan Mick <dan.mick@inktank.com>
Add calamari setup/test tasks

Signed-off-by: Warren Usui <warren.usui@inktank.com>
Signed-off-by: Dan Mick <dan.mick@inktank.com>
Fix flake8 failures

Signed-off-by: Dan Mick <dan.mick@inktank.com>
Review: Rename calamari_testdir/ to calamari/
Review: refactor packaging routines to common file

Signed-off-by: Dan Mick <dan.mick@inktank.com>
Review: switch to selecting remotes by roles in the 'normal' way

This buys us, also, the ability to select remotes by rule, i.e.
"any osd or mon gets calamari-agent installed"

Signed-off-by: Dan Mick <dan.mick@inktank.com>
ceph.conf: mon osd allow primary affinity = true

Signed-off-by: Sage Weil <sage@inktank.com>
thrashosds: randomly adjust primary_affinity

Signed-off-by: Sage Weil <sage@inktank.com>
thrashosds: allow primary-affinity thrashing to be disabled

Signed-off-by: Sage Weil <sage@inktank.com>