Przeglądaj źródła

Merge pull request #240 from nuwang/add_project_domain_id

Added support for project domain id
Alexandru Mahmoud 6 lat temu
rodzic
commit
290111a6bf

+ 3 - 3
cloudbridge/providers/azure/azure_client.py

@@ -193,10 +193,10 @@ class AzureClient(object):
                     storage_account)
                 raise WaitStateException(
                     "Waited too long for storage account: {0} to "
-                    "become ready.".format(
+                    "become ready. It's currently in state: {1}".format(
                         storage_account,
-                        self.get_storage_account(storage_account).
-                        provisioning_state))
+                        self.get_storage_account(
+                            storage_account).provisioning_state))
 
             self._access_key_result = self.storage_client.storage_accounts. \
                 list_keys(self.resource_group, storage_account)

+ 5 - 0
cloudbridge/providers/openstack/provider.py

@@ -47,6 +47,9 @@ class OpenStackCloudProvider(BaseCloudProvider):
             'os_region_name', get_env('OS_REGION_NAME'))
         self._zone_name = self._get_config_value(
             'os_zone_name', get_env('OS_ZONE_NAME'))
+        self.project_domain_id = self._get_config_value(
+            'os_project_domain_id',
+            get_env('OS_PROJECT_DOMAIN_ID'))
         self.project_domain_name = self._get_config_value(
             'os_project_domain_name',
             get_env('OS_PROJECT_DOMAIN_NAME'))
@@ -113,6 +116,7 @@ class OpenStackCloudProvider(BaseCloudProvider):
                                username=self.username,
                                password=self.password,
                                user_domain_name=self.user_domain_name,
+                               project_domain_id=self.project_domain_id,
                                project_domain_name=self.project_domain_name,
                                project_name=self.project_name)
             self._cached_keystone_session = session.Session(auth=auth)
@@ -133,6 +137,7 @@ class OpenStackCloudProvider(BaseCloudProvider):
             username=self.username,
             password=self.password,
             user_domain_name=self.user_domain_name,
+            project_domain_id=self.project_domain_id,
             project_domain_name=self.project_domain_name
         )
 

+ 6 - 0
docs/topics/setup.rst

@@ -67,6 +67,7 @@ will override environment values.
               'os_password': '<your password>',
               'os_auth_url': '<auth url>,
               'os_user_domain_name': '<user_domain_name>',
+              'os_project_domain_id': '<project_domain_id>',
               'os_project_domain_name': '<project_domain_name>',
               'os_project_name': '<project_name>')
     provider = CloudProviderFactory().create_provider(ProviderList.OPENSTACK, config)
@@ -211,6 +212,8 @@ OpenStack
 +-------------------------+--------------------------------------------------------------+
 | os_storage_url          | Storage endpoint URL, if applicable                          |
 +-------------------------+--------------------------------------------------------------+
+| os_project_domain_id    | Project domain id for authentication.                      |
++-------------------------+--------------------------------------------------------------+
 | os_project_domain_name  | Project domain name for authentication.                      |
 +-------------------------+--------------------------------------------------------------+
 | os_user_domain_name     | User domain name for authentication.                         |
@@ -328,6 +331,8 @@ OpenStack
 +------------------------+-----------+
 | OS_STORAGE_URL         |           |
 +------------------------+-----------+
+| OS_PROJECT_DOMAIN_ID   |           |
++------------------------+-----------+
 | OS_PROJECT_DOMAIN_NAME |           |
 +------------------------+-----------+
 | OS_USER_DOMAIN_NAME    |           |
@@ -376,6 +381,7 @@ OpenStack clouds).
     os_password: password
     os_auth_url: auth url
     os_user_domain_name: user domain name
+    os_project_domain_id: project domain id
     os_project_domain_name: project domain name
     os_project_name: project name
 

+ 2 - 2
tests/test_network_service.py

@@ -249,8 +249,8 @@ class CloudNetworkServiceTestCase(ProviderTestBase):
 
                 self.assertTrue(
                     len(router.subnets) == 0,
-                    "No subnet should be attached to router {1}".format(
-                        sn, router)
+                    "No subnet should be attached to router {0} but subnet {1}"
+                    " is currently attached to it.".format(router, sn)
                 )
                 router.attach_subnet(sn)
                 self.assertTrue(