瀏覽代碼

Completing misc refactoring

almahmoud 7 年之前
父節點
當前提交
3629a3e86e

+ 1 - 9
cloudbridge/cloud/base/resources.py

@@ -531,15 +531,7 @@ class BaseKeyPair(BaseCloudResource, KeyPair):
         self._private_material = value
         self._private_material = value
 
 
     def delete(self):
     def delete(self):
-        """
-        Delete this KeyPair.
-
-        :rtype: bool
-        :return: True if successful, otherwise False.
-        """
-        # This implementation assumes the `delete` method exists across
-        #  multiple providers.
-        self._key_pair.delete()
+        self._provider.security.key_pairs.delete(self.id)
 
 
 
 
 class BaseVMFirewall(BaseCloudResource, VMFirewall):
 class BaseVMFirewall(BaseCloudResource, VMFirewall):

+ 7 - 4
cloudbridge/cloud/base/services.py

@@ -286,7 +286,7 @@ class BaseVolumeService(
         return self.dispatch(self, "provider.storage.volumes.list",
         return self.dispatch(self, "provider.storage.volumes.list",
                              limit=limit, marker=marker)
                              limit=limit, marker=marker)
 
 
-    def create(self, label, size, zone, description=None, snapshot=None):
+    def create(self, label, size, zone, snapshot=None, description=None):
         """
         """
         Create a new volume.
         Create a new volume.
 
 
@@ -303,7 +303,7 @@ class BaseVolumeService(
         """
         """
         BaseVolume.assert_valid_resource_label(label)
         BaseVolume.assert_valid_resource_label(label)
         return self.dispatch(self, "provider.storage.volumes.create",
         return self.dispatch(self, "provider.storage.volumes.create",
-                             label, size, zone, description, snapshot)
+                             label, size, zone, snapshot, description)
 
 
     def delete(self, volume_id):
     def delete(self, volume_id):
         """
         """
@@ -803,8 +803,11 @@ class BaseSubnetService(
 
 
     @implement(event_pattern="provider.networking.subnets.find",
     @implement(event_pattern="provider.networking.subnets.find",
                priority=BaseCloudService.STANDARD_EVENT_PRIORITY)
                priority=BaseCloudService.STANDARD_EVENT_PRIORITY)
-    def _find(self, **kwargs):
-        obj_list = self
+    def _find(self, network=None, **kwargs):
+        if not network:
+            obj_list = self
+        else:
+            obj_list = network.subnets
         filters = ['label']
         filters = ['label']
         matches = cb_helpers.generic_find(filters, kwargs, obj_list)
         matches = cb_helpers.generic_find(filters, kwargs, obj_list)
         return ClientPagedResultList(self._provider, list(matches))
         return ClientPagedResultList(self._provider, list(matches))

+ 1 - 1
cloudbridge/cloud/providers/aws/services.py

@@ -877,7 +877,7 @@ class AWSSubnetService(BaseSubnetService):
 
 
     @implement(event_pattern="provider.networking.subnets.find",
     @implement(event_pattern="provider.networking.subnets.find",
                priority=BaseSubnetService.STANDARD_EVENT_PRIORITY)
                priority=BaseSubnetService.STANDARD_EVENT_PRIORITY)
-    def _find(self, **kwargs):
+    def _find(self, network=None, **kwargs):
         label = kwargs.pop('label', None)
         label = kwargs.pop('label', None)
 
 
         # All kwargs should have been popped at this time.
         # All kwargs should have been popped at this time.

+ 1 - 1
cloudbridge/cloud/providers/azure/services.py

@@ -295,7 +295,7 @@ class AzureVolumeService(BaseVolumeService):
 
 
     @implement(event_pattern="provider.storage.volumes.create",
     @implement(event_pattern="provider.storage.volumes.create",
                priority=BaseVolumeService.STANDARD_EVENT_PRIORITY)
                priority=BaseVolumeService.STANDARD_EVENT_PRIORITY)
-    def _create(self, label, size, zone, description=None, snapshot=None):
+    def _create(self, label, size, zone, snapshot=None, description=None):
         disk_name = AzureVolume._generate_name_from_label(label, "cb-vol")
         disk_name = AzureVolume._generate_name_from_label(label, "cb-vol")
         tags = {'Label': label}
         tags = {'Label': label}
 
 

+ 4 - 3
cloudbridge/cloud/providers/gce/resources.py

@@ -408,18 +408,19 @@ class GCEFirewallsDelegate(object):
         Delete a given firewall.
         Delete a given firewall.
         """
         """
         project_name = self._provider.project_name
         project_name = self._provider.project_name
+        name = firewall['name']
         response = (self._provider
         response = (self._provider
                         .gce_compute
                         .gce_compute
                         .firewalls()
                         .firewalls()
                         .delete(project=project_name,
                         .delete(project=project_name,
-                                firewall=firewall['name'])
+                                firewall=name)
                         .execute())
                         .execute())
         self._provider.wait_for_operation(response)
         self._provider.wait_for_operation(response)
         # TODO: process the response and handle errors.
         # TODO: process the response and handle errors.
-        tag_name = "_".join(["firewall", self.name, "label"])
+        tag_name = "_".join(["firewall", name, "label"])
         if not helpers.remove_metadata_item(self._provider, tag_name):
         if not helpers.remove_metadata_item(self._provider, tag_name):
             log.warning('No label was found associated with this firewall '
             log.warning('No label was found associated with this firewall '
-                        '"{}" when deleted.'.format(self.name))
+                        '"{}" when deleted.'.format(name))
         return True
         return True
 
 
     def _update_list_response(self):
     def _update_list_response(self):

+ 1 - 1
cloudbridge/cloud/providers/openstack/services.py

@@ -939,7 +939,7 @@ class OpenStackNetworkService(BaseNetworkService):
             cb_net.label = label
             cb_net.label = label
         return cb_net
         return cb_net
 
 
-    @implement(event_pattern="provider.networking.networks.create",
+    @implement(event_pattern="provider.networking.networks.delete",
                priority=BaseNetworkService.STANDARD_EVENT_PRIORITY)
                priority=BaseNetworkService.STANDARD_EVENT_PRIORITY)
     def _delete(self, network_id):
     def _delete(self, network_id):
         network = self.get(network_id)
         network = self.get(network_id)