Use a more informative variable name for dest_path

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Move repo checkout code to new module repo_utils

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

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

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Handle ceph-qa-suite checkouts

Previously we had an internally-maintained shell script that did this.

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Also handle teuthology repo checkouts

Our shell script did this also.

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Use 'ceph-qa-suite.git' for the repo name

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Add unit tests for repo_utils

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Improve missing branch detection and logging

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Add a note about teuthology scheduling

Specifically, that we always schedule using the master branch.

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Drop a "fix" for a bug that probably never existed

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

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
task/ceph: Invoke newfs for CephFS as needed

New ceph versions will no longer create the
CephFS pools and will not enable the filesystem
by default.  This change adds an explicit step
to the cluster initialization to create the
filesystem if it doesn't already exist.

Signed-off-by: John Spray <john.spray@inktank.com>
task: update 'newfs' users to 'fs new'

Signed-off-by: John Spray <john.spray@redhat.com>
Split up repo helper into separate functions

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
daemon-helper: optional kill an entire process group

Signed-off-by: Sage Weil <sage@inktank.com>
background_exec: run something in the background

This is a contextmanager task that will run some command in the background
for the duration of any subsequent tasks, and kill it in the cleanup
phase.

Signed-off-by: Sage Weil <sage@inktank.com>
Merge pull request #233 from ceph/wip-background

run something in the background
erasure-code: separate profile from pool creation

Instead of being hard coded, the erasure code profile is read from yaml
as:

    erasure_code_profile:
      name: teuthologyprofile
      k: 2
      m: 1
      ruleset-failure-domain: osd

Which translates into

    ceph osd erasure-code-profile set teuthologyprofile \
        k=2 m=1 ruleset-failure-domain=osd

The semantic of k/m etc. depends on the erasure code plugin, but it is
common to use k as the dividing factor for each object and m as the
number of coding chunks.

Using a different set of parameters or a different plugin can
be done without modifying the teuthology code:

    erasure_code_profile:
      name: LRCprofile
      plugin: LRC
      mapping: __DD__DD
      layers: [[ "_cDD_cDD", "" ], [ "cDDD____", "" ], [ "____cDDD", ""]]

For backward compatibility, the default erasure code profile is set to

      k: 2
      m: 1
      ruleset-failure-domain: osd

which matches the previously hardcoded default of the corresponding
functions.

Signed-off-by: Loic Dachary <loic@dachary.org>
Run unit tests offline

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