Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Запуск Ansible Playbooks под uWSGI не работает

Автор вопроса: LiteWaitОтветов: 1

У меня есть Ansible Playbooks, запускаемые из командной строки, так как кажется, что Ansible использует исполняющее приложение (в данном случае Python) в качестве команды для вызова Playbooks.

Проблема в том, что когда вы пытаетесь запустить Ansible Playbooks под uWSGI, команда, которая пытается запустить Playbook, использует / usr / bin / uwsgi.

Каким-то образом Ansible находит команду, под которой работает. Есть ли способ это изменить?

ОБНОВЛЕНИЕ: я считаю, что запускаемая команда - это просто sys.executable. Это можно изменить?

pythonansibleuwsgi

Ответы

Ответ 1 · Kashyap

Не совсем понял общую картину, но помогает ли это, если вы можете указать интерпретатор для каждого удаленного хоста, используя "поведенческий-инвентарный-параметр":

ansible_python_interpreter Путь Python к целевому хосту. Это полезно для систем с более чем одним Python или расположенных не в "/ usr / bin / python", таких как * BSD, или где / usr / bin / python не является Python серии 2.X. Мы не используем механизм "/ usr / bin / env", поскольку он требует правильной установки пути удаленного пользователя, а также предполагает, что исполняемый файл "python" называется python, где исполняемый файл может называться примерно как "python26".

например вот как будет выглядеть ваш файл инвентаря, если вы укажете их на уровне группы (вы также можете указать на уровне хоста, конечно, по вашему выбору):

# I think specifying ansible_ssh_host won't be needed, but if needed here is how it can be done.
# localhost ansible_ssh_host=127.0.0.1 ansible_python_interpreter=/usr/local/bin/python
localhost ansible_python_interpreter=/usr/local/bin/python
[rhel5-boxes]
rhelhost1
# ...

# other groups...

[rhel5-boxes:vars]
ansible_python_interpreter=/usr/bin/python2.6

[rhel6-boxes]
ansible_python_interpreter=/usr/bin/python

[iron-boxes:vars]
ansible_python_interpreter=/usr/bin/ipython

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы