diff options
-rw-r--r-- | docs/how-to-use/LibraryUsage.rst | 2 | ||||
-rw-r--r-- | snaps/openstack/create_router.py | 3 | ||||
-rw-r--r-- | snaps/openstack/os_credentials.py | 27 | ||||
-rw-r--r-- | snaps/openstack/tests/conf/os_credentials_tests.py | 78 | ||||
-rw-r--r-- | snaps/openstack/tests/openstack_tests.py | 8 | ||||
-rw-r--r-- | snaps/openstack/utils/keystone_utils.py | 4 |
6 files changed, 78 insertions, 44 deletions
diff --git a/docs/how-to-use/LibraryUsage.rst b/docs/how-to-use/LibraryUsage.rst index 353891e..16cf446 100644 --- a/docs/how-to-use/LibraryUsage.rst +++ b/docs/how-to-use/LibraryUsage.rst @@ -36,7 +36,9 @@ attributes are listed below: - compute\_api\_version (Nova version 2 currently only validated) - heat\_api\_version (Heat version 1 currently only validated) - user\_domain\_id (default='default') +- user\_domain\_name (default='default') - project\_domain\_id (default='default') +- project\_domain\_name (default='default') - interface (default='admin', used to specify the endpoint type for keystone: public, admin, internal) - cacert (default=False, expected values T|F to denote server certificate verification, else value contains the path to an HTTPS certificate) - region_name (The region name default=None) diff --git a/snaps/openstack/create_router.py b/snaps/openstack/create_router.py index 335be2c..209f9d2 100644 --- a/snaps/openstack/create_router.py +++ b/snaps/openstack/create_router.py @@ -253,8 +253,7 @@ class RouterSettings: if self.admin_state_up is not None: out['admin_state_up'] = self.admin_state_up if self.external_gateway: - ext_net = neutron_utils.get_network(neutron, self.external_gateway, - project_id) + ext_net = neutron_utils.get_network(neutron, self.external_gateway) if ext_net: ext_gw['network_id'] = ext_net.id out['external_gateway_info'] = ext_gw diff --git a/snaps/openstack/os_credentials.py b/snaps/openstack/os_credentials.py index c93133a..fbecbfe 100644 --- a/snaps/openstack/os_credentials.py +++ b/snaps/openstack/os_credentials.py @@ -42,8 +42,10 @@ class OSCreds: clients :param heat_api_version: The OpenStack's API version to use for Heat clients - :param user_domain_id: Used for v3 APIs (default='default') - :param project_domain_id: Used for v3 APIs (default='default') + :param user_domain_id: Used for v3 APIs (default=None) + :param user_domain_name: Used for v3 APIs (default='default') + :param project_domain_id: Used for v3 APIs (default=None) + :param project_domain_name: Used for v3 APIs (default='default') :param interface: Used to specify the endpoint type for keystone as public, admin, internal :param proxy_settings: instance of os_credentials.ProxySettings class @@ -83,15 +85,19 @@ class OSCreds: else: self.heat_api_version = float(kwargs['heat_api_version']) - if kwargs.get('user_domain_id') is None: - self.user_domain_id = 'default' + self.user_domain_id = kwargs.get('user_domain_id') + + if kwargs.get('user_domain_name') is None: + self.user_domain_name = 'default' else: - self.user_domain_id = kwargs['user_domain_id'] + self.user_domain_name = kwargs['user_domain_name'] + + self.project_domain_id = kwargs.get('project_domain_id') - if kwargs.get('project_domain_id') is None: - self.project_domain_id = 'default' + if kwargs.get('project_domain_name') is None: + self.project_domain_name = 'default' else: - self.project_domain_id = kwargs['project_domain_id'] + self.project_domain_name = kwargs['project_domain_name'] if kwargs.get('interface') is None: self.interface = 'admin' @@ -141,8 +147,13 @@ class OSCreds: ', image_api_version=' + str(self.image_api_version) + ', network_api_version=' + str(self.network_api_version) + ', compute_api_version=' + str(self.compute_api_version) + + ', heat_api_version=' + str(self.heat_api_version) + ', user_domain_id=' + str(self.user_domain_id) + + ', user_domain_name=' + str(self.user_domain_name) + + ', project_domain_id=' + str(self.project_domain_id) + + ', project_domain_name=' + str(self.project_domain_name) + ', interface=' + str(self.interface) + + ', region_name=' + str(self.region_name) + ', proxy_settings=' + str(self.proxy_settings) + ', cacert=' + str(self.cacert)) diff --git a/snaps/openstack/tests/conf/os_credentials_tests.py b/snaps/openstack/tests/conf/os_credentials_tests.py index 4a2ce3d..9c6fcdc 100644 --- a/snaps/openstack/tests/conf/os_credentials_tests.py +++ b/snaps/openstack/tests/conf/os_credentials_tests.py @@ -16,8 +16,8 @@ import logging import unittest -from snaps.openstack.os_credentials import OSCredsError, OSCreds, \ - ProxySettings, ProxySettingsError +from snaps.openstack.os_credentials import ( + OSCredsError, OSCreds, ProxySettings, ProxySettingsError) __author__ = 'spisarski' @@ -157,8 +157,10 @@ class OSCredsUnitTests(unittest.TestCase): self.assertEqual(2, os_creds.image_api_version) self.assertEqual(2, os_creds.compute_api_version) self.assertEqual(1, os_creds.heat_api_version) - self.assertEqual('default', os_creds.user_domain_id) - self.assertEqual('default', os_creds.project_domain_id) + self.assertIsNone(os_creds.user_domain_id) + self.assertEqual('default', os_creds.user_domain_name) + self.assertIsNone(os_creds.project_domain_id) + self.assertEqual('default', os_creds.project_domain_name) self.assertEqual('admin', os_creds.interface) self.assertFalse(os_creds.cacert) self.assertIsNone(os_creds.proxy_settings) @@ -176,8 +178,10 @@ class OSCredsUnitTests(unittest.TestCase): self.assertEqual(2, os_creds.image_api_version) self.assertEqual(2, os_creds.compute_api_version) self.assertEqual(1, os_creds.heat_api_version) - self.assertEqual('default', os_creds.user_domain_id) - self.assertEqual('default', os_creds.project_domain_id) + self.assertIsNone(os_creds.user_domain_id) + self.assertEqual('default', os_creds.user_domain_name) + self.assertIsNone(os_creds.project_domain_id) + self.assertEqual('default', os_creds.project_domain_name) self.assertEqual('admin', os_creds.interface) self.assertFalse(os_creds.cacert) self.assertIsNone(os_creds.proxy_settings) @@ -198,8 +202,10 @@ class OSCredsUnitTests(unittest.TestCase): self.assertEqual(6, os_creds.image_api_version) self.assertEqual(7, os_creds.compute_api_version) self.assertEqual(8.0, os_creds.heat_api_version) - self.assertEqual('default', os_creds.user_domain_id) - self.assertEqual('default', os_creds.project_domain_id) + self.assertIsNone(os_creds.user_domain_id) + self.assertEqual('default', os_creds.user_domain_name) + self.assertIsNone(os_creds.project_domain_id) + self.assertEqual('default', os_creds.project_domain_name) self.assertEqual('admin', os_creds.interface) self.assertTrue(os_creds.cacert) self.assertIsNone(os_creds.proxy_settings) @@ -220,8 +226,10 @@ class OSCredsUnitTests(unittest.TestCase): self.assertEqual(6, os_creds.image_api_version) self.assertEqual(7, os_creds.compute_api_version) self.assertEqual(8.0, os_creds.heat_api_version) - self.assertEqual('default', os_creds.user_domain_id) - self.assertEqual('default', os_creds.project_domain_id) + self.assertIsNone(os_creds.user_domain_id) + self.assertEqual('default', os_creds.user_domain_name) + self.assertIsNone(os_creds.project_domain_id) + self.assertEqual('default', os_creds.project_domain_name) self.assertEqual('admin', os_creds.interface) self.assertTrue(os_creds.cacert) self.assertIsNone(os_creds.proxy_settings) @@ -240,8 +248,10 @@ class OSCredsUnitTests(unittest.TestCase): self.assertEqual(2, os_creds.image_api_version) self.assertEqual(2, os_creds.compute_api_version) self.assertEqual(1, os_creds.heat_api_version) - self.assertEqual('default', os_creds.user_domain_id) - self.assertEqual('default', os_creds.project_domain_id) + self.assertIsNone(os_creds.user_domain_id) + self.assertEqual('default', os_creds.user_domain_name) + self.assertIsNone(os_creds.project_domain_id) + self.assertEqual('default', os_creds.project_domain_name) self.assertEqual('admin', os_creds.interface) self.assertFalse(os_creds.cacert) self.assertEqual('foo', os_creds.proxy_settings.host) @@ -251,11 +261,13 @@ class OSCredsUnitTests(unittest.TestCase): def test_proxy_settings_obj_kwargs(self): proxy_settings = ProxySettings(host='foo', port=1234) - os_creds = OSCreds(**{'username': 'foo', 'password': 'bar', - 'auth_url': 'http://foo.bar:5000/v2', - 'project_name': 'hello', - 'proxy_settings': proxy_settings, - 'region_name': 'test_region'}) + os_creds = OSCreds( + **{'username': 'foo', 'password': 'bar', + 'auth_url': 'http://foo.bar:5000/v2', 'project_name': 'hello', + 'proxy_settings': proxy_settings, 'region_name': 'test_region', + 'user_domain_id': 'domain1', 'user_domain_name': 'domain2', + 'project_domain_id': 'domain3', + 'project_domain_name': 'domain4'}) self.assertEqual('foo', os_creds.username) self.assertEqual('bar', os_creds.password) self.assertEqual('http://foo.bar:5000/v2', os_creds.auth_url) @@ -264,8 +276,10 @@ class OSCredsUnitTests(unittest.TestCase): self.assertEqual(2, os_creds.image_api_version) self.assertEqual(2, os_creds.compute_api_version) self.assertEqual(1, os_creds.heat_api_version) - self.assertEqual('default', os_creds.user_domain_id) - self.assertEqual('default', os_creds.project_domain_id) + self.assertEqual('domain1', os_creds.user_domain_id) + self.assertEqual('domain2', os_creds.user_domain_name) + self.assertEqual('domain3', os_creds.project_domain_id) + self.assertEqual('domain4', os_creds.project_domain_name) self.assertEqual('admin', os_creds.interface) self.assertFalse(os_creds.cacert) self.assertEqual('foo', os_creds.proxy_settings.host) @@ -276,7 +290,9 @@ class OSCredsUnitTests(unittest.TestCase): def test_proxy_settings_dict(self): os_creds = OSCreds( username='foo', password='bar', auth_url='http://foo.bar:5000/v2', - project_name='hello', proxy_settings={'host': 'foo', 'port': 1234}) + project_name='hello', proxy_settings={'host': 'foo', 'port': 1234}, + user_domain_id='domain1', user_domain_name='domain2', + project_domain_id='domain3', project_domain_name='domain4') self.assertEqual('foo', os_creds.username) self.assertEqual('bar', os_creds.password) self.assertEqual('http://foo.bar:5000/v2', os_creds.auth_url) @@ -285,8 +301,10 @@ class OSCredsUnitTests(unittest.TestCase): self.assertEqual(2, os_creds.image_api_version) self.assertEqual(2, os_creds.compute_api_version) self.assertEqual(1, os_creds.heat_api_version) - self.assertEqual('default', os_creds.user_domain_id) - self.assertEqual('default', os_creds.project_domain_id) + self.assertEqual('domain1', os_creds.user_domain_id) + self.assertEqual('domain2', os_creds.user_domain_name) + self.assertEqual('domain3', os_creds.project_domain_id) + self.assertEqual('domain4', os_creds.project_domain_name) self.assertEqual('admin', os_creds.interface) self.assertFalse(os_creds.cacert) self.assertEqual('foo', os_creds.proxy_settings.host) @@ -294,11 +312,11 @@ class OSCredsUnitTests(unittest.TestCase): self.assertIsNone(os_creds.proxy_settings.ssh_proxy_cmd) def test_proxy_settings_dict_kwargs(self): - os_creds = OSCreds(**{'username': 'foo', 'password': 'bar', - 'auth_url': 'http://foo.bar:5000/v2', - 'project_name': 'hello', - 'proxy_settings': {'host': 'foo', 'port': 1234}, - 'region_name': 'test_region'}) + os_creds = OSCreds( + **{'username': 'foo', 'password': 'bar', + 'auth_url': 'http://foo.bar:5000/v2', 'project_name': 'hello', + 'proxy_settings': {'host': 'foo', 'port': 1234}, + 'region_name': 'test_region'}) self.assertEqual('foo', os_creds.username) self.assertEqual('bar', os_creds.password) self.assertEqual('http://foo.bar:5000/v2', os_creds.auth_url) @@ -307,8 +325,10 @@ class OSCredsUnitTests(unittest.TestCase): self.assertEqual(2, os_creds.image_api_version) self.assertEqual(2, os_creds.compute_api_version) self.assertEqual(1, os_creds.heat_api_version) - self.assertEqual('default', os_creds.user_domain_id) - self.assertEqual('default', os_creds.project_domain_id) + self.assertIsNone(os_creds.user_domain_id) + self.assertEqual('default', os_creds.user_domain_name) + self.assertIsNone(os_creds.project_domain_id) + self.assertEqual('default', os_creds.project_domain_name) self.assertEqual('admin', os_creds.interface) self.assertFalse(os_creds.cacert) self.assertEqual('foo', os_creds.proxy_settings.host) diff --git a/snaps/openstack/tests/openstack_tests.py b/snaps/openstack/tests/openstack_tests.py index 927b5b3..2dab75c 100644 --- a/snaps/openstack/tests/openstack_tests.py +++ b/snaps/openstack/tests/openstack_tests.py @@ -95,10 +95,10 @@ def get_credentials(os_env_file=None, proxy_settings_str=None, 'network_api_version': config.get('OS_NETWORK_API_VERSION'), 'compute_api_version': config.get('OS_COMPUTE_API_VERSION'), 'heat_api_version': config.get('OS_HEAT_API_VERSION'), - 'user_domain_id': config.get( - 'OS_USER_DOMAIN_ID', config.get('OS_USER_DOMAIN_NAME')), - 'project_domain_id': config.get( - 'OS_PROJECT_DOMAIN_ID', config.get('OS_PROJECT_DOMAIN_NAME')), + 'user_domain_id': config.get('OS_USER_DOMAIN_ID'), + 'user_domain_name': config.get('OS_USER_DOMAIN_NAME'), + 'project_domain_id': config.get('OS_PROJECT_DOMAIN_ID'), + 'project_domain_name': config.get('OS_PROJECT_DOMAIN_NAME'), 'interface': interface, 'proxy_settings': proxy_settings, 'cacert': https_cacert, diff --git a/snaps/openstack/utils/keystone_utils.py b/snaps/openstack/utils/keystone_utils.py index e070a49..3fff469 100644 --- a/snaps/openstack/utils/keystone_utils.py +++ b/snaps/openstack/utils/keystone_utils.py @@ -41,7 +41,9 @@ def get_session_auth(os_creds): password=os_creds.password, project_name=os_creds.project_name, user_domain_id=os_creds.user_domain_id, - project_domain_id=os_creds.project_domain_id) + user_domain_name=os_creds.user_domain_name, + project_domain_id=os_creds.project_domain_id, + project_domain_name=os_creds.project_domain_name) else: auth = v2.Password(auth_url=os_creds.auth_url, username=os_creds.username, |