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,