Aleksey
А чего ещё надо не понятно
Aleksey
Енв?
Stripe
Всем привет, может кто подскажет, вот у меня есть 2 сервера, и я делаю настройку для nginx, чтобы он проксировал с сервера А на сервер В. Подскажите как мне получить из енвентори файла ип из группы, чтобы подсавить в конфиг?
Alex
Кирилл
добрый вечер
делаю учебный плейбук
с заливкой файла в док рут, рестарт сервиса в случае если файл изменился и проверка ответа от вебсервера
- name: Upload index.html to server
copy: src={{ source_file }} dest={{ destin_file }} mode=0555
notify: Restart Apache
- name: Check web servers
uri:
url: http://127.0.0.1/index.html
return_content: yes
register: this
failed_when: "'ololo' not in this.content"
handlers:
- name: Restart Apache
service: name=apache2 state=restarted
но судя по логам, происходит не в такой последовательности как я ожидаю
Upload index.html to server, проверили, что файл изменен, выполнили Check web servers и только потом вызов Restart Apache
Кирилл
как добиться нужной мне последовательности?
аплоад, проверка на изменение файла, рестарт апача, проверка ответа от апача
Grek 🇺🇦
хендлеры отрабатываю в самом конце, можно принудительно вызвать, а можно написать условия, если файл изменился - рестарт
вынести рестарт в такой-же таск
Кирилл
Кирилл
а, или вынести проверку результатов в отдельный playbook )
Кирилл
исключительно тренировочные цели )
Кирилл
нашел как правильно сделать
register: upload для задания с upload файлом
вынес в block два таска по рестарту и проверке ответа от сервера с условием when: upload.changed
красота жи
Lamobot
Lamobot
https://docs.ansible.com/ansible/latest/user_guide/playbooks_intro.html#handlers-running-operations-on-change
В конце пример с использованием listen директивы
Alex
а я правильно понимаю, что если я хочу задать python interpreter на ansible хосте, то в инвентори мне надо делать запись для localhost и там указывать необходимую версию?
Sergey
На таргете?
Sergey
На контроллере интерпретатор задаётся самим фактом запуска тащем-та.
Alex
нет, речь об ансибл контроллере
Sergey
^^^
Alex
запуском чего?
inqfen
Sergey
запуском чего?
Ансибла. Он же под каким-то конкретным питоном стартует, если что.
inqfen
ансибл некоторый бинарник который выполняется некоторым питоном
Alex
ну вот есть две версии питона - какая стартанет?
inqfen
inqfen
Может быть и 2 ансибла
Alex
обе через pip
Barthez
Которая будет прописана в env
Sergey
Совсем запутали :-)))))))
Alex
у меня нет venv
Sergey
ты пипом в системный питон ставил что ли?
Alex
и?
Alex
какого симлинка? И как что то можно понять с этой простыни 😉
Alex
# ansible --version
/usr/lib64/python2.7/site-packages/cryptography/__init__.py:39: CryptographyDeprecationWarning: Python 2 is no longer supported by the Python core team. Support for it is now deprecated in cryptography, and will be removed in a future release.
CryptographyDeprecationWarning,
ansible 2.9.12
config file = None
configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/site-packages/ansible
executable location = /bin/ansible
python version = 2.7.17 (default, Jun 5 2020, 03:38:32) [GCC 8.3.1 20191121 (Red Hat 8.3.1-5)]
# /usr/bin/python --version
Python 3.6.8
Alex
что то не сходится
Sergey
Всё сошлось.
Alex
я показываю что это не так
Sebor▂▅▇█▓▒░
Про такие вещи не стоит говорить нубам, они же сломать все могут))
Alex
Aliaksei
Для сервера:
Если ансибл установлен пакетом (убунту)то он уже скомпилирован под второй питон. С сервера он будет работать со 2ой версией для local запусков модулей. Если ставился через pip или venv то скорее всего третий. В версии можно посмотреть.
Для клиента:
Какой будет указан в переменной интерпретатора с той версией и запустится именно уже выполнение плейбуков.
Sebor▂▅▇█▓▒░
Sebor▂▅▇█▓▒░
inqfen
Sergey
Alex
Sebor▂▅▇█▓▒░
Alex
Alex
оба ансибла для 2го и 3го питона поставлены через свои pip’ы
Alex
дефолтный в системе второй питон
Alex
как мне запустить ансибл с 3м питоном
Vlad
В ubuntu ansible на python 3 https://packages.ubuntu.com/focal/ansible
Alex
а кто сказал что речь об RH8?
Alex
сами додумали? ))
Vlad
А в centos 7 есть ansible и ansible-3
Sebor▂▅▇█▓▒░
#язабан
Sergey
Alex
#язабан
отвечать надо на вопросы - а не додумывать и предполагать
Alex
Alex
Никита
Никита
Гугл открой
Alex
ну неее
Никита
первая ссылка по запросу
Никита
и вторая
Никита
и т.д.
Alex
еще раз перечитай мой изначальный вопрос
Sergey
без venv никак?
Я навскидку не помню, куда именно будет ставить pip3 пакеты, тем более, что у тебя мак-фигак.
Alex
чтобы не давать глупых советов
Sergey
Alex