libcloud-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF subversion and git services (JIRA)" <>
Subject [jira] [Commented] (LIBCLOUD-610) GCE Driver with bad private key path generates unintuitive error message
Date Wed, 31 Dec 2014 23:34:13 GMT


ASF subversion and git services commented on LIBCLOUD-610:

Commit 5f0ccc1a5c3efb1a76e9e414e9691a17ba7f40a9 in libcloud's branch refs/heads/trunk from
[;h=5f0ccc1 ]

Revert "[LIBCLOUD-610] gce: better error message for missing key file"

This reverts commit 95ae5beea125797ba3bd07028af1dbbd65dc2265.

Signed-off-by: Eric Johnson <>

> GCE Driver with bad private key path generates unintuitive error message
> ------------------------------------------------------------------------
>                 Key: LIBCLOUD-610
>                 URL:
>             Project: Libcloud
>          Issue Type: Bug
>          Components: Compute
>            Reporter: Jeff Tratner
>            Assignee: Eric Johnson
>            Priority: Minor
>              Labels: Google
> When you pass a key to the GCE driver and the path doesn't exist, it ends up passing
the buck down to PyCrypto, because it assumes that it isn't a keypath. Relevant lines are
here (snipped from `__init__` method of `GoogleBaseAuthConnection`):
> {}
>         keypath = os.path.expanduser(key)
>         is_file_path = os.path.exists(keypath) and os.path.isfile(keypath)
>         if is_file_path:
>             with open(keypath, 'r') as f:
>                 key =
>         super(GoogleServiceAcctAuthConnection, self).__init__(
>             user_id, key, *args, **kwargs)
> {code}
> The problem is the keypath doesn't exist (and obviously it's not a file), so instead
of a nice error message saying 'invalid file path', you get a ValueError from PyCrypto saying
'ValueError: RSA key format is not supported' which is problematic especially because you
also get this error if you have the wrong version of PyCrypto installed. Given that PyCrypto
actually expects bytes, I think it makes sense for libcloud to be responsible for this error.
> I encountered this using salt and there's an open issue to deal with it on the salt end
here -

This message was sent by Atlassian JIRA

View raw message