Handle OSCI environment variables

Move to preferred TEST_* environment variables, while remaining backward
compatible.
This commit is contained in:
David Ames
2019-10-18 10:14:34 -07:00
parent 4e89293459
commit f29aac19c4
2 changed files with 50 additions and 13 deletions

View File

@@ -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",

View File

@@ -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',