import docopt import teuthology.suite doc = """ usage: teuthology-suite [-h] teuthology-suite --suite [options] [...] Run a suite of ceph integration tests. A suite is a directory containing facets. A facet is a directory containing config snippets. Running a suite means running teuthology for every configuration combination generated by taking one config snippet from each facet. Any config files passed on the command line will be used for every combination, and will override anything in the suite. By specifying a subdirectory in the suite argument, it is possible to limit the run to a specific facet. For instance -s upgrade/dumpling-x only runs the dumpling-x facet of the upgrade suite. Miscellaneous arguments: -h, --help Show this help message and exit -v, --verbose Be more verbose --dry-run Do a dry run; do not schedule anything Standard arguments: Optional extra job yaml to include -s , --suite The suite to schedule -c , --ceph The ceph branch to run against [default: master] -k , --kernel The kernel branch to run against [default: testing] -f , --flavor The kernel flavor to run against: ('basic', 'gcov', 'notcmalloc') [default: basic] -t , --teuthology-branch The teuthology branch to run against [default: master] -m , --machine-type Machine type [default: plana] -d , --distro Distribution to run against [default: ubuntu] --suite-branch Use this suite branch instead of the ceph branch --suite-dir Use this alternative directory as-is when assembling jobs from yaml fragments. This causes to be ignored. Scheduler arguments: --owner Job owner -e , --email When tests finish or time out, send an email here. May also be specified in ~/.teuthology.yaml as 'results_email' -N , --num Number of times to run/queue the job [default: 1] -l , --limit Queue at most this many jobs [default: 0] -p , --priority Job priority (lower is sooner) [default: 1000] --timeout How long, in seconds, to wait for jobs to finish before sending email. This does not kill jobs. [default: 32400] """ def main(): args = docopt.docopt(doc) teuthology.suite.main(args)