Я новичок в Ansible. Я использовал следующий учебник для настройки динамического инвентаря - https://aws.amazon.com/blogs/apn/getting-started-with-ansible-and-dynamic-amazon-ec2-inventory-management/
При запуске ec2.py я получаю следующую ошибку: ОШИБКА: в сценарии инвентаризации (ec2.py) произошла ошибка выполнения: Traceback (последний вызов последним): файл «/etc/ansible/ec2.py», строка 130, in from boto import elasticache ImportError: невозможно импортировать имя elasticache
Кто-нибудь может подсказать, что происходит не так?
Похоже нужно установить модуль бото
pip install boto
должен сделать это за вас.
если вы устанавливаете Ansible из Ansible ppa
https://launchpad.net/~ansible/+archive/ubuntu/ansible
тогда ваш Ansible устанавливается с использованием пакета python 2.7 в вашем Ubuntu.
вам понадобится установленный python-boto, у вас есть два способа сделать это:
установить python-boto
пакет в вашей системе Ubuntu:
sudo apt-get install python-boto
установить пакет boto
используя pip в вашей системе python, НЕ РЕКОМЕНДУЕТСЯ, избегайте этого, потому что в будущем у вас будут конфликты между пакетами python, установленными из apt как зависимости, и пакетами, установленными с помощью pip
sudo pip install boto
В Ubuntu (по крайней мере, 12.04) кажется, что если вы устанавливаете модули Python через PIP, /usr/local/lib/python2.7/dist-packages не будет доступен для чтения другим пользователям - он будет доступен для чтения пользователю root и группе сотрудников
drwxr-s--- 6 root staff 4096 Jan 7 22:04 awscli
drwxr-s--- 2 root staff 4096 Jan 7 22:04 awscli-1.9.17.dist-info
drwxr-s--- 6 root staff 4096 Dec 28 22:07 beaver
drwxr-s--- 2 root staff 4096 Dec 28 22:07 Beaver-31-py2.7.egg-info
drwxr-s--- 57 root staff 4096 Dec 28 22:07 boto
drwxr-s--- 2 root staff 4096 Dec 28 22:07 boto-2.38.0.dist-info
drwxr-s--- 5 root staff 4096 Jan 7 21:54 botocore
drwxr-s--- 2 root staff 4096 Jan 7 21:54 botocore-1.3.17.dist-info
Самым простым решением было бы (без изменения разрешений в каталоге dist) добавить вашего пользователя в группу персонала:
usermod -aG staff USERNAME
Привет всем, я столкнулся с этой же проблемой. Моя настройка следующая:
Я использую homebrew, и я безуспешно пытался переустановить и ansible, и boto. Я получаю сообщение об ошибке:
ERROR! Attempted to execute "inventories/ec2.py" as inventory script: Inventory script (inventories/ec2.py) had an execution error: Traceback (most recent call last):
File "/Users/myname/Sites/admin/ansible/inventories/ec2.py", line 130, in <module>
from boto import elasticache
ImportError: cannot import name elasticache
Ищу любую помощь. Спасибо!