Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
0.13.2
-
None
-
python 2.6
Description
If there are no sshkeypairs in cloudstack one gets the following when trying ex_list_keypairs or ex_create_keypair which calls the first:
Traceback (most recent call last):
File "./csListKeyPairs.py", line 26, in <module>
keys = driver.ex_list_keypairs()
File "/usr/lib/python2.6/site-packages/libcloud/compute/drivers/cloudstack.py", line 601, in ex_list_keypairs
return res['sshkeypair']
KeyError: 'sshkeypair'
I fixed it with the following change. Please note I am a python noob so not sure if this is the best way to do fix or not:
— apache-libcloud-0.13.2/libcloud/compute/drivers/cloudstack.py 2013-09-15 15:40:43.000000000 +0000
+++ cloudstack.py 2013-11-14 04:05:26.000000000 +0000
@@ -597,7 +598,9 @@
extra_args = kwargs.copy()
res = self._sync_request('listSSHKeyPairs', **extra_args)
- return res['sshkeypair']
+ if res.has_key('sshkeypair'):
+ return res['sshkeypair']
+ return {}
def ex_create_keypair(self, name, **kwargs):
"""