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/10/22 00:34:13 UTC

svn commit: r1187584 - in /libcloud/trunk: libcloud/compute/drivers/ec2.py test/compute/test_ec2.py

Author: tomaz
Date: Fri Oct 21 22:34:13 2011
New Revision: 1187584

URL: http://svn.apache.org/viewvc?rev=1187584&view=rev
Log:
Add more attributes to the node.extra dictionary in the EC2 driver. Contributed
by Juan Carlos Moreno part of GITHUB-31.

Modified:
    libcloud/trunk/libcloud/compute/drivers/ec2.py
    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=1187584&r1=1187583&r2=1187584&view=diff
==============================================================================
--- libcloud/trunk/libcloud/compute/drivers/ec2.py (original)
+++ libcloud/trunk/libcloud/compute/drivers/ec2.py Fri Oct 21 22:34:13 2011
@@ -381,7 +381,40 @@ class EC2NodeDriver(NodeDriver):
                                   namespace=NAMESPACE),
                       name=findtext(element=element, xpath='imageLocation',
                                     namespace=NAMESPACE),
-                      driver=self.connection.driver)
+                      driver=self.connection.driver,
+                      extra={
+                          'state': findattr(element=element,
+                                            xpath="imageState",
+                                            namespace=NAMESPACE),
+                          'ownerid': findattr(element=element,
+                                        xpath="imageOwnerId",
+                                        namespace=NAMESPACE),
+                          'owneralias': findattr(element=element,
+                                        xpath="imageOwnerAlias",
+                                        namespace=NAMESPACE),
+                          'ispublic': findattr(element=element,
+                                        xpath="isPublic",
+                                        namespace=NAMESPACE),
+                          'architecture': findattr(element=element,
+                                        xpath="architecture",
+                                        namespace=NAMESPACE),
+                          'imagetype': findattr(element=element,
+                                        xpath="imageType",
+                                        namespace=NAMESPACE),
+                          'platform': findattr(element=element,
+                                        xpath="platform",
+                                        namespace=NAMESPACE),
+                          'rootdevicetype': findattr(element=element,
+                                        xpath="rootDeviceType",
+                                        namespace=NAMESPACE),
+                          'virtualizationtype': findattr(element=element,
+                                        xpath="virtualizationType",
+                                        namespace=NAMESPACE),
+                          'hypervisor': findattr(element=element,
+                                        xpath="hypervisor",
+                                        namespace=NAMESPACE)
+                      }
+        )
         return n
 
     def list_nodes(self):

Modified: libcloud/trunk/test/compute/test_ec2.py
URL: http://svn.apache.org/viewvc/libcloud/trunk/test/compute/test_ec2.py?rev=1187584&r1=1187583&r2=1187584&view=diff
==============================================================================
--- libcloud/trunk/test/compute/test_ec2.py (original)
+++ libcloud/trunk/test/compute/test_ec2.py Fri Oct 21 22:34:13 2011
@@ -103,6 +103,8 @@ class EC2Tests(LibcloudTestCase, TestCas
         self.assertEqual(node.id, 'i-4382922a')
         self.assertEqual(node.name, node.id)
         self.assertEqual(len(node.public_ip), 2)
+        self.assertEqual(node.extra['launchdatetime'], '2009-08-07T05:47:04.000Z')
+        self.assertTrue('instancetype' in node.extra)
 
         self.assertEqual(public_ips[0], '1.2.3.4')
         self.assertEqual(public_ips[1], '1.2.3.5')