task/ceph: move set_max_mds into cephfs_setup

Move the calculation of active MDS count out
of the generic service setup and into the
filesystem setup.

Fixes: #8750

Signed-off-by: John Spray <john.spray@redhat.com>
task/ceph_manager: generalize admin_socket calls

This is so that tasks can access the admin sockets
of other service types such as the MDS.

Signed-off-by: John Spray <john.spray@redhat.com>
run_tasks: catch malformed task case

If you do something like this:

- foo:
- bar:
- baz

Then catching AttributeError is necessary for giving a somewhat
friendlier error on the 'baz' where we have a string instead
of a dict.

Signed-off-by: John Spray <john.spray@redhat.com>
nuke: fix unmounted multiple fuse mount points

It was trying to pass multiple paths to fusermount, but
it should instead invoke fusermount for each path.

Signed-off-by: John Spray <john.spray@redhat.com>
task/ceph: add option to avoid doing scrub

When iterating on test in development, it's useful
to be able to skip this step.

Signed-off-by: John Spray <john.spray@redhat.com>
documentation typo

Signed-off-by: Loic Dachary <loic@dachary.org>
watch-suite.sh: new syntax

Signed-off-by: Sage Weil <sage@inktank.com>
Add test for config substitution

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Use a dict for a job template instead of a string.

This makes later modifications far easier.

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Update existing unit test, and add another.

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Make teuthology.config *far* more robust

In addition to parsing its configuration from a yaml file, it can now be
created from a dict. It can also be dumped as a dict, or as a yaml
stream. It is also now split into multiple classes so that the same
implementation can be used for job configs, and not just as a proxy for
~/.teuthology.yaml.

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Use the new JobConfig object

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Store the suite_branch in the job config

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Add src_base_path to defaults.

Defaults to ~/src

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Use config.src_base_path

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Clone ceph-qa-suite and add it to PYTHONPATH

So that teuthology runs can find their tasks

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Tweak fetch_teuthology_branch()

Specifically, make it match fetch_qa_suite()'s behavior.

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