cbe7769 handling scheduling of jobs for multiple images

Authored and Committed by adamwill 9 years ago
    handling scheduling of jobs for multiple images
    
    This handles scheduling of jobs for more than one type of
    image; currently we'll run tests for Workstation live as well.
    It requires some cleverness to run some tests for *all* images
    (currently just default_boot_and_install) but run all the tests
    that can be run with any non-live installer image with the best
    image available for the compose. We introduce a special (openQA,
    not fedfind) 'flavor' called 'universal'; we run a couple of
    checks to find the best image in the compose for running the
    universal tests, and schedule tests for the 'universal' flavor
    with that image. The 'best' image is a server or 'generic' DVD
    if possible, and if not, a server or 'generic' boot.iso.
    
    ISO files have the compose's version identifier prepended to
    their names. Otherwise they retain their original names, which
    should usually be unique within a given compose, except for
    boot.iso files, which have their payload and arch added into
    their names to ensure they don't overwrite each other.
    
    This also adds a mechanism for TESTCASES (in conf_test_suites)
    to define a callback which will be called with the flavor of
    the image being tested; the result of the callback will be used
    as the 'test name' for relval result reporting purposes. This
    allows us to report results against the correct 'test instance'
    for the image being tested, for tests like Boot_default_install
    which have 'test instances' for each image. We can extend this
    general approach in future for other cases where we have
    multiple 'test instances' for a single test case.