Add exception hook to teuthology-worker

Workers processes are dying occasionally, and this should cause the
exceptions to be logged.

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

Add exception hook to teuthology-worker
Process queued jobs synchronously

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Set results_server by default

So that queued jobs get pushed to paddles

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Don't crash when an invalid branch is passed

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
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>