diff options
author | Monty Taylor <mordred@inaugust.com> | 2015-05-27 22:44:08 -0400 |
---|---|---|
committer | Monty Taylor <mordred@inaugust.com> | 2015-05-27 23:09:54 -0400 |
commit | 88c5e08599d70bde80abea45404ead57d5a17388 (patch) | |
tree | 48e678630bbce823bd690bc29b1d7f0c76807aae | |
parent | 2580c0aa0112d94606879c8f8864e34602ddaab8 (diff) | |
download | os-client-config-88c5e08599d70bde80abea45404ead57d5a17388.tar.gz |
Don't normalize too deeply
We were normalizing the entire clouds.yaml output - but the keys
underneath clouds: are names of clouds. We should not touch them.
Instead - normalize the keys of the config dict we return.
Change-Id: I792475d701d31201a9be6d54e066227d97b7ce5f
-rw-r--r-- | os_client_config/config.py | 9 | ||||
-rw-r--r-- | os_client_config/tests/base.py | 2 | ||||
-rw-r--r-- | os_client_config/tests/test_config.py | 14 | ||||
-rw-r--r-- | os_client_config/tests/test_environ.py | 4 |
4 files changed, 15 insertions, 14 deletions
diff --git a/os_client_config/config.py b/os_client_config/config.py index b9c89c2..7b52912 100644 --- a/os_client_config/config.py +++ b/os_client_config/config.py @@ -161,7 +161,7 @@ class OpenStackConfig(object): for path in filelist: if os.path.exists(path): with open(path, 'r') as f: - return path, self._normalize_keys(yaml.safe_load(f)) + return path, yaml.safe_load(f) return (None, None) def _normalize_keys(self, config): @@ -218,8 +218,8 @@ class OpenStackConfig(object): profile_name = our_cloud.get('profile', our_cloud.get('cloud', None)) if profile_name: vendor_filename, vendor_file = self._load_vendor_file() - if vendor_file and profile_name in vendor_file['public_clouds']: - _auth_update(cloud, vendor_file['public_clouds'][profile_name]) + if vendor_file and profile_name in vendor_file['public-clouds']: + _auth_update(cloud, vendor_file['public-clouds'][profile_name]) else: try: _auth_update(cloud, vendors.CLOUD_DEFAULTS[profile_name]) @@ -421,7 +421,8 @@ class OpenStackConfig(object): else: cloud_name = str(cloud) return cloud_config.CloudConfig( - name=cloud_name, region=config['region_name'], config=config) + name=cloud_name, region=config['region_name'], + config=self._normalize_keys(config)) if __name__ == '__main__': config = OpenStackConfig().get_all_clouds() diff --git a/os_client_config/tests/base.py b/os_client_config/tests/base.py index 81b4995..6a412bf 100644 --- a/os_client_config/tests/base.py +++ b/os_client_config/tests/base.py @@ -39,7 +39,7 @@ VENDOR_CONF = { } USER_CONF = { 'clouds': { - '_test_cloud_': { + '_test-cloud_': { 'profile': '_test_cloud_in_our_cloud', 'auth': { 'username': 'testuser', diff --git a/os_client_config/tests/test_config.py b/os_client_config/tests/test_config.py index bb81529..5a7fc1a 100644 --- a/os_client_config/tests/test_config.py +++ b/os_client_config/tests/test_config.py @@ -35,7 +35,7 @@ class TestConfig(base.TestCase): def test_get_one_cloud_auth_defaults(self): c = config.OpenStackConfig(config_files=[self.cloud_yaml]) - cc = c.get_one_cloud(cloud='_test_cloud_', auth={'username': 'user'}) + cc = c.get_one_cloud(cloud='_test-cloud_', auth={'username': 'user'}) self.assertEqual('user', cc.auth['username']) self.assertEqual( defaults._defaults['auth_type'], @@ -50,7 +50,7 @@ class TestConfig(base.TestCase): default_options = {'auth_type': 'token'} c = config.OpenStackConfig(config_files=[self.cloud_yaml], override_defaults=default_options) - cc = c.get_one_cloud(cloud='_test_cloud_', auth={'username': 'user'}) + cc = c.get_one_cloud(cloud='_test-cloud_', auth={'username': 'user'}) self.assertEqual('user', cc.auth['username']) self.assertEqual('token', cc.auth_type) self.assertEqual( @@ -66,7 +66,7 @@ class TestConfig(base.TestCase): self.assertIsInstance(c.cloud_config['cache'], dict) self.assertIn('max_age', c.cloud_config['cache']) self.assertIn('path', c.cloud_config['cache']) - cc = c.get_one_cloud('_test_cloud_') + cc = c.get_one_cloud('_test-cloud_') self._assert_cloud_details(cc) cc = c.get_one_cloud('_test_cloud_no_vendor') self._assert_cloud_details(cc) @@ -87,7 +87,7 @@ class TestConfig(base.TestCase): def test_get_one_cloud_auth_merge(self): c = config.OpenStackConfig(config_files=[self.cloud_yaml]) - cc = c.get_one_cloud(cloud='_test_cloud_', auth={'username': 'user'}) + cc = c.get_one_cloud(cloud='_test-cloud_', auth={'username': 'user'}) self.assertEqual('user', cc.auth['username']) self.assertEqual('testpass', cc.auth['password']) @@ -106,7 +106,7 @@ class TestConfigArgparse(base.TestCase): c = config.OpenStackConfig(config_files=[self.cloud_yaml], vendor_files=[self.vendor_yaml]) - cc = c.get_one_cloud(cloud='_test_cloud_', argparse=self.options) + cc = c.get_one_cloud(cloud='_test-cloud_', argparse=self.options) self._assert_cloud_details(cc) self.assertEqual(cc.region_name, 'other-test-region') self.assertEqual(cc.snack_type, 'cookie') @@ -125,7 +125,7 @@ class TestConfigArgparse(base.TestCase): c = config.OpenStackConfig(config_files=[self.cloud_yaml], vendor_files=[self.vendor_yaml]) - cc = c.get_one_cloud(cloud='_test_cloud_', argparse=None) + cc = c.get_one_cloud(cloud='_test-cloud_', argparse=None) self._assert_cloud_details(cc) self.assertEqual(cc.region_name, 'test-region') self.assertIsNone(cc.snack_type) @@ -136,6 +136,6 @@ class TestConfigDefault(base.TestCase): def test_set_no_default(self): c = config.OpenStackConfig(config_files=[self.cloud_yaml], vendor_files=[self.vendor_yaml]) - cc = c.get_one_cloud(cloud='_test_cloud_', argparse=None) + cc = c.get_one_cloud(cloud='_test-cloud_', argparse=None) self._assert_cloud_details(cc) self.assertEqual(cc.auth_type, 'password') diff --git a/os_client_config/tests/test_environ.py b/os_client_config/tests/test_environ.py index e60c73b..365ad67 100644 --- a/os_client_config/tests/test_environ.py +++ b/os_client_config/tests/test_environ.py @@ -59,7 +59,7 @@ class TestEnviron(base.TestCase): self.assertNotIn('auth_url', cc.config) self.assertIn('auth_url', cc.config['auth']) self.assertNotIn('auth_url', cc.config) - cc = c.get_one_cloud('_test_cloud_') + cc = c.get_one_cloud('_test-cloud_') self._assert_cloud_details(cc) cc = c.get_one_cloud('_test_cloud_no_vendor') self._assert_cloud_details(cc) @@ -72,7 +72,7 @@ class TestEnviron(base.TestCase): self.assertIsInstance(c.cloud_config['cache'], dict) self.assertIn('max_age', c.cloud_config['cache']) self.assertIn('path', c.cloud_config['cache']) - cc = c.get_one_cloud('_test_cloud_') + cc = c.get_one_cloud('_test-cloud_') self._assert_cloud_details(cc) cc = c.get_one_cloud('_test_cloud_no_vendor') self._assert_cloud_details(cc) |