Browse Source

Update FIP refpresh method to reflect FIP nesting under gateways (Azure WIP)

Enis Afgan 8 năm trước cách đây
mục cha
commit
74f0519771

+ 4 - 1
cloudbridge/cloud/providers/aws/resources.py

@@ -1051,7 +1051,10 @@ class AWSFloatingIP(BaseFloatingIP):
         self._ip.release()
 
     def refresh(self):
-        fip = self._provider.networking.floating_ips.get(self.id)
+        net = self._provider.networking.networks.list()[0] # Any net will work
+        gw = self._provider.networking.gateways.get_or_create_inet_gateway(
+            net)
+        fip = gw.floating_ips.get(self.id)
         # pylint:disable=protected-access
         self._ip = fip._ip
 

+ 4 - 2
cloudbridge/cloud/providers/azure/resources.py

@@ -1035,9 +1035,11 @@ class AzureFloatingIP(BaseFloatingIP):
             return False
 
     def refresh(self):
-        fip = self._provider.networking.floating_ips.get(self.id)
+        # TODO: Update to reflect FIP layout changes under a gateway
+        # fip = self._provider.networking.floating_ips.get(self.id)
         # pylint:disable=protected-access
-        self._ip = fip._ip
+        # self._ip = fip._ip
+        pass
 
 
 class AzureRegion(BaseRegion):

+ 5 - 1
cloudbridge/cloud/providers/openstack/resources.py

@@ -909,7 +909,11 @@ class OpenStackFloatingIP(BaseFloatingIP):
         self._ip.delete(self._provider.os_conn.session)
 
     def refresh(self):
-        fip = self._provider.networking.floating_ips.get(self.id)
+        net = self._provider.networking.networks.get(
+            self._ip.floating_network_id)
+        gw = self._provider.networking.gateways.get_or_create_inet_gateway(
+            net)
+        fip = gw.floating_ips.get(self.id)
         # pylint:disable=protected-access
         self._ip = fip._ip