Author: tomaz
Date: Sat May 18 22:47:51 2013
New Revision: 1484195
URL: http://svn.apache.org/r1484195
Log:
Backport commit from trunk.
Modified:
libcloud/branches/0.12.x/ (props changed)
libcloud/branches/0.12.x/CHANGES
libcloud/branches/0.12.x/libcloud/compute/drivers/ec2.py
libcloud/branches/0.12.x/libcloud/test/compute/test_ec2.py
Propchange: libcloud/branches/0.12.x/
------------------------------------------------------------------------------
Merged /libcloud/trunk:r1484194
Modified: libcloud/branches/0.12.x/CHANGES
URL:
http://svn.apache.org/viewvc/libcloud/branches/0.12.x/CHANGES?rev=1484195&r1=1484194&r2=1484195&view=diff
==============================================================================
--- libcloud/branches/0.12.x/CHANGES (original)
+++ libcloud/branches/0.12.x/CHANGES Sat May 18 22:47:51 2013
@@ -33,6 +33,14 @@ Changes with Apache Libcloud in deveplom
a number of virtual CPUs for this size. (LIBCLOUD-325)
[Carlo]
+ - For consistency rename "ex_describe_keypairs" method in the EC2 driver to
+ "ex_describe_keypair".
+ [Tomaz Muraus]
+
+ - Modify "ex_describe_keypair" method to return key fingerprint in the
+ return value. (LIBCLOUD-326)
+ [Andre Merzky, Tomaz Muraus]
+
*) Load Balancer
- Add ex_list_current_usage method to the Rackspace driver.
Modified: libcloud/branches/0.12.x/libcloud/compute/drivers/ec2.py
URL:
http://svn.apache.org/viewvc/libcloud/branches/0.12.x/libcloud/compute/drivers/ec2.py?rev=1484195&r1=1484194&r2=1484195&view=diff
==============================================================================
--- libcloud/branches/0.12.x/libcloud/compute/drivers/ec2.py (original)
+++ libcloud/branches/0.12.x/libcloud/compute/drivers/ec2.py Sat May 18
22:47:51 2013
@@ -800,7 +800,14 @@ class BaseEC2NodeDriver(NodeDriver):
return names
def ex_describe_keypairs(self, name):
- """Describes a keypair by name
+ """
+ Here for backward compatibility.
+ """
+ return self.ex_describe_keypair(name=name)
+
+ def ex_describe_keypair(self, name):
+ """
+ Describes a keypair by name.
@note: This is a non-standard extension API, and only works for EC2.
@@ -818,8 +825,12 @@ class BaseEC2NodeDriver(NodeDriver):
response = self.connection.request(self.path, params=params).object
key_name = findattr(element=response, xpath='keySet/item/keyName',
namespace=NAMESPACE)
+ fingerprint = findattr(element=response,
+ xpath='keySet/item/keyFingerprint',
+ namespace=NAMESPACE).strip()
return {
- 'keyName': key_name
+ 'keyName': key_name,
+ 'keyFingerprint': fingerprint
}
def ex_list_security_groups(self):
Modified: libcloud/branches/0.12.x/libcloud/test/compute/test_ec2.py
URL:
http://svn.apache.org/viewvc/libcloud/branches/0.12.x/libcloud/test/compute/test_ec2.py?rev=1484195&r1=1484194&r2=1484195&view=diff
==============================================================================
--- libcloud/branches/0.12.x/libcloud/test/compute/test_ec2.py (original)
+++ libcloud/branches/0.12.x/libcloud/test/compute/test_ec2.py Sat May 18
22:47:51 2013
@@ -267,6 +267,20 @@ class EC2Tests(LibcloudTestCase, TestCas
keys = self.driver.ex_describe_all_keypairs()
self.assertEqual(keys, ['gsg-keypair'])
+ def test_ex_describe_keypairs(self):
+ keypair1 = self.driver.ex_describe_keypair('gsg-keypair')
+
+ # Test backward compatibility
+ keypair2 = self.driver.ex_describe_keypairs('gsg-keypair')
+
+ fingerprint = '00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:' + \
+ '00:00:00:00:00'
+
+ self.assertEqual(keypair1['keyName'], 'gsg-keypair')
+ self.assertEqual(keypair1['keyFingerprint'], fingerprint)
+ self.assertEqual(keypair2['keyName'], 'gsg-keypair')
+ self.assertEqual(keypair2['keyFingerprint'], fingerprint)
+
def test_ex_describe_tags(self):
node = Node('i-4382922a', None, None, None, None, self.driver)
tags = self.driver.ex_describe_tags(resource=node)