コード例 #1
0
ファイル: util.py プロジェクト: yongseokoh/teuthology
def get_install_task_flavor(job_config):
    """
    Pokes through the install task's configuration (including its overrides) to
    figure out which flavor it will want to install.

    Only looks at the first instance of the install task in job_config.
    """
    project, = job_config.get('project', 'ceph'),
    tasks = job_config.get('tasks', dict())
    overrides = job_config.get('overrides', dict())
    install_overrides = overrides.get('install', dict())
    project_overrides = install_overrides.get(project, dict())
    first_install_config = dict()
    for task in tasks:
        if list(task.keys())[0] == 'install':
            first_install_config = list(task.values())[0] or dict()
            break
    first_install_config = copy.deepcopy(first_install_config)
    deep_merge(first_install_config, install_overrides)
    deep_merge(first_install_config, project_overrides)
    return get_flavor(first_install_config)
コード例 #2
0
 def test_get_flavor_simple(self):
     config = dict(
         flavor='notcmalloc'
     )
     assert install.get_flavor(config) == 'notcmalloc'
コード例 #3
0
 def test_get_flavor_valgrind(self):
     config = dict(
         valgrind=True
     )
     assert install.get_flavor(config) == 'notcmalloc'
コード例 #4
0
 def test_get_flavor_default(self):
     config = dict()
     assert install.get_flavor(config) == 'basic'