Для приведенных ниже команд:
virtualenv --system-site-packages `pwd`/.test
# load virtual environment
source `pwd`/.test/bin/activate
# install required python modules
# for some reason argparse is not included with credstash install but required at runtime :(
#PYPI_REPO=http://${PYPI_DNS}/aes/release/+simple/
#PYPI_DNS is internal company DNS
pip install pip --upgrade -i ${PYPI_REPO} --quiet
pip install argparse==1.4.0 -i ${PYPI_REPO} --trusted-host ${PYPI_DNS} --quiet
pip install credstash==1.14.0 -i ${PYPI_REPO} --trusted-host ${PYPI_DNS} --quiet
Это иногда успешно работает.
Однако иногда это не будет работать при установке argparse:
Не удалось найти версию, которая удовлетворяет требованию argparse == 1.4.0 (из версий:) Не найдено соответствующего распределения для argparse == 1.4.0
Тогда в другое время он не сможет установить credsta sh:
Не удалось найти версию, которая удовлетворяет требованию boto3> = 1.1.1 (из credstash == 1.14.0) (из версий:) Не найдено подходящего дистрибутива для boto3 > = 1.1.1 (из credstash == 1.14.0)
Я не могу найти причину сбоя и успешного завершения.
Обратите внимание, что приведенные выше команды взяты из файла xxx. sh, который запускается как часть сценария пользовательских данных EC2 - он работает почти на 90% при запуске EC2.
Однако он работает в 10% случаев, когда я запускаю xxx. sh вручную (sh запускает ansible playbook после кредл sh установлен - следовательно, запуск вручную - это более быстрый способ тестирования playbook) при SSHing на экземпляре EC2 - ошибка переключается между двумя сообщениями об ошибках, которые я изложил выше. Я не python разработчик, так что, может быть, я что-то упустил, пожалуйста, если вы можете указать мне правильное направление?