# Path: sahara_tests/version.py



import argparse
import collections
import os
import shutil
import subprocess
import sys
import tempfile
import os_client_config
import pkg_resources as pkg
import six
import yaml
from mako import template as mako_template
from oslo_utils import fileutils
from oslo_utils import uuidutils
from sahara_tests.scenario import validation
from sahara_tests import version
                    job = job_item

                # get the list of features, if defined
                job_features = set()
                if isinstance(job_item, dict):
                    job_features = set(job_item.get('features', []))
                # If a job has no features associated, it is always used.
                # Otherwise, it should be used only if any of its features
                # matches any of the features requested,
                if (not job_features or
                    (features_list is not None and
                     job_features.intersection(features_list))):
                    # the job is relevant for the configuration,
                    # so it must be defined; if it is not, it will break,
                    # so take note of the name
                    if job not in config['edp_jobs_flow']:
                        unknown_jobs.append(job)
                        continue
                    # job defined, it can be used
                    filtered_jobs.append(job)

            cluster['edp_jobs_flow'] = filtered_jobs
    if unknown_jobs:
        # Some jobs which are listed in some clusters
        # are not defined, stop here
        raise ValueError('Unknown jobs: %s' % (unknown_jobs))

    if verbose_run:
        six.print_("Generated configuration:\n%s" % (
            yaml.safe_dump(config,

# Path: sahara_tests/version.py



# Path: sahara_tests/scenario/utils.py
import argparse
import collections
import os
import shutil
import subprocess
import sys
import tempfile
import os_client_config
import pkg_resources as pkg
import six
import yaml
from mako import template as mako_template
from oslo_utils import fileutils
from oslo_utils import uuidutils
from sahara_tests.scenario import validation
from sahara_tests import version

                    job = job_item

                # get the list of features, if defined
                job_features = set()
                if isinstance(job_item, dict):
                    job_features = set(job_item.get('features', []))
                # If a job has no features associated, it is always used.
                # Otherwise, it should be used only if any of its features
                # matches any of the features requested,
                if (not job_features or
                    (features_list is not None and
                     job_features.intersection(features_list))):
                    # the job is relevant for the configuration,
                    # so it must be defined; if it is not, it will break,
                    # so take note of the name
                    if job not in config['edp_jobs_flow']:
                        unknown_jobs.append(job)
                        continue
                    # job defined, it can be used
                    filtered_jobs.append(job)

            cluster['edp_jobs_flow'] = filtered_jobs
    if unknown_jobs:
        # Some jobs which are listed in some clusters
        # are not defined, stop here
        raise ValueError('Unknown jobs: %s' % (unknown_jobs))

    if verbose_run:
        six.print_("Generated configuration:\n%s" % (
            yaml.safe_dump(config,

                           allow_unicode=True,