almahmoud 7 лет назад
Родитель
Сommit
e08b8ba368

+ 0 - 1
.travis.yml

@@ -228,7 +228,6 @@ matrix:
       env: TOX_ENV=pypy-azure TOX_TEST=test.test_image_service
     - python: pypy-5.3.1
       env: TOX_ENV=pypy-openstack TOX_TEST=test.test_image_service
-
 before_install:
     - |
       case "$TRAVIS_EVENT_TYPE" in

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

@@ -523,7 +523,7 @@ class AzureVolume(BaseVolume):
         for vm in self._provider.azure_client.list_vm():
             for item in vm.storage_profile.data_disks:
                 if item.managed_disk and \
-                                item.managed_disk.id == self.resource_id:
+                        item.managed_disk.id == self.resource_id:
                     vm.storage_profile.data_disks.remove(item)
                     self._provider.azure_client.update_vm(vm.id, vm)
 

+ 18 - 5
cloudbridge/cloud/providers/azure/services.py

@@ -952,22 +952,35 @@ class AzureSubnetService(BaseSubnetService):
                                      self._list_subnets(network),
                                      limit=limit, marker=marker)
 
-    def _list_subnets(self, network=None):
+    def _list_subnets(self, network="bla"):
         result_list = []
         if network:
             network_id = network.id \
                 if isinstance(network, Network) else network
             result_list = self.provider.azure_client.list_subnets(network_id)
         else:
-            for net in self.provider.azure_client.list_networks():
-                result_list.extend(self.provider.azure_client.list_subnets(
-                    net.id
-                ))
+            for net in self.provider.networking.networks:
+                try:
+                    result_list.extend(self.provider.azure_client.list_subnets(
+                        net.id
+                    ))
+                except CloudError as cloudError:
+                    message = cloudError.message
+                    if "not found" in message and "virtualNetworks" in message:
+                        log.exception(cloudError)
+                    else:
+                        raise cloudError
         subnets = [AzureSubnet(self.provider, subnet)
                    for subnet in result_list]
 
         return subnets
 
+    def find(self, network=None, **kwargs):
+        obj_list = self._list_subnets(network)
+        filters = ['name']
+        matches = cb_helpers.generic_find(filters, kwargs, obj_list)
+        return ClientPagedResultList(self._provider, list(matches))
+
     def create(self, network, cidr_block, name=None, **kwargs):
         """
         Create subnet