2016-02-22 6 views
0

Используя эти документы apache libloud и действительные учетные данные, я получаю следующую ошибку, пытаясь перечислить домены на godaddy. Поддерживает ли libcloud noi godaddy?Apache libcloud, dns и godaddy - Имя или услуга не известна

>>> from libcloud.dns.types import Provider 
>>> from libcloud.dns.providers import get_driver 
>>> cls = get_driver(Provider.GODADDY) 
>>> driver = cls('twst', 'adfadf', 'dsdfsdf') 
>>> zones = driver.list_zones() 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/usr/local/lib/python2.7/dist-packages/libcloud/dns/drivers/godaddy.py", line 146, in list_zones 
    '/v1/domains/').object 
    File "/usr/local/lib/python2.7/dist-packages/libcloud/common/base.py", line 782, in request 
    headers=headers) 
    File "/usr/lib/python2.7/httplib.py", line 979, in request 
    self._send_request(method, url, body, headers) 
    File "/usr/lib/python2.7/httplib.py", line 1013, in _send_request 
    self.endheaders(body) 
    File "/usr/lib/python2.7/httplib.py", line 975, in endheaders 
    self._send_output(message_body) 
    File "/usr/lib/python2.7/httplib.py", line 835, in _send_output 
    self.send(msg) 
    File "/usr/lib/python2.7/httplib.py", line 797, in send 
    self.connect() 
    File "/usr/local/lib/python2.7/dist-packages/libcloud/httplib_ssl.py", line 266, in connect 
    self.timeout) 
    File "/usr/lib/python2.7/socket.py", line 553, in create_connection 
    for res in getaddrinfo(host, port, 0, SOCK_STREAM): 
socket.gaierror: [Errno -2] Name or service not known 
>>> 
+0

ps Я использую версию 0.20.1 – Tampa

+0

Можете ли вы запустить 'ping api.godaddy.com' с того же компьютера, на котором вы запускаете этот скрипт python? – Markon

ответ

1

Похоже, что была ошибка в драйвере. Атрибут «host» в классе подключения был неправильно установлен на URL вместо имени хоста.

Я нажал исправление этого - https://github.com/apache/libcloud/commit/a3ba6a4751623224f16175df9175ec06b29cdc1a

Вы можете проверить это изменение, установив новейшие разработки версии от мерзавца, используя пип - pip install git+https://git-wip-us.apache.org/repos/asf/[email protected]#egg=apache-libcloud

Я подтвердил изменение работает локально, но если вы столкнулись больше вопросов, пожалуйста, сообщите нам.

from libcloud.dns.types import Provider 
from libcloud.dns.providers import get_driver 
cls = get_driver(Provider.GODADDY) 
driver = cls('twst', 'adfadf', 'dsdfsdf') 
print driver.list_zones() 
... 
libcloud.dns.drivers.godaddy.GoDaddyDNSException: <GoDaddyDNSException in MALFORMED_API_KEY: Malformed API key> 

В дополнении к этому, я также буду идти вперед и толкать изменение поэтому более дружественное исключение в случае, если атрибут «хозяин» установлен на значение, которое не является именем хоста.