summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMonty Taylor <mordred@inaugust.com>2016-09-15 16:41:17 -0500
committerMonty Taylor <mordred@inaugust.com>2016-09-15 16:44:56 -0500
commitc6d2aeada4d9074f185f9748a81f7c651614e347 (patch)
treef093fd82fda1d28c265bd1380a2d40c74f5ed57b
parent7d401cd5a6537a9c6296d67e33addcc20a62eeb6 (diff)
downloados-client-config-c6d2aeada4d9074f185f9748a81f7c651614e347.tar.gz
Don't create envvars cloud if cloud or region are set
OS_CLOUD and OS_REGION_NAME are both selectors. If they are the only values, we should not be creating an envvars cloud. Change-Id: I1b7c8d7e3b6c300bd2c85ab482a22411370e4d5f
-rw-r--r--os_client_config/config.py11
1 files changed, 5 insertions, 6 deletions
diff --git a/os_client_config/config.py b/os_client_config/config.py
index 646e55d..aa6ef7e 100644
--- a/os_client_config/config.py
+++ b/os_client_config/config.py
@@ -105,12 +105,11 @@ def _get_os_environ(envvar_prefix=None):
for k in environkeys:
newkey = k.split('_', 1)[-1].lower()
ret[newkey] = os.environ[k]
- # If the only environ key is region name, don't make a cloud, because
- # it's being used as a cloud selector
- if not environkeys or (
- len(environkeys) == 1 and 'region_name' in ret):
- return None
- return ret
+ # If the only environ keys are cloud and region_name, don't return anything
+ # because they are cloud selectors
+ if set(environkeys) - set(['OS_CLOUD', 'OS_REGION_NAME']):
+ return ret
+ return None
def _merge_clouds(old_dict, new_dict):