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/06/09 23:30:15 UTC
svn commit: r1134090 - in /libcloud/trunk: libcloud/compute/drivers/ec2.py
test/compute/fixtures/ec2/describe_instances.xml test/compute/test_ec2.py
Author: tomaz
Date: Thu Jun 9 21:30:15 2011
New Revision: 1134090
URL: http://svn.apache.org/viewvc?rev=1134090&view=rev
Log:
Include node tags when calling list_nodes() in EC2 driver.
Changes submitted by Trevor Pounds <trevor dot pounds at gmail dot com> as a
part of LIBCLOUD-89.
Modified:
libcloud/trunk/libcloud/compute/drivers/ec2.py
libcloud/trunk/test/compute/fixtures/ec2/describe_instances.xml
libcloud/trunk/test/compute/test_ec2.py
Modified: libcloud/trunk/libcloud/compute/drivers/ec2.py
URL: http://svn.apache.org/viewvc/libcloud/trunk/libcloud/compute/drivers/ec2.py?rev=1134090&r1=1134089&r2=1134090&view=diff
==============================================================================
--- libcloud/trunk/libcloud/compute/drivers/ec2.py (original)
+++ libcloud/trunk/libcloud/compute/drivers/ec2.py Thu Jun 9 21:30:15 2011
@@ -339,7 +339,11 @@ class EC2NodeDriver(NodeDriver):
namespace=NAMESPACE),
'clienttoken' : findattr(element=element, xpath="clientToken",
namespace=NAMESPACE),
- 'groups': groups
+ 'groups': groups,
+ 'tags':
+ dict((findtext(element=item, xpath='key', namespace=NAMESPACE),
+ findtext(element=item, xpath='value', namespace=NAMESPACE))
+ for item in findall(element=element, xpath='tagSet/item', namespace=NAMESPACE))
}
)
return n
Modified: libcloud/trunk/test/compute/fixtures/ec2/describe_instances.xml
URL: http://svn.apache.org/viewvc/libcloud/trunk/test/compute/fixtures/ec2/describe_instances.xml?rev=1134090&r1=1134089&r2=1134090&view=diff
==============================================================================
--- libcloud/trunk/test/compute/fixtures/ec2/describe_instances.xml (original)
+++ libcloud/trunk/test/compute/fixtures/ec2/describe_instances.xml Thu Jun 9 21:30:15 2011
@@ -33,6 +33,39 @@
<state>disabled</state>
</monitoring>
</item>
+ <item>
+ <instanceId>i-8474834a</instanceId>
+ <imageId>ami-0f234b234</imageId>
+ <instanceState>
+ <code>0</code>
+ <name>pending</name>
+ </instanceState>
+ <privateDnsName/>
+ <dnsName/>
+ <reason/>
+ <privateIpAddress>1.2.3.5</privateIpAddress>
+ <ipAddress>1.2.3.5</ipAddress>
+ <amiLaunchIndex>0</amiLaunchIndex>
+ <productCodes/>
+ <instanceType>m1.micro</instanceType>
+ <launchTime>2009-08-07T05:47:04.000Z</launchTime>
+ <placement>
+ <availabilityZone>us-west-1a</availabilityZone>
+ </placement>
+ <monitoring>
+ <state>disabled</state>
+ </monitoring>
+ <tagSet>
+ <item>
+ <key>user_key0</key>
+ <value>user_val0</value>
+ </item>
+ <item>
+ <key>user_key1</key>
+ <value>user_val1</value>
+ </item>
+ </tagSet>
+ </item>
</instancesSet>
</item>
</reservationSet>
Modified: libcloud/trunk/test/compute/test_ec2.py
URL: http://svn.apache.org/viewvc/libcloud/trunk/test/compute/test_ec2.py?rev=1134090&r1=1134089&r2=1134090&view=diff
==============================================================================
--- libcloud/trunk/test/compute/test_ec2.py (original)
+++ libcloud/trunk/test/compute/test_ec2.py Thu Jun 9 21:30:15 2011
@@ -341,6 +341,15 @@ class NimbusTests(EC2Tests):
self.assertEqual(node.id, 'i-4382922a')
self.assertEqual(len(node.public_ip), 1)
self.assertEqual(public_ips[0], '1.2.3.5')
+ self.assertEqual(node.extra['tags'], {})
+
+ node = self.driver.list_nodes()[1]
+ self.assertExecutedMethodCount(0)
+ public_ips = node.public_ip
+ self.assertEqual(node.id, 'i-8474834a')
+ self.assertEqual(len(node.public_ip), 1)
+ self.assertEqual(public_ips[0], '1.2.3.5')
+ self.assertEqual(node.extra['tags'], {'user_key0': 'user_val0', 'user_key1': 'user_val1'})
def test_ex_create_tags(self):
# Nimbus doesn't support creating tags so this one should be a