Commit Graph

83 Commits

Author SHA1 Message Date
Zack Cerza
d83912e0bf If duration is missing from summary.yaml, use 0 2013-09-18 14:08:23 -05:00
Zack Cerza
61ddeb6a03 Revert "suite: don't schedule follow-on summary job for an empty run"
This reverts commit a2b7c72896.
2013-09-17 13:47:42 -05:00
Sage Weil
4520c5f6f5 suite: do not calculate product on an empty list (take 2)
The original attempt to fix this with dda7954090
failed because I screwed up the indentation for the out.append(...) line.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-09-16 20:22:09 -07:00
Zack Cerza
e65d6e2a00 Revert "suite: do not calculate product on an empty list"
This reverts commit dda7954090.

This commit was causing the number of jobs scheduled per suite to be
multiplied by anywhere from 2 to 7 or more.
2013-09-16 18:33:21 -05:00
Alfredo Deza
568eccf86e Merge pull request #91 from ceph/wip-suite
suite: do not calculate product on an empty list
2013-09-13 08:41:35 -07:00
Sage Weil
a2b7c72896 suite: don't schedule follow-on summary job for an empty run
Signed-off-by: Sage Weil <sage@inktank.com>
2013-09-13 08:39:30 -07:00
Sage Weil
5a083894e0 suite: be verbose about how many jobs we generate
Signed-off-by: Sage Weil <sage@inktank.com>
2013-09-13 08:39:13 -07:00
Sage Weil
dda7954090 suite: do not calculate product on an empty list
This fixes a bug where a directory with just % generates a
bogus job item with no actual content.  (e.g.,

$ find basic
basic
basic/%
$ teuthology-suite --dry-run --base . --collections basic --name foo
INFO:teuthology.suite:Collection basic in ./basic
INFO:teuthology.suite:configs [('basic/{}', [])]

...which then blows up because the job yaml is empty.  With
the fix, there are no generated jobs:

$ teuthology-suite --dry-run --base . --collections basic --name foo
INFO:teuthology.suite:Collection basic in ./basic
INFO:teuthology.suite:configs []

(The configs print was temporarily added for debugging
purposes.)

Signed-off-by: Sage Weil <sage@inktank.com>
2013-09-13 08:22:12 -07:00
Zack Cerza
31f0f7ad7e Fix get_http_log_path(), update callers, add tests 2013-09-12 17:28:50 -05:00
Zack Cerza
4699ad1c11 Don't "import misc as teuthology" 2013-09-11 10:50:42 -05:00
Zack Cerza
c1ba276321 Move get_http_log_path 2013-09-11 10:50:42 -05:00
Zack Cerza
89f1139d83 Append '/' to the end of the log directory path 2013-09-04 15:16:33 -05:00
Zack Cerza
f36f16a669 Logs and Sentry links are public now. 2013-09-03 13:46:31 -05:00
Zack Cerza
3981a8f1af Never use 'except:' without specifying an Exception. 2013-08-30 11:10:05 -05:00
Zack Cerza
24991c4ae0 Add hung job description to email 2013-08-29 17:08:51 -05:00
Sage Weil
4fbec83490 suite: return [] for build_matrix base case
This gives us an empty list instead of a crash on an empty dir
or bad symlink

Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-28 21:53:41 -07:00
Alfredo Deza
d3f1369812 Merge pull request #60 from ceph/sentry
Add run name to first line of email.
2013-08-28 18:52:29 -07:00
Zack Cerza
df73f503a3 Add run name to first line of email. 2013-08-28 15:41:14 -05:00
Sage Weil
7ce6696249 suite: build_matrix as a list of filenames, not file content
Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-28 13:25:36 -07:00
Sage Weil
7163e89b83 suite: allow individual files to be scheduled
Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-28 13:25:36 -07:00
Sage Weil
b829543388 suite: generalize collection expansion
Previous, a collection was a directory like this:

 mycollection/
 mycollection/facet1/
 mycollection/facet1/1a.yaml
 mycollection/facet1/1b.yaml
 mycollection/facet2/
 mycollection/facet2/2a.yaml
 mycollection/facet3/
 mycollection/facet3/3a.yaml
 mycollection/facet3/3b.yaml

and this would expand to

 1a + 2a + 3a
 1a + 2a + 3b
 1b + 2a + 3a
 1b + 2a + 3b

The fixed directory depth and requirement for a subdir even
when there is only 1 item is annoying.  Instead, allow an
arbitrary directory structure, with the following rules:

 - a .yaml file is a taken as-is (duh); other files still
   ignored
 - a directory is normally just a way to organize files.  We
   recursively descend and build a list of what we fine.
 - a directory with a '%' file in it is special:
     - take the product of every item in the dir (much like
       we did before)
 - a directory with a '+' file in it is special:
     - concatenate everything in the dir into one job

Note that this is equivalent to the previous structure if we
do:

 for facet in mycollection/* ; do touch $facet/% ; done

We can clean up slightly be taking any dir with only one yaml
file in it and replacing the dir with the bare .yaml.

Once this is done, we can reorganize directories however we
like.

Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-28 13:25:36 -07:00
Sage Weil
8314140dd6 suite: clean up imports
Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-28 11:41:31 -07:00
Sage Weil
2dd889e4fd suite: make collection args (optionally) relative to a base dir
Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-28 11:40:42 -07:00
Sage Weil
802fa51dae suite: make names a bit more friendly
Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-28 11:40:41 -07:00
Sage Weil
8894ff6b9f suite: add --dry-run
Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-28 11:40:41 -07:00
Alfredo Deza
a472f5017a Merge pull request #54 from ceph/sentry
Add logs and Sentry events to suite emails
2013-08-28 09:38:20 -07:00
Zack Cerza
53cea02a00 Add apology for non-public links 2013-08-28 11:15:27 -05:00
Zack Cerza
25defd40cc Indent wrapped exceptions. 2013-08-28 11:12:10 -05:00
Zack Cerza
6afb238aba Time is an integer, in seconds. 2013-08-27 17:26:46 -05:00
Zack Cerza
dfdac24f27 Make email formatting way, way nicer. 2013-08-27 17:22:27 -05:00
Zack Cerza
eb585d19a7 Move job listing logic to get_jobs() 2013-08-27 14:51:27 -05:00
Zack Cerza
0503803111 Add sentry events to suite email. 2013-08-26 17:21:48 -05:00
Zack Cerza
6f00939053 Use os.path.join, not urlparse.urljoin 2013-08-26 16:17:31 -05:00
Zack Cerza
300374bb07 For failures, add http links to log directories. 2013-08-26 16:17:31 -05:00
Zack Cerza
12cb686070 Rewrite email-generating code. 2013-08-26 16:17:31 -05:00
Sandon Van Ness
c107adeb68 Fix for blank yaml.
As well as fix variabl variable naming.
2013-08-23 10:38:13 -07:00
Sage Weil
f8f4c2d0e4 suite: only skip on non-vps if os-type is actually defined
If it's not defined, as it is (not) with most of the nightlies,
proceed!

Signed-off-by: Sage Weil <sage@inktank.com>
2013-08-22 22:18:55 -07:00
Sandon Van Ness
dad8d1aa3a Do not run multiple tests (for distros) on baremetal.
Teuthology doesnt care about os_type for baremetal (ATM). This
change makes it so you can run tests that have been switched over
to run on multiple distros (on vms) on baremetal as well as all
non-ubuntu tests will be skiped (to avoid running the same test
multiple times on baremetal.

Signed-off-by: Sandon Van Ness <sandon@inktank.com>
2013-08-22 19:36:46 -07:00
Sandon Van Ness
2ea841cdd3 Allow exclude_arch and exclude_os_type in qa-suite yamls
Adding the option:

exclude_arch:

or

exclude_os_type:

in the ceph-qa-suite yaml allows tests to be skipped for certain
types of hardware or distros.

Example:

exclude_arch: armv7l

This will make said test not run on arm machines.

exclude_os_type: rhel

Would make multi-distro tests skip a specific test on RHEL.
2013-08-22 19:36:37 -07:00
Sandon Van Ness
5f9a1d8a0f Worker processes by machine type instead of teuthology branch.
teuthology-suite and schedulewill now take --worker instead of
--branch. The branch is set by setting teuthology_branch in the
yaml used to schedule the job.

The teuthology branches are assumed to be in ~/teuthology-$branch
of whatever user is running the workers.
2013-07-18 12:04:08 -07:00
Sage Weil
66e27fa589 suite: shorten subject a bit
Signed-off-by: Sage Weil <sage@inktank.com>
2013-03-19 12:12:56 -07:00
Sander Pool
69e613f053 Starting to auto-document this code. 2012-11-14 17:24:50 -08:00
tamil
d94821244c Printing the number of tests passed when 'all' tests are successful
Signed-off-by: tamil <tamil.muthamizhan@inktank.com>
2012-10-05 17:33:57 -07:00
Josh Durgin
a09153b688 Allow scheduled jobs to use different teuthology branches
teuthology-[schedule|suite] get a parameter to specify the branch,
to put the job in a branch-specific queue. Workers running that
branch of teuthology can pull jobs from that queue.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
2012-09-21 17:16:56 -07:00
Sage Weil
042edcbe1e schedule/suite: schedule job, suite N times 2012-07-14 13:51:51 -07:00
Josh Durgin
218b69246f teuthology-ls: tolerate non-existent 'success' key in summary file 2012-06-20 10:13:48 -07:00
Sage Weil
22b1f17f78 ls: another newline 2012-04-10 08:59:47 -07:00
Sage Weil
7757fbb9bd ls: remote stray newline 2012-04-10 08:57:19 -07:00
Josh Durgin
6f0f250b26 suite: add missing print statement 2012-03-21 12:00:55 -07:00
Josh Durgin
8a9a567067 suite: fix print statement when summary doesn't exist 2012-03-21 11:58:17 -07:00