2017-01-24 22 views
0

анзибль: анзибль-галактика 2.2.0.0анзибль-галактики стенает инициализации установки - Не удалось получить данные с сервера API - это байт-подобный объект требуется, а не «ул»

питон: Python 2.7.10

Я попытался выполнить команду ansible-galaxy, чтобы создать новую структуру ролей (init), но не удалось выполнить следующее сообщение. Итак, я посмотрел онлайн и попробовал --offline вариант и часть создания структуры.

До сих пор у меня есть GitHub репо: https://github.com/asangal/wavefront-ansible

Роль также видны в анзибле Галактике под Browse Roles.

https://galaxy.ansible.com/list#/roles?page=1&page_size=10&autocomplete=wavefront или

https://galaxy.ansible.com/asangal/wavefront-ansible/

В соответствии с инструкциями, я пытаюсь выполнить шаг установки, запустив , но опять не с тем же сообщением об ошибке, как показано ниже.

$ ansible-galaxy install asangal.wavefront-ansible 
[WARNING]: - asangal.wavefront-ansible was NOT installed successfully: Failed to get data from the API server (https://galaxy.ansible.com/api/): a bytes-like object is 
required, not 'str' 

ERROR! - you can use --ignore-errors to skip failed roles and finish processing the list. 

ИЛИ (используется --ignore-errors и -p <role_path> варианты, но это не помогло)

$ ansible-galaxy install asangal.wavefront-ansible --ignore-errors -p ~/aks/dummy 
[WARNING]: - asangal.wavefront-ansible was NOT installed successfully: Failed to get data from the API server (https://galaxy.ansible.com/api/): a bytes-like object is 
required, not 'str' 

[[email protected] ~/aks/dummy] $ ls -l 
[[email protected] ~/aks/dummy] $ 

curl -v https://galaxy.ansible.com/asangal/wavefront-ansible/, кажется, работает хорошо.

Почему я получаю эту ошибку: Failed to get data from the API server (https://galaxy.ansible.com/api/): a bytes-like object is required, not 'str'?

ответ

1

Ваша роль загружается отлично для меня с Python 2.7.13.

bytes-like object is required, not 'str' связан с Python3, я подозреваю, что вы должны быть в порядке, если используете Python 2.x.

+0

Я python 'Python 2.7.10', позвольте мне попробовать с 2.7.13. Это правда, что моя '$, какая-либо галактика /Library/Frameworks/Python.framework/Versions/3.5/bin/ansible-galaxy' ansible/ansible- * находится в указанном выше пути bin. Это на самом деле сработало, когда мой вопрос не исходил из вышеуказанного пути. Спасибо. –

0

Итак, благодаря Zlemini. Таким образом, уточнить:

My ansible на самом деле исходит из пути Python 3.5. Несмотря на то, что python по умолчанию равен 2,7.10.

[[email protected] ~/aks/dummy] $ python --version 
Python 2.7.10 
[[email protected] ~/aks/dummy] $ python3 --version 
Python 3.5.2 
[[email protected] ~/aks/dummy] $ 

[[email protected] ~/aks/dummy] $ which ansible-galaxy 
/Library/Frameworks/Python.framework/Versions/3.5/bin/ansible-galaxy 
[[email protected] ~/aks/dummy] $ 

[[email protected] ~/aks/dummy] $ which ansible 
/Library/Frameworks/Python.framework/Versions/3.5/bin/ansible 

Запуск же install команды это из другой моей бродячей машине, где, ansible был сольются из /usr/bin/ansible, команда работала, как ожидалось.

$ ansible-galaxy install asangal.wavefront-ansible -p ~/aks/dummy 
- downloading role 'wavefront-ansible', owned by asangal 
- downloading role from https://github.com/asangal/wavefront-ansible/archive/master.tar.gz 
- extracting asangal.wavefront-ansible to /home/vagrant/dummy/asangal.wavefront-ansible 
- asangal.wavefront-ansible was installed successfully 
[[email protected] ~/aks/dummy] $ ls -l 
total 4 
drwxrwxr-x. 9 vagrant vagrant 4096 Jan 24 23:16 asangal.wavefront-ansible