You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by "Eric Johnson (JIRA)" <ji...@apache.org> on 2014/12/30 21:33:13 UTC

[jira] [Commented] (LIBCLOUD-624) google dns provider unusable - access without SSL is disabled, and can't enable SSL

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

Eric Johnson commented on LIBCLOUD-624:
---------------------------------------

Hi Tim,

Sorry for the delay in responding. Looking it over, I think Franck Cuny may have fixed this in https://github.com/apache/libcloud/commit/f1c42527b2d8994035832b84da8c782ea91c9484. I took your test script and it worked fine as-is,

{code}
erjohnso@libcloud-100$ PYTHONPATH=~/libcloud python dns.py                                                                                                                        
<class 'libcloud.dns.drivers.google.GoogleDNSDriver'>
SECURE: True
[<Zone: domain=erjohn.so., ttl=None, provider=Google DNS ...>]
{code}

So, I'm going to mark this fixed. But if you're still having issues, please re-open and I promise to be more attentive. :)

Thanks!
Eric

> google dns provider unusable - access without SSL is disabled, and can't enable SSL
> -----------------------------------------------------------------------------------
>
>                 Key: LIBCLOUD-624
>                 URL: https://issues.apache.org/jira/browse/LIBCLOUD-624
>             Project: Libcloud
>          Issue Type: Bug
>          Components: DNS
>            Reporter: Tim Cuthbertson
>            Assignee: Eric Johnson
>              Labels: Google
>
> This script:
> {code}
> #!/usr/bin/env python
> from __future__ import print_function
> from libcloud.dns.providers import get_driver as get_dns_driver
> from libcloud.dns.types import Provider as DNSProvider
> auth = {
> 	'account': '<redacted>@developer.gserviceaccount.com',
> 	'key': '<redacted>.pem',
> 	'project': '<redacted>',
> }
> Driver = get_dns_driver(DNSProvider.GOOGLE)
> print(repr(Driver))
> gce_dns = Driver(auth['account'], auth['key'],
> 		project=auth['project'],
> 		# secure=True
> 		)
> print('SECURE: ' + str(gce_dns.secure))
> print(gce_dns.list_zones())
> {code}
> Fails with:
> {code}
> 	{"error":{"errors":[{"domain":"global","reason":"sslRequired","message":"SSL is required to perform this operation."}],"code":403,"message":"SSL is required to perform this operation."}}
> {code}
> If I uncomment out the {{secure = True}} line (which seems like it ought to fix the above), I get:
> {code}
> Traceback (most recent call last):
>   File "./dns.py", line 18, in <module>
>     secure=True)
>   File "/.../libcloud/dns/drivers/google.py", line 73, in __init__
>     super(GoogleDNSDriver, self).__init__(user_id, key, scopes, **kwargs)
> TypeError: __init__() got multiple values for keyword argument 'secure'
> {code}
> This is the first time I've tried to use libcloud's DNS api, so apologies if I'm missing something.
> libcloud-0.15.1, and also replicated on the current `master`.
> I dug into the code a little, and class GoogleDNSDriver's {{\_\_init\_\_}} calls:
> {code}
> 	super(GoogleDNSDriver, self).__init__(user_id, key, scopes, **kwargs)
> {code}
> While its superclass (libcloud.base.DNSDriver) __init__ function takes:
> {code}
> 	def __init__(self, key, secret=None, secure=True, host=None, port=None, **kwargs):
> {code}
> ...which doesn't match up at all.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)