Nuwan Goonasekera 7 лет назад
Родитель
Сommit
ec5a5cbf9a
2 измененных файлов с 14 добавлено и 3 удалено
  1. 2 1
      cloudbridge/cloud/base/provider.py
  2. 12 2
      test/test_interface.py

+ 2 - 1
cloudbridge/cloud/base/provider.py

@@ -101,7 +101,8 @@ class BaseCloudProvider(CloudProvider):
         if not self._zone_name:
             region = self.compute.regions.get(self.region_name)
             # TODO: Default zone
-            self._zone_name = next(iter(region.zones))
+            zone = next(iter(region.zones))
+            self._zone_name = zone.name if zone else None
         return self._zone_name
 
     @property

+ 12 - 2
test/test_interface.py

@@ -64,7 +64,12 @@ class CloudInterfaceTestCase(ProviderTestBase):
 
     def test_provider_zone_in_region(self):
         cloned_config = self.provider.config.copy()
-        cloned_config['zone_name'] = None
+        # Just a simpler way set zone to null for any provider
+        # instead of doing it individually for each provider
+        cloned_config['aws_zone_name'] = None
+        cloned_config['azure_zone_name'] = None
+        cloned_config['gcp_zone_name'] = None
+        cloned_config['openstack_zone_name'] = None
         cloned_provider = CloudProviderFactory().create_provider(
                 self.provider.PROVIDER_ID, cloned_config)
         region = cloned_provider.compute.regions.get(
@@ -75,7 +80,12 @@ class CloudInterfaceTestCase(ProviderTestBase):
 
     def test_provider_always_has_zone(self):
         cloned_config = self.provider.config.copy()
-        cloned_config['zone_name'] = None
+        # Just a simpler way set zone to null for any provider
+        # instead of doing it individually for each provider
+        cloned_config['aws_zone_name'] = None
+        cloned_config['azure_zone_name'] = None
+        cloned_config['gcp_zone_name'] = None
+        cloned_config['openstack_zone_name'] = None
         cloned_provider = CloudProviderFactory().create_provider(
                 self.provider.PROVIDER_ID, cloned_config)
         self.assertIsNotNone(cloned_provider.zone_name)