Procházet zdrojové kódy

Change floating_ips to a property for future expansion into service

Nuwan Goonasekera před 8 roky
rodič
revize
6eaaf98a0f

+ 2 - 2
cloudbridge/cloud/interfaces/services.py

@@ -653,8 +653,8 @@ class NetworkService(PageableObjectMixin, CloudService):
         """
         pass
 
-    @abstractmethod
-    def floating_ips(self, network_id=None):
+    @abstractproperty
+    def floating_ips(self):
         """
         List floating (i.e., static) IP addresses.
 

+ 6 - 5
cloudbridge/cloud/providers/aws/services.py

@@ -813,11 +813,12 @@ class AWSNetworkService(BaseNetworkService):
     def subnets(self):
         return self._subnet_svc
 
-    def floating_ips(self, network_id=None):
-        fltrs = None
-        if network_id:
-            fltrs = {'network-interface-id': network_id}
-        al = self.provider.vpc_conn.get_all_addresses(filters=fltrs)
+    @property
+    def floating_ips(self):
+        # fltrs = None
+        # if network_id:
+        #     fltrs = {'network-interface-id': network_id}
+        al = self.provider.vpc_conn.get_all_addresses()
         return [AWSFloatingIP(self.provider, a) for a in al]
 
     def create_floating_ip(self):

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

@@ -774,12 +774,12 @@ class OpenStackNetworkService(BaseNetworkService):
     def subnets(self):
         return self._subnet_svc
 
-    def floating_ips(self, network_id=None):
-        if network_id:
-            al = self.provider.neutron.list_floatingips(
-                floating_network_id=network_id)['floatingips']
-        else:
-            al = self.provider.neutron.list_floatingips()['floatingips']
+    @property
+    def floating_ips(self):
+        # if network_id:
+        #    al = self.provider.neutron.list_floatingips(
+        #        floating_network_id=network_id)['floatingips']
+        al = self.provider.neutron.list_floatingips()['floatingips']
         return [OpenStackFloatingIP(self.provider, a) for a in al]
 
     def create_floating_ip(self):

+ 2 - 2
test/test_network_service.py

@@ -36,7 +36,7 @@ class CloudNetworkServiceTestCase(ProviderTestBase):
             ip = self.provider.networking.networks.create_floating_ip()
             ip_id = ip.id
             with helpers.cleanup_action(lambda: ip.delete()):
-                ipl = self.provider.networking.networks.floating_ips()
+                ipl = self.provider.networking.networks.floating_ips
                 self.assertTrue(
                     ip in ipl,
                     "Floating IP address {0} should exist in the list {1}"
@@ -57,7 +57,7 @@ class CloudNetworkServiceTestCase(ProviderTestBase):
                 self.assertFalse(
                     ip.in_use(),
                     "Newly created floating IP address should not be in use.")
-            ipl = self.provider.networking.networks.floating_ips()
+            ipl = self.provider.networking.networks.floating_ips
             found_ip = [a for a in ipl if a.id == ip_id]
             self.assertTrue(
                 len(found_ip) == 0,