Project

General

Profile

Actions

HOWTO run integration and upgrade tests » History » Revision 13

« Previous | Revision 13/40 (diff) | Next »
Loïc Dachary, 05/01/2015 10:11 AM


Scheduling a suite

This requires access to a running teuthology cluster, for instance the cluster from the sepia lab.

  • git clone https://github.com/ceph/teuthology/
  • cd teuthology
  • ./bootstrap
  • Test the suite with --dry-run, i.e. something like:
    ./virtualenv/bin/teuthology-suite --dry-run --filter-out btrfs,ext4 --priority 1000 --suite rados --suite-branch giant --machine-type plana,burnupi,mira --distro ubuntu --email loic@dachary.org --owner loic@dachary.org --ceph giant
    
  • Review the jobs to be scheduled and if it matches what is expected, run the same command without the --dry-run
  • Assuming the suite was run on the sepia lab, it will immediately show up at http://pulpito.ceph.com/ (for instance http://pulpito.ceph.com/loic-2015-03-27_09:57:09-upgrade:firefly-x:stress-split-erasure-code-hammer---basic-multi/). Note the loic-2015-03-27_09:57:09-upgrade:firefly-x:stress-split-erasure-code-hammer---basic-multi part of the path: it matches the run name displayed by teuthology-suite

The meaning of the teuthology-suite arguments are:

Scheduling a suite without error injection (thrashing, message failures...

In hammer rados suite generates more than a thousand jobs and it is too heavy for the purpose of validating a series of pull requests before they are merged into the stable release branch. The number of jobs can be reduced by:

  • not test btrfs and ext4 so only xfs remains ( --filter-out btrfs,ext4 )
  • removing the thrash and msg-failures yaml files and only keep the workload that verifies a run produces the expected result (see for instance this branch for the hammer rados suite)

For instance, the following

./virtualenv/bin/teuthology-suite --dry-run --priority 1000 --suite rados --suite-branch hammer --machine-type plana,burnupi,mira --distro ubuntu --email abhishek.lekshmanan@gmail.com --owner abhishek.lekshmanan@gmail.com  --ceph hammer-backports

generated 3224 jobs but the following
git clone -b wip-rados-no-thrash-hammer https://github.com/dachary/ceph-qa-suite.git /tmp/ceph-qa-suite
./virtualenv/bin/teuthology-suite --filter-out btrfs,ext4 --priority 1000 --suite rados --suite-dir /tmp/ceph-qa-suite --machine-type plana,burnupi,mira --distro ubuntu --email abhishek.lekshmanan@gmail.com --owner abhishek.lekshmanan@gmail.com  --ceph hammer-backports

generated 122 jobs.

Re-scheduling failed or dead jobs from an existing suite

  • Ask https://github.com/ceph/paddles (the server in which suite runs are stored) about the dead jobs
    run=loic-2015-03-23_01:09:31-rados-giant---basic-multi
    eval filter=$(curl --silent http://paddles.front.sepia.ceph.com/runs/$run/jobs/?status=dead | jq '.[].description' | while read description ; do echo -n $description, ; done | sed -e 's/,$//')
    

    or the fail jobs:
    run=loic-2015-03-23_01:09:31-rados-giant---basic-multi
    eval filter=$(curl --silent http://paddles.front.sepia.ceph.com/runs/$run/jobs/?status=fail | jq '.[].description' | while read description ; do echo -n $description, ; done | sed -e 's/,$//')
    
  • Re-run the suite using the same command line without --filter-out and with --filter "$filter" to only schedule the jobs described in the fitler variable
    ./virtualenv/bin/teuthology-suite --filter "$filter" --priority 1000 --suite rados --suite-branch giant --machine-type plana,burnupi,mira --distro ubuntu --email loic@dachary.org --owner loic@dachary.org --ceph giant
    

Killing a suite

  • if the run is scheduled but did not start yet:
    • if the suite was scheduled with --machine-type plana,burnupi,mira:
      ./virtualenv/bin/teuthology-kill -m multi -r loic-2015-03-27_09:57:09-upgrade:firefly-x:stress-split-erasure-code-hammer 
      
    • if the suite was scheduled with --machine-type vps
      ./virtualenv/bin/teuthology-kill -m vps -r loic-2015-03-27_09:57:09-upgrade:firefly-x:stress-split-erasure-code-hammer
      
  • if the run already started the -m option is not necessary
    ./virtualenv/bin/teuthology-kill -r loic-2015-03-27_09:57:09-upgrade:firefly-x:stress-split-erasure-code-hammer
    

Integration suites

Expected to be successfully run on the integration branch before asking approval to the leads (hence before asking QE to tests further)

rados
rgw
rbd
fs

QE suites

Expected to be successfully run on the release branch before passing it to the person publishing the release.

dumpling

rados
rbd
rgw
fs
ceph-deploy
upgrade/dumpling

firefly

rados
rbd
rgw
fs
krbd
kcephfs
samba
ceph-deploy
upgrade/firefly
upgrade/dumpling-firefly-x (to giant)
powercycle

giant

rados
rbd
rgw
fs
krbd
kcephfs
knfs
haddop
samba
rest
multimds
multi-version
upgrade/giant
powecycle

Updated by Loïc Dachary almost 9 years ago · 13 revisions