Explorar el Código

Merge branch 'master' of github.com:gvlproject/cloudbridge

Enis Afgan hace 10 años
padre
commit
92b99766b4

+ 7 - 0
cloudbridge/cloud/base.py

@@ -508,6 +508,13 @@ class BaseInstanceTypesService(InstanceTypesService, BaseProviderService):
     def __init__(self, provider):
         super(BaseInstanceTypesService, self).__init__(provider)
 
+    def find(self, **kwargs):
+        name = kwargs.get('name')
+        if name:
+            return (itype for itype in self.list() if itype.name == name)
+        else:
+            return None
+
 
 class BaseInstanceService(InstanceService, BaseProviderService):
 

+ 0 - 7
cloudbridge/cloud/providers/aws/services.py

@@ -560,13 +560,6 @@ class AWSInstanceTypesService(BaseInstanceTypesService):
         return [AWSInstanceType(self.provider, inst_data)
                 for inst_data in self.instance_data]
 
-    def find(self, **kwargs):
-        name = kwargs.get('name')
-        if name:
-            return (itype for itype in self.list() if itype.name == name)
-        else:
-            return None
-
 
 class AWSRegionService(BaseRegionService):
 

+ 2 - 16
cloudbridge/cloud/providers/openstack/services.py

@@ -243,13 +243,6 @@ class OpenStackInstanceTypesService(BaseInstanceTypesService):
         return [OpenStackInstanceType(f)
                 for f in self._provider.nova.flavors.list()]
 
-    def find(self, **kwargs):
-        name = kwargs.get('name')
-        if name:
-            return (itype for itype in self.list() if itype.name == name)
-        else:
-            return None
-
 
 class OpenStackBlockStoreService(BaseBlockStoreService):
 
@@ -401,15 +394,8 @@ class OpenStackRegionService(BaseRegionService):
         super(OpenStackRegionService, self).__init__(provider)
 
     def get(self, region_id):
-        regions = [endpoint.get('region') or endpoint.get('region_id')
-                   for svc in self.provider.keystone.service_catalog.get_data()
-                   for endpoint in svc.get('endpoints', [])]
-        region = [region for region in regions
-                  if region == region_id]
-        if region:
-            return OpenStackRegion(self.provider, region[0])
-        else:
-            return None
+        region = (r for r in self.list() if r.id == region_id)
+        return next(region, None)
 
     def list(self):
         regions = [endpoint.get('region') or endpoint.get('region_id')

+ 1 - 1
test/helpers.py

@@ -56,7 +56,7 @@ TEST_DATA_CONFIG = {
     },
     "OpenStackCloudProvider": {
         "image": os.environ.get('CB_IMAGE_OS',
-                                'ca4beba8-4948-4410-b6ed-4d68e54b5913'),
+                                'eaf2fa40-25a3-44cd-b2f1-40de42a62154'),
         "instance_type": os.environ.get('CB_INSTANCE_TYPE_OS', 'm1.tiny'),
         "placement": os.environ.get('CB_PLACEMENT_OS', 'nova'),
     }

+ 7 - 2
test/test_provider_compute_service.py

@@ -5,6 +5,7 @@ import ipaddress
 from cloudbridge.cloud.interfaces \
     import InvalidConfigurationException
 from cloudbridge.cloud.interfaces import InstanceState
+from cloudbridge.cloud.interfaces.resources import WaitStateException
 from test.helpers import ProviderTestBase
 import test.helpers as helpers
 
@@ -149,8 +150,12 @@ class ProviderComputeServiceTestCase(ProviderTestBase):
             name,
             launch_config=lc)
         with helpers.cleanup_action(lambda: inst.terminate()):
-            inst.wait_till_ready(
-                interval=self.get_test_wait_interval())
+            try:
+                inst.wait_till_ready(
+                    interval=self.get_test_wait_interval())
+            except WaitStateException as e:
+                self.fail("The block device mapped launch did not complete"
+                          " successfully: %s" % e)
             inst.terminate()
             inst.wait_for(
                 [InstanceState.TERMINATED, InstanceState.UNKNOWN],