We have a collectin of bugs that we haven't been able to
reproduce but crop up regularly in the nightlies. Sam's best
guess is a dropped message, so let's try to catch that.
Signed-off-by: Sage Weil <sage@inktank.com>
If the user feeds in a yaml with targets, the worker will launch the job
but fail with
2013-09-03T11:18:34.333 CRITICAL:root:AssertionError: You cannot specify targets in a config file when using the --lock option
Just strip them out before scheduling. This eases my personal workflow
where I have a test I'm running manually against some prelocked machines
but also want to schedule it.
Signed-off-by: Sage Weil <sage@inktank.com>
This makes a run with --lock hang when connecting, for some
reason. E.g.,
$ teuthology -v a.yaml --lock
...
INFO:teuthology.task.internal:Opening connections...
DEBUG:teuthology.task.internal:connecting to ubuntu@plana06.front.sepia.ceph.com
<hangs>
No clue what is going on here, but this fixes it!
Signed-off-by: Sage Weil <sage@inktank.com>
Mangle the name (/ -> :) in the run name. Separate base from
relative path so that the job names don't include a full path.
Signed-off-by: Sage Weil <sage@inktank.com>
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>