tasks: Use '_' instead of '-' in names

Python modules are not allowed to contain hyphens
in the name.  Using hyphens only works here because
we're using low level __import__.

Change run_tasks to replace '-' with '_' when reading
configs, and rename the task modules to have valid
python module names.

Aside from general hygiene, the motivation to do this
is to allow one task to build on code in another
task by importing it.

Signed-off-by: John Spray <john.spray@inktank.com>
task/ceph: separate ceph.conf into function

This is so that other tasks can modify ceph.conf
as needed.

Signed-off-by: John Spray <john.spray@inktank.com>
tasks/mds_journal_migration: create.

This is for testing the changes to CephFS
journal format, especially the migration
of journals from old to new format.

This is a teuthology task rather than being
a workunit script, because it involves
manipulating services and config during the
procedure.

Signed-off-by: John Spray <john.spray@inktank.com>
Merge pull request #259 from ceph/wip-journal-tool

mds_journal_migration task
updated the get_system_type function

updated the get_system_type function
to add the rpm condition for SUSE.

Signed-off-by: ksharma@suse.com
Merge pull request #263 from qakapil/patch-two

updated the get_system_type function
Correct logging when running teuthology-results

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Don't block on teuthology-results processes

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Bump log level to info

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
More verbose logging for daemon restarts

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Check for broken repos before updating

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Add comment explaining 'preexec_fn=os.setpgrp'

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Avoid piles of zombies

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Refactor teuthology.orchestra.run

RemoteProcess behaves more like subprocess.Popen, with some important
differences.

A summary of the API changes:
* RemoteProcess.exitstatus is either an int or None; it is never a callable
  nor a gevent.AsyncResult.
* New method: RemoteProcess.execute()
* New method: RemoteProcess.poll()
* New method: RemoteProcess.wait()
* New attribute: RemoteProcess.returncode - alias to exitstatus
* New property: RemoteProcess.finished - added because returncode can be None
  if the connection was interrupted
* run.execute() is removed.

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Update users of the teuthology.orchestra.run APIs

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Add RemoteProcess.__repr__()

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Give daemons a five-minute timeout for stopping

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Merge pull request #266 from ceph/wip-8489

Give daemons a five-minute timeout for stopping

Reviewed-by: Sage Weil <sage@inktank.com>
rbd: recognize 'randomize' parameter

randomize (default: false) randomizes xfstests test order.

Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
rbd: change test_script to run_xfstests_krbd.sh

Invoke run_xfstests.sh through a wrapper, which supplies an exclusion
list, in order to skip tests we don't want to run.

Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>