Как запустить ansible скрипт инвентаризации с python3 - PullRequest
0 голосов
/ 10 апреля 2020

Я запускаю docker контейнер с alpine. И запускаю ansible скрипт для получения динамического c инвентаря из AWS, и он отлично работает с python2. Но я изменяю его на python3, и это вызывает у меня проблемы. Получение предупреждений и невозможность их анализа

В python2 я смог запустить скрипт python таким образом ./ec2.py

Теперь с python3 я получаю эта ошибка: env: can't execute 'python': No such file or directory

[WARNING]:  * Failed to parse ci/ec2.py with script
 plugin: Inventory script (ci/ec2.py) had an execution
 error: env: can't execute 'python': No such file or directory
 [WARNING]:  * Failed to parse ci/ec2.py with ini plugin:
 ci/ec2.py:3: Error parsing host definition ''''': No
 closing quotation
 [WARNING]: Unable to parse ci/ec2.py as an inventory
 source
 [WARNING]: No inventory was parsed, only implicit localhost is available
 [WARNING]: provided hosts list is empty, only localhost is available. Note that
 the implicit localhost does not match 'all'

Python3

apk --update --no-cache add python3 py3-setuptools
pip3 install --upgrade pip
pip3 install awscli ansible boto
chmod 755 ec2.py
ansible-playbook provisioning/ec2New.yml  -i ec2.py --private-key ssh-key.pem -e "type_inventory=${TYPE_INVENTORY}

ansible .cfg

[defaults]
host_key_checking = False
stdout_callback = yaml
ansible_python_interpreter = /usr/bin/python3

Моя старая конфигурация с python 2

apk --update --no-cache add python py-pip
pip install --upgrade pip
pip install awscli ansible botocore boto
chmod 755 ec2.py
ansible-playbook provisioning/ec2New.yml  -i ec2.py --private-key ssh-key.pem -e "type_inventory=${TYPE_INVENTORY}

old ansible .cfg

defaults
host_key_checking = False
stdout_callback = yaml
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...