ceph/teuthology
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
..
locker Update keys if they have changed before locking 2013-06-27 14:08:09 -07:00
orchestra Fix undefined symbol errors 2013-08-27 15:58:14 -07:00
task s3tests: extend for multi-region tests 2013-08-28 09:01:16 -07:00
task_util move multi_region_enabled() into util class 2013-08-28 08:59:15 -07:00
test Added get_distro() to misc.py 2013-07-25 14:45:02 -07:00
__init__.py
ceph.conf.template ceph.conf.template: add osd_debug_pg_log_writeout = true 2013-08-27 18:48:48 -07:00
config.py Don't return inside __init__ 2013-08-28 11:36:36 -05:00
contextutil.py
coverage.py coverage: note db table structure 2012-10-24 16:11:12 -07:00
lock.py Display error message when locking a vpm fails due to downburst errors. 2013-08-16 16:23:09 -07:00
lockstatus.py Support added for running scheduled tasks on virtual machines. 2013-06-07 19:32:15 -07:00
misc.py Add get_test_user(), because hardcoding is bad 2013-08-20 16:25:25 -05:00
nuke.py nuke: clean up stray firmware.git locks 2013-08-23 09:00:47 -07:00
parallel.py Don't lose tracebacks of exceptions raised in a greenlet. 2012-09-11 11:25:21 -07:00
queue.py Fix undefined symbol errors 2013-08-27 15:58:14 -07:00
run_tasks.py Avoid double slashes in sentry event URL 2013-08-26 18:12:20 -05:00
run.py Merge remote-tracking branch 'origin/wip-sandon-vm' 2013-07-25 19:50:02 -07:00
safepath.py
sentry.py Tweak logging 2013-08-26 16:17:31 -05:00
suite.py suite: generalize collection expansion 2013-08-28 13:25:36 -07:00