You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by to...@apache.org on 2011/11/07 15:23:51 UTC

svn commit: r1198744 - /libcloud/trunk/libcloud/compute/drivers/cloudstack.py

Author: tomaz
Date: Mon Nov  7 14:23:51 2011
New Revision: 1198744

URL: http://svn.apache.org/viewvc?rev=1198744&view=rev
Log:
Fix private IPs retrieval. Private IPs are not always available.

Modified:
    libcloud/trunk/libcloud/compute/drivers/cloudstack.py

Modified: libcloud/trunk/libcloud/compute/drivers/cloudstack.py
URL: http://svn.apache.org/viewvc/libcloud/trunk/libcloud/compute/drivers/cloudstack.py?rev=1198744&r1=1198743&r2=1198744&view=diff
==============================================================================
--- libcloud/trunk/libcloud/compute/drivers/cloudstack.py (original)
+++ libcloud/trunk/libcloud/compute/drivers/cloudstack.py Mon Nov  7 14:23:51 2011
@@ -131,12 +131,18 @@ class CloudStackNodeDriver(CloudStackDri
         nodes = []
 
         for vm in vms.get('virtualmachine', []):
+            private_ips = []
+
+            for nic in vm['nic']:
+                if 'ipaddress' in nic:
+                    private_ips.append(nic['ipaddress'])
+
             node = CloudStackNode(
                 id=vm['id'],
                 name=vm.get('displayname', None),
                 state=self.NODE_STATE_MAP[vm['state']],
                 public_ip=public_ips.get(vm['id'], {}).keys(),
-                private_ip=[x['ipaddress'] for x in vm['nic']],
+                private_ip=private_ips,
                 driver=self,
                 extra={
                     'zoneid': vm['zoneid'],
@@ -201,7 +207,7 @@ class CloudStackNodeDriver(CloudStackDri
             name=node['displayname'],
             state=self.NODE_STATE_MAP[node['state']],
             public_ip=[],
-            private_ip=[x['ipaddress'] for x in node['nic']],
+            private_ip=[],
             driver=self,
             extra={
                 'zoneid': location.id,