Назад | Перейти на главную страницу

Ошибка при создании EC2 Dynamic Inventory в Ansible

Я новичок в 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, у вас есть два способа сделать это:

  1. установить python-boto пакет в вашей системе Ubuntu:

    sudo apt-get install python-boto

  2. установить пакет 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

Привет всем, я столкнулся с этой же проблемой. Моя настройка следующая:

  • Mac OSX 10.11.6
  • Python 2.7.13
  • Ansible 2.3.0.0
  • бото 2.46.1

Я использую 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

Ищу любую помощь. Спасибо!