Browse Source

Azure fixes

almahmoud 7 years ago
parent
commit
ab88dbf390

+ 11 - 28
cloudbridge/cloud/providers/azure/resources.py

@@ -976,17 +976,13 @@ class AzureFloatingIPContainer(BaseFloatingIPContainer):
         return ClientPagedResultList(self._provider, floating_ips,
         return ClientPagedResultList(self._provider, floating_ips,
                                      limit=limit, marker=marker)
                                      limit=limit, marker=marker)
 
 
-    def create(self, label=None):
+    def create(self):
         public_ip_parameters = {
         public_ip_parameters = {
             'location': self._provider.azure_client.region_name,
             'location': self._provider.azure_client.region_name,
             'public_ip_allocation_method': 'Static'
             'public_ip_allocation_method': 'Static'
         }
         }
-        if label:
-            public_ip_parameters.update(tags={'Label': label})
 
 
-        AzureFloatingIP.assert_valid_resource_label(label)
-        public_ip_name = AzureFloatingIP._generate_name_from_label(
-            label, 'cb-fip')
+        public_ip_name = self._generate_name_from_label('cb-fip', 'cb-fip')
 
 
         floating_ip = self._provider.azure_client.\
         floating_ip = self._provider.azure_client.\
             create_floating_ip(public_ip_name, public_ip_parameters)
             create_floating_ip(public_ip_name, public_ip_parameters)
@@ -1012,26 +1008,6 @@ class AzureFloatingIP(BaseFloatingIP):
     def resource_id(self):
     def resource_id(self):
         return self._ip.id
         return self._ip.id
 
 
-    @property
-    def label(self):
-        """
-        Get the floating IP label.
-
-        .. note:: an instance must have a (case sensitive) tag ``Label``
-        """
-        return self._ip.tags.get('Label', None)
-
-    @label.setter
-    # pylint:disable=arguments-differ
-    def label(self, value):
-        """
-        Set the floating IP label.
-        """
-        self.assert_valid_resource_label(value)
-        self._ip.tags.update(Label=value or "")
-        self._provider.azure_client. \
-            update_fip_tags(self.id, self._ip)
-
     @property
     @property
     def public_ip(self):
     def public_ip(self):
         return self._ip.ip_address
         return self._ip.ip_address
@@ -1132,6 +1108,7 @@ class AzureSubnet(BaseSubnet):
         super(AzureSubnet, self).__init__(provider)
         super(AzureSubnet, self).__init__(provider)
         self._subnet = subnet
         self._subnet = subnet
         self._state = self._subnet.provisioning_state
         self._state = self._subnet.provisioning_state
+        self._tag_name = None
 
 
     @property
     @property
     def id(self):
     def id(self):
@@ -1149,7 +1126,7 @@ class AzureSubnet(BaseSubnet):
         # tags to track the subnet's labels
         # tags to track the subnet's labels
         network = self._network
         network = self._network
         az_network = network._network
         az_network = network._network
-        return az_network.tags.get('SubnetLabel_' + self.name, None)
+        return az_network.tags.get(self.tag_name, None)
 
 
     @label.setter
     @label.setter
     # pylint:disable=arguments-differ
     # pylint:disable=arguments-differ
@@ -1157,11 +1134,17 @@ class AzureSubnet(BaseSubnet):
         self.assert_valid_resource_label(value)
         self.assert_valid_resource_label(value)
         network = self._network
         network = self._network
         az_network = network._network
         az_network = network._network
-        kwargs = {'SubnetLabel_' + self.name: value or ""}
+        kwargs = {self.tag_name: value or ""}
         az_network.tags.update(**kwargs)
         az_network.tags.update(**kwargs)
         self._provider.azure_client.update_network_tags(
         self._provider.azure_client.update_network_tags(
             az_network.id, az_network)
             az_network.id, az_network)
 
 
+    @property
+    def tag_name(self):
+        if not self._tag_name:
+            self._tag_name = 'SubnetLabel_' + self._subnet.name
+        return self._tag_name
+
     @property
     @property
     def resource_id(self):
     def resource_id(self):
         return self._subnet.id
         return self._subnet.id

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

@@ -1004,7 +1004,7 @@ class AzureSubnetService(BaseSubnetService):
 
 
     def find(self, network=None, **kwargs):
     def find(self, network=None, **kwargs):
         obj_list = self._list_subnets(network)
         obj_list = self._list_subnets(network)
-        filters = ['name']
+        filters = ['label']
         matches = cb_helpers.generic_find(filters, kwargs, obj_list)
         matches = cb_helpers.generic_find(filters, kwargs, obj_list)
 
 
         # All kwargs should have been popped at this time.
         # All kwargs should have been popped at this time.

+ 1 - 1
test/helpers/__init__.py

@@ -88,7 +88,7 @@ TEST_DATA_CONFIG = {
         "image": os.environ.get('CB_IMAGE_OS',
         "image": os.environ.get('CB_IMAGE_OS',
                                 'acb53109-941f-4593-9bf8-4a53cb9e0739'),
                                 'acb53109-941f-4593-9bf8-4a53cb9e0739'),
         "vm_type": os.environ.get('CB_VM_TYPE_OS', 'm1.tiny'),
         "vm_type": os.environ.get('CB_VM_TYPE_OS', 'm1.tiny'),
-        "placement": os.environ.get('CB_PLACEMENT_OS', 'zone-r1'),
+        "placement": os.environ.get('CB_PLACEMENT_OS', 'nova'),
     },
     },
     "AzureCloudProvider": {
     "AzureCloudProvider": {
         "placement":
         "placement":

+ 1 - 1
test/test_network_service.py

@@ -120,7 +120,7 @@ class CloudNetworkServiceTestCase(ProviderTestBase):
                 lambda: helpers.delete_test_gateway(net, gw)):
                 lambda: helpers.delete_test_gateway(net, gw)):
             sit.check_crud(self, gw.floating_ips, FloatingIP,
             sit.check_crud(self, gw.floating_ips, FloatingIP,
                            "cb-crudfip", create_fip, cleanup_fip,
                            "cb-crudfip", create_fip, cleanup_fip,
-                           skip_name_check=True)
+                           skip_name_check=True, supports_labels=False)
 
 
     def test_floating_ip_properties(self):
     def test_floating_ip_properties(self):
         # Check floating IP address
         # Check floating IP address