libcloud-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Carlos Reategui (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (LIBCLOUD-438) Cloudstack driver ex_list_keypairs does not work if no keypairs exist
Date Thu, 14 Nov 2013 15:09:22 GMT

    [ https://issues.apache.org/jira/browse/LIBCLOUD-438?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13822498#comment-13822498
] 

Carlos Reategui commented on LIBCLOUD-438:
------------------------------------------

[~sebgoa] Browsing the code, I think ex_list_security_groups may have the same problem.

> Cloudstack driver ex_list_keypairs does not work if no keypairs exist
> ---------------------------------------------------------------------
>
>                 Key: LIBCLOUD-438
>                 URL: https://issues.apache.org/jira/browse/LIBCLOUD-438
>             Project: Libcloud
>          Issue Type: Bug
>          Components: Compute
>    Affects Versions: 0.13.2
>         Environment: python 2.6
>            Reporter: Carlos Reategui
>
> 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):
>          """



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Mime
View raw message