Author: tomaz
Date: Wed Apr 25 03:01:36 2012
New Revision: 1330085

URL: http://svn.apache.org/viewvc?rev=1330085&view=rev
Log:
Don't split Load balancer IP addresses into public and private list.
Include all the addresses in the 'virtualIps' variable in the extra
dictionary (Rackspace driver). This patch has been submitted by Adam Pickeral
and is part of LIBCLOUD-191.

Modified:
    libcloud/trunk/CHANGES
    libcloud/trunk/libcloud/loadbalancer/drivers/rackspace.py
    libcloud/trunk/test/loadbalancer/test_rackspace.py

Modified: libcloud/trunk/CHANGES
URL: 
http://svn.apache.org/viewvc/libcloud/trunk/CHANGES?rev=1330085&r1=1330084&r2=1330085&view=diff
==============================================================================
--- libcloud/trunk/CHANGES (original)
+++ libcloud/trunk/CHANGES Wed Apr 25 03:01:36 2012
@@ -77,6 +77,11 @@ Changes with Apache Libcloud in developm
       body_regex is None or empty string. ; LIBCLOUD-186
       [Bill Woodward]
 
+    - Don't split Load balancer IP addresses into public and private list.
+      Include all the addresses in the 'virtualIps' variable in the extra
+      dictionary (Rackspace driver). ; LIBCLOUD-191
+      [Adam Pickeral]
+
 Changes with Apache Libcloud 0.9.1:
 
   *) General:

Modified: libcloud/trunk/libcloud/loadbalancer/drivers/rackspace.py
URL: 
http://svn.apache.org/viewvc/libcloud/trunk/libcloud/loadbalancer/drivers/rackspace.py?rev=1330085&r1=1330084&r2=1330085&view=diff
==============================================================================
--- libcloud/trunk/libcloud/loadbalancer/drivers/rackspace.py (original)
+++ libcloud/trunk/libcloud/loadbalancer/drivers/rackspace.py Wed Apr 25 
03:01:36 2012
@@ -1290,9 +1290,6 @@ class RackspaceLBDriver(Driver, OpenStac
         port = None
         sourceAddresses = {}
 
-        if 'virtualIps' in el:
-            ip = el["virtualIps"][0]["address"]
-
         if 'port' in el:
             port = el["port"]
 
@@ -1300,13 +1297,15 @@ class RackspaceLBDriver(Driver, OpenStac
             sourceAddresses = el['sourceAddresses']
 
         extra = {
-            "publicVips": self._ex_public_virtual_ips(el),
-            "privateVips": self._ex_private_virtual_ips(el),
             "ipv6PublicSource": sourceAddresses.get("ipv6Public"),
             "ipv4PublicSource": sourceAddresses.get("ipv4Public"),
             "ipv4PrivateSource": sourceAddresses.get("ipv4Servicenet"),
         }
 
+        if 'virtualIps' in el:
+            ip = el['virtualIps'][0]['address']
+            extra['virtualIps'] = el['virtualIps']
+
         if 'protocol' in el:
             extra['protocol'] = el['protocol']
 
@@ -1422,21 +1421,6 @@ class RackspaceLBDriver(Driver, OpenStac
 
         return update_attrs
 
-    def _ex_private_virtual_ips(self, el):
-        if not 'virtualIps' in el:
-            return None
-
-        servicenet_vips = [ip for ip in el['virtualIps']
-                           if ip['type'] == 'SERVICENET']
-        return [vip["address"] for vip in servicenet_vips]
-
-    def _ex_public_virtual_ips(self, el):
-        if not 'virtualIps' in el:
-            return None
-
-        public_vips = [ip for ip in el['virtualIps'] if ip['type'] == 'PUBLIC']
-        return [vip["address"] for vip in public_vips]
-
     def _to_health_monitor(self, el):
         health_monitor_data = el["healthMonitor"]
 

Modified: libcloud/trunk/test/loadbalancer/test_rackspace.py
URL: 
http://svn.apache.org/viewvc/libcloud/trunk/test/loadbalancer/test_rackspace.py?rev=1330085&r1=1330084&r2=1330085&view=diff
==============================================================================
--- libcloud/trunk/test/loadbalancer/test_rackspace.py (original)
+++ libcloud/trunk/test/loadbalancer/test_rackspace.py Wed Apr 25 03:01:36 2012
@@ -189,19 +189,13 @@ class RackspaceLBTests(unittest.TestCase
         self.assertEquals(balancer.name, 'test2')
         self.assertEquals(balancer.id, '8290')
 
-    def test_get_balancer_extra_public_vips(self):
+    def test_get_balancer_extra_vips(self):
         balancer = self.driver.get_balancer(balancer_id='18940')
-        self.assertEquals(balancer.extra["publicVips"], ['50.56.49.149'])
-
-    def test_get_balancer_extra_private_vips(self):
-        balancer = self.driver.get_balancer(balancer_id='18941')
-
-        self.assertEquals(balancer.extra["privateVips"], ['10.183.252.175'])
-
-    def test_get_balancer_extra_private_vips_empty(self):
-        balancer = self.driver.get_balancer(balancer_id='18945')
-
-        self.assertEquals(balancer.extra['privateVips'], [])
+        self.assertEquals(balancer.extra["virtualIps"],
+            [{"address":"50.56.49.149",
+              "id":2359,
+              "type":"PUBLIC",
+              "ipVersion":"IPV4"}])
 
     def test_get_balancer_extra_public_source_ipv4(self):
         balancer = self.driver.get_balancer(balancer_id='18940')


Reply via email to