Explorar el Código

Fix for: https://github.com/CloudVE/cloudbridge/issues/213

Nuwan Goonasekera hace 6 años
padre
commit
d262ca62bb

+ 7 - 18
cloudbridge/providers/openstack/provider.py

@@ -48,18 +48,6 @@ 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._compute_zone_name = self._get_config_value(
-            'os_compute_zone_name', get_env('OS_COMPUTE_ZONE_NAME',
-                                            self.zone_name))
-        self._networking_zone_name = self._get_config_value(
-            'os_networking_zone_name', get_env('OS_NETWORKING_ZONE_NAME',
-                                               self.zone_name))
-        self._security_zone_name = self._get_config_value(
-            'os_security_zone_name', get_env('OS_SECURITY_ZONE_NAME',
-                                             self.zone_name))
-        self._storage_zone_name = self._get_config_value(
-            'os_storage_zone_name', get_env('OS_STORAGE_ZONE_NAME',
-                                            self.zone_name))
         self.project_domain_name = self._get_config_value(
             'os_project_domain_name',
             get_env('OS_PROJECT_DOMAIN_NAME'))
@@ -313,8 +301,8 @@ class OpenStackCloudProvider(BaseCloudProvider):
         :return: A Swift client connection using the auth credentials held by
             the OpenStackCloudProvider instance
         """
-        clean_options = self._clean_options(options,
-                                            swift_client.Connection.__init__)
+        clean_options = self._clean_options(
+            options, swift_client.Connection.__init__)
         storage_url = self._get_config_value(
             'os_storage_url', get_env('OS_STORAGE_URL', None))
         auth_token = self._get_config_value(
@@ -343,13 +331,14 @@ class OpenStackCloudProvider(BaseCloudProvider):
 
     def service_zone_name(self, service):
         service_name = service._service_event_pattern
-        if "networking" in service_name and self._networking_zone_name:
+        if ("networking" in service_name and
+                self.networking.networking_zone_name):
             return self._networking_zone_name
-        elif "security" in service_name and self._security_zone_name:
+        elif "security" in service_name and self.security.security_zone_name:
             return self._security_zone_name
-        elif "compute" in service_name and self._compute_zone_name:
+        elif "compute" in service_name and self.compute.compute_zone_name:
             return self._compute_zone_name
-        elif "storage" in service_name and self._storage_zone_name:
+        elif "storage" in service_name and self.storage.storage_zone_name:
             return self._storage_zone_name
         else:
             return self.zone_name

+ 17 - 0
cloudbridge/providers/openstack/services.py

@@ -82,6 +82,10 @@ class OpenStackSecurityService(BaseSecurityService):
     def __init__(self, provider):
         super(OpenStackSecurityService, self).__init__(provider)
 
+        # pylint:disable=protected-access
+        self.security_zone_name = self.provider._get_config_value(
+            'os_security_zone_name', cb_helpers.get_env(
+                'OS_SECURITY_ZONE_NAME', self.provider.zone_name))
         # Initialize provider services
         self._key_pairs = OpenStackKeyPairService(provider)
         self._vm_firewalls = OpenStackVMFirewallService(provider)
@@ -337,6 +341,10 @@ class OpenStackStorageService(BaseStorageService):
     def __init__(self, provider):
         super(OpenStackStorageService, self).__init__(provider)
 
+        # pylint:disable=protected-access
+        self.storage_zone_name = self.provider._get_config_value(
+            'os_storage_zone_name', cb_helpers.get_env(
+                'OS_STORAGE_ZONE_NAME', self.provider.zone_name))
         # Initialize provider services
         self._volume_svc = OpenStackVolumeService(self.provider)
         self._snapshot_svc = OpenStackSnapshotService(self.provider)
@@ -641,6 +649,10 @@ class OpenStackComputeService(BaseComputeService):
 
     def __init__(self, provider):
         super(OpenStackComputeService, self).__init__(provider)
+        # pylint:disable=protected-access
+        self.compute_zone_name = self.provider._get_config_value(
+            'os_compute_zone_name', cb_helpers.get_env(
+                'OS_COMPUTE_ZONE_NAME', self.provider.zone_name))
         self._vm_type_svc = OpenStackVMTypeService(self.provider)
         self._instance_svc = OpenStackInstanceService(self.provider)
         self._region_svc = OpenStackRegionService(self.provider)
@@ -1019,6 +1031,11 @@ class OpenStackNetworkService(BaseNetworkService):
     def __init__(self, provider):
         super(OpenStackNetworkService, self).__init__(provider)
 
+        # pylint:disable=protected-access
+        self.networking_zone_name = self.provider._get_config_value(
+            'os_networking_zone_name', cb_helpers.get_env(
+                'OS_NETWORKING_ZONE_NAME', self.provider.zone_name))
+
     @dispatch(event="provider.networking.networks.get",
               priority=BaseNetworkService.STANDARD_EVENT_PRIORITY)
     def get(self, network_id):