Apache libcloud, dns и godaddy — имя или служба неизвестны

Используя эти документы apache libloud и действительные учетные данные, я получаю следующую ошибку при попытке перечислить домены на godaddy. libcloud больше не поддерживает 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
>>> 

person Tampa    schedule 22.02.2016    source источник
comment
PS Я использую версию 0.20.1   -  person Tampa    schedule 22.02.2016
comment
Можете ли вы запустить ping api.godaddy.com с той же машины, на которой вы запускаете этот скрипт Python?   -  person Markon    schedule 22.02.2016


Ответы (1)


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

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

Вы можете проверить это изменение, установив последнюю версию разработки из git, используя pip - pip install git+https://git-wip-us.apache.org/repos/asf/libcloud.git@trunk#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>

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

person Tomaz Muraus    schedule 23.02.2016