From f29aac19c4f1d16c8ebfed922d20dd84d757e51b Mon Sep 17 00:00:00 2001 From: David Ames Date: Fri, 18 Oct 2019 10:14:34 -0700 Subject: [PATCH 1/2] Handle OSCI environment variables Move to preferred TEST_* environment variables, while remaining backward compatible. --- .../utilities/test_zaza_utilities_generic.py | 25 +++++++++++- zaza/openstack/utilities/generic.py | 38 +++++++++++++------ 2 files changed, 50 insertions(+), 13 deletions(-) diff --git a/unit_tests/utilities/test_zaza_utilities_generic.py b/unit_tests/utilities/test_zaza_utilities_generic.py index 4aa73f6..1d9d686 100644 --- a/unit_tests/utilities/test_zaza_utilities_generic.py +++ b/unit_tests/utilities/test_zaza_utilities_generic.py @@ -141,7 +141,30 @@ class TestGenericUtils(ut_utils.BaseTestCase): self.assertEqual(generic_utils.get_undercloud_env_vars(), _expected_result) - # Overriding configure.network named variables + # Prefered OSCI TEST_ env vars + _env = {"NET_ID": "netid", + "NAMESERVER": "10.0.0.10", + "GATEWAY": "10.0.0.1", + "CIDR_EXT": "10.0.0.0/24", + "FIP_RANGE": "10.0.200.0:10.0.200.254", + "TEST_NET_ID": "test_netid", + "TEST_NAMESERVER": "10.9.0.10", + "TEST_GATEWAY": "10.9.0.1", + "TEST_CIDR_EXT": "10.9.0.0/24", + "TEST_FIP_RANGE": "10.9.200.0:10.0.200.254"} + _expected_result = {} + _expected_result["net_id"] = _env["TEST_NET_ID"] + _expected_result["external_dns"] = _env["TEST_NAMESERVER"] + _expected_result["default_gateway"] = _env["TEST_GATEWAY"] + _expected_result["external_net_cidr"] = _env["TEST_CIDR_EXT"] + _expected_result["start_floating_ip"] = _env[ + "TEST_FIP_RANGE"].split(":")[0] + _expected_result["end_floating_ip"] = _env[ + "TEST_FIP_RANGE"].split(":")[1] + self.assertEqual(generic_utils.get_undercloud_env_vars(), + _expected_result) + + # Overriding local configure.network named variables _override = {"start_floating_ip": "10.100.50.0", "end_floating_ip": "10.100.50.254", "default_gateway": "10.100.0.1", diff --git a/zaza/openstack/utilities/generic.py b/zaza/openstack/utilities/generic.py index 856e036..2c81b88 100644 --- a/zaza/openstack/utilities/generic.py +++ b/zaza/openstack/utilities/generic.py @@ -139,21 +139,35 @@ def get_undercloud_env_vars(): :returns: Network environment variables :rtype: dict """ - # Handle backward compatibile OSCI enviornment variables + # Handle OSCI environment variables + # Over time we have changed the names of prefixes. Try them all in + # ascending order of significance. + # Note: TEST_* is the preferred prefix + _prefixes = ["AMULET_", "MOJO_", "OS_", "", "TEST_"] _vars = {} - _vars['net_id'] = os.environ.get('NET_ID') - _vars['external_dns'] = os.environ.get('NAMESERVER') - _vars['default_gateway'] = os.environ.get('GATEWAY') - _vars['external_net_cidr'] = os.environ.get('CIDR_EXT') + for prefix in _prefixes: + if os.environ.get('{}NET_ID'.format(prefix)) is not None: + _vars['net_id'] = os.environ.get('{}NET_ID'.format(prefix)) + if os.environ.get('{}NAMESERVER'.format(prefix))is not None: + _vars['external_dns'] = os.environ.get( + '{}NAMESERVER'.format(prefix)) + if os.environ.get('{}GATEWAY'.format(prefix)) is not None: + _vars['default_gateway'] = os.environ.get( + '{}GATEWAY'.format(prefix)) + if os.environ.get('{}CIDR_EXT'.format(prefix)) is not None: + _vars['external_net_cidr'] = os.environ.get( + '{}CIDR_EXT'.format(prefix)) - # Take FIP_RANGE and create start and end floating ips - _fip_range = os.environ.get('FIP_RANGE') - if _fip_range and ':' in _fip_range: - _vars['start_floating_ip'] = os.environ.get('FIP_RANGE').split(':')[0] - _vars['end_floating_ip'] = os.environ.get('FIP_RANGE').split(':')[1] + # Take FIP_RANGE and create start and end floating ips + _fip_range = os.environ.get('{}FIP_RANGE'.format(prefix)) + if _fip_range is not None and ':' in _fip_range: + _vars['start_floating_ip'] = os.environ.get( + '{}FIP_RANGE'.format(prefix)).split(':')[0] + _vars['end_floating_ip'] = os.environ.get( + '{}FIP_RANGE'.format(prefix)).split(':')[1] - # Env var naming consistent with zaza.openstack.configure.network - # functions takes priority. Override backward compatible settings. + # zaza.openstack.configure.network functions variables still take priority + # for local testing. Override OSCI settings. _keys = ['default_gateway', 'start_floating_ip', 'end_floating_ip', From 13fa5e9851d48e26557a18d014ea51a440acaa25 Mon Sep 17 00:00:00 2001 From: David Ames Date: Fri, 18 Oct 2019 11:26:37 -0700 Subject: [PATCH 2/2] Only use TEST_ prefix --- .../utilities/test_zaza_utilities_generic.py | 16 --------- zaza/openstack/utilities/generic.py | 35 +++++++------------ 2 files changed, 12 insertions(+), 39 deletions(-) diff --git a/unit_tests/utilities/test_zaza_utilities_generic.py b/unit_tests/utilities/test_zaza_utilities_generic.py index 1d9d686..f2b3365 100644 --- a/unit_tests/utilities/test_zaza_utilities_generic.py +++ b/unit_tests/utilities/test_zaza_utilities_generic.py @@ -125,22 +125,6 @@ class TestGenericUtils(ut_utils.BaseTestCase): return _env.get(key) self.get.side_effect = _get_env - # OSCI backward compatible env vars - _env = {"NET_ID": "netid", - "NAMESERVER": "10.0.0.10", - "GATEWAY": "10.0.0.1", - "CIDR_EXT": "10.0.0.0/24", - "FIP_RANGE": "10.0.200.0:10.0.200.254"} - _expected_result = {} - _expected_result["net_id"] = _env["NET_ID"] - _expected_result["external_dns"] = _env["NAMESERVER"] - _expected_result["default_gateway"] = _env["GATEWAY"] - _expected_result["external_net_cidr"] = _env["CIDR_EXT"] - _expected_result["start_floating_ip"] = _env["FIP_RANGE"].split(":")[0] - _expected_result["end_floating_ip"] = _env["FIP_RANGE"].split(":")[1] - self.assertEqual(generic_utils.get_undercloud_env_vars(), - _expected_result) - # Prefered OSCI TEST_ env vars _env = {"NET_ID": "netid", "NAMESERVER": "10.0.0.10", diff --git a/zaza/openstack/utilities/generic.py b/zaza/openstack/utilities/generic.py index 2c81b88..e04ae34 100644 --- a/zaza/openstack/utilities/generic.py +++ b/zaza/openstack/utilities/generic.py @@ -140,31 +140,20 @@ def get_undercloud_env_vars(): :rtype: dict """ # Handle OSCI environment variables - # Over time we have changed the names of prefixes. Try them all in - # ascending order of significance. - # Note: TEST_* is the preferred prefix - _prefixes = ["AMULET_", "MOJO_", "OS_", "", "TEST_"] + # Note: TEST_* is the only prefix honored _vars = {} - for prefix in _prefixes: - if os.environ.get('{}NET_ID'.format(prefix)) is not None: - _vars['net_id'] = os.environ.get('{}NET_ID'.format(prefix)) - if os.environ.get('{}NAMESERVER'.format(prefix))is not None: - _vars['external_dns'] = os.environ.get( - '{}NAMESERVER'.format(prefix)) - if os.environ.get('{}GATEWAY'.format(prefix)) is not None: - _vars['default_gateway'] = os.environ.get( - '{}GATEWAY'.format(prefix)) - if os.environ.get('{}CIDR_EXT'.format(prefix)) is not None: - _vars['external_net_cidr'] = os.environ.get( - '{}CIDR_EXT'.format(prefix)) + _vars['net_id'] = os.environ.get('TEST_NET_ID') + _vars['external_dns'] = os.environ.get('TEST_NAMESERVER') + _vars['default_gateway'] = os.environ.get('TEST_GATEWAY') + _vars['external_net_cidr'] = os.environ.get('TEST_CIDR_EXT') - # Take FIP_RANGE and create start and end floating ips - _fip_range = os.environ.get('{}FIP_RANGE'.format(prefix)) - if _fip_range is not None and ':' in _fip_range: - _vars['start_floating_ip'] = os.environ.get( - '{}FIP_RANGE'.format(prefix)).split(':')[0] - _vars['end_floating_ip'] = os.environ.get( - '{}FIP_RANGE'.format(prefix)).split(':')[1] + # Take FIP_RANGE and create start and end floating ips + _fip_range = os.environ.get('TEST_FIP_RANGE') + if _fip_range is not None and ':' in _fip_range: + _vars['start_floating_ip'] = os.environ.get( + 'TEST_FIP_RANGE').split(':')[0] + _vars['end_floating_ip'] = os.environ.get( + 'TEST_FIP_RANGE').split(':')[1] # zaza.openstack.configure.network functions variables still take priority # for local testing. Override OSCI settings.