diff options
-rw-r--r-- | apex/overcloud/deploy.py | 10 | ||||
-rw-r--r-- | apex/tests/test_apex_overcloud_deploy.py | 8 |
2 files changed, 13 insertions, 5 deletions
diff --git a/apex/overcloud/deploy.py b/apex/overcloud/deploy.py index 0701c188..eb7aefa1 100644 --- a/apex/overcloud/deploy.py +++ b/apex/overcloud/deploy.py @@ -110,7 +110,7 @@ def build_sdn_env_list(ds, sdn_map, env_list=None): if env_list is None: env_list = list() for k, v in sdn_map.items(): - if ds['sdn_controller'] == k or (k in ds and ds[k] is True): + if ds['sdn_controller'] == k or (k in ds and ds[k]): if isinstance(v, dict): # Append default SDN env file first # The assumption is that feature-enabled SDN env files @@ -120,12 +120,12 @@ def build_sdn_env_list(ds, sdn_map, env_list=None): env_list.append(os.path.join(con.THT_ENV_DIR, v['default'])) env_list.extend(build_sdn_env_list(ds, v)) + # check if the value is not a boolean + elif isinstance(v, tuple): + if ds[k] == v[0]: + env_list.append(os.path.join(con.THT_ENV_DIR, v[1])) else: env_list.append(os.path.join(con.THT_ENV_DIR, v)) - # check if the value is not a boolean - elif isinstance(v, tuple): - if ds[k] == v[0]: - env_list.append(os.path.join(con.THT_ENV_DIR, v[1])) if len(env_list) == 0: try: env_list.append(os.path.join( diff --git a/apex/tests/test_apex_overcloud_deploy.py b/apex/tests/test_apex_overcloud_deploy.py index 54f95bb7..6898d36c 100644 --- a/apex/tests/test_apex_overcloud_deploy.py +++ b/apex/tests/test_apex_overcloud_deploy.py @@ -74,6 +74,14 @@ class TestOvercloudDeploy(unittest.TestCase): res = '/usr/share/openstack-tripleo-heat-templates/environments/test' assert_equal(build_sdn_env_list(ds, sdn_map), [res]) + def test_build_sdn_env_list_with_string(self): + ds = {'sdn_controller': 'opendaylight', + 'sriov': 'xxx'} + prefix = '/usr/share/openstack-tripleo-heat-templates/environments' + res = [os.path.join(prefix, 'neutron-opendaylight.yaml'), + os.path.join(prefix, 'neutron-opendaylight-sriov.yaml')] + assert_equal(build_sdn_env_list(ds, SDN_FILE_MAP), res) + def test_build_sdn_env_list_with_default(self): ds = {'sdn_controller': 'opendaylight', 'vpn': True} |