Anonymous
- name: Run a script using an executable in a system path script: /some/local/script.py args: executable: python3
Max
- name: Run a script using an executable in a system path script: /some/local/script.py args: executable: python3
только нужно убедиться, что на целевой тачке правильный питон и нужные скрипту пакеты. поэтому, обычно рекомендую пользоваться virtualenv, или схожей технологией, дабы не зафигачить системный питон левенькими пакетами
Max
а то бывает, что скрипту нужен пакет А версии 100.500, а в системе нужен пакет А версии 0.0.1
Max
+100500
🤣🤣🤣
Max
совпадение? конспирация?
Руслан
привет!
Руслан
Ansible почему-то требует определить переменную wl_servers, хотя я в тегах прошу выполнить другую операцию. Как это обойти?
Антон
потому что у тебя в строчке with_item обозначена эта переменная
Anonymous
@systemctl будет жить. Поприветствуем!
Div
добрый день коллеги. был ли у кого-то опыт управления софтварным роутером pfsense с помощью ансибля? на гэлэкси примеров нет. в инете нашел такую штуку https://github.com/opoplawski/ansible-pfsense но насколько я понимаю, это костыль а не официальный модуль.
Дмитрий Харитонов
По моему, ансибля на 90% состоит из неофициальных модулей)
Anonymous
@Realgord88 будет жить. Поприветствуем!
Vlad
Добрый день. Подскажите, как заставить AWX использовать переменные из host_vars? При запуске пишет, что undefined переменная. Вручную из консоли, если запускать плейбук, то ок.
Alex
msg: 'Failed to validate the SSL certificate for www.example.com:443. Make sure your managed systems have a valid CA certificate installed. If the website serving the url uses SNI you need python >= 2.7.9 on your managed machine (the python executable used (/usr/bin/python) is version: 2.7.6 (default, Nov 13 2018, 12:45:42) [GCC 4.8.4]) or you can install the `urllib3`, `pyOpenSSL`, `ndg-httpsclient`, and `pyasn1` python modules to perform SNI verification in python >= 2.6. You can use validate_certs=False if you do not need to confirm the servers identity but this is unsafe and not recommended. Paths checked for this platform: /etc/ssl/certs, /etc/pki/ca-trust/extracted/pem, /etc/pki/tls/certs, /usr/share/ca-certificates/cacert.org, /etc/ansible. The exception msg was: [Errno 1] _ssl.c:510: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed.'
Alex
а кто то сталкиался с таким при использовании uri?
Alex
сертификат естественно валидный
George
Написано же
George
Пихтон 2.7.9. иначе не работает sni
George
Или надо приготовить правильный набор модулей
Alex
буквально полгода назад работало
Alex
версия питона не менялась
Alex
ибо ubuntu 14
George
Ещё может быть, что корневые у тебя какие-то не такие
George
ибо ubuntu 14
Легаси
Alex
curl с этой машины работает без проблем
George
curl с этой машины работает без проблем
Тогда скорее ca в норме, чем нет
Sergey
curl с этой машины работает без проблем
Разные CA-бандлы. Python, как правило, положил на системные.
Sergey
Модуль requests, в частности.
Sergey
Alex
> or you can install the urllib3, pyOpenSSL, ndg-httpsclient, and pyasn1 таки да, помогло # pip install pyasn1 ndg-httpsclient
Хамза
Коллеги, можно ли настроить playbook чтобы он перебирал пароли ?
George
🥺
Артём
Коллеги, можно ли настроить playbook чтобы он перебирал пароли ?
Для подключения к хосту по ssh или какие-то другие?
Хамза
По ssh
Alexander
Есть такой шаг: - name: npm build become: yes become_user: root become_method: sudo command: npm run build args: chdir: /some/dir На прошлой неделе запускал - всё нормально было. На этой неделе: 01:46:05 TASK [role_name : npm build] **************************************************** 01:52:16 fatal: [1.1.1.1]: UNREACHABLE! => {"changed": false, "msg": "SSH Error: data could not be sent to remote host \"1.1.1.1\". Make sure this host can be reached over ssh", "unreachable": true} (IP другой, понятно) При это всё таски до этого и после этого исполняются без проблем. Выяснено, что между запусками случилось обновление npm. Было решено откатить npm и закомментировать таск с его обновлением. Не помогло. Результат тот же. При этом запуск команды вручную проходит нормально. Есть предположения, как решать проблему? Инфы диагностической никакой не даёт больше.
Артём
По ssh
На уровне плейбука - нет. Придётся лезть руками в кишочки ансибла и менять ansible_ssh_pass на список и делать подключение циклом.
Хамза
Понял, а можно ли указать чтобы каждое неудочное состояние задачи, failed skipped записывалось в отдельный retry файл
Tamerlan
/home/mec_engineer/freeipa/playbooks/roles freeipa]$ ls roles/
John
вставил разделитель что бы лучше читалось) там есть ls roles и ipaclient
John
тут прикол в другом, почему он роль ищет в папке плейбуков?
John
перечитай пути ещё раз
так в этом то и печаль, я не понимаю почему роли должны быть в плейбуках)
Sergey
Наверное, потому, что твоя структура каталогов отличается от принятой по дефолту?
Sergey
Очевидно жи, у тебя плейбук где лежит? Вот от него roles и ищутся, елси ты ничего специально не настроил.
John
👹 перечитал playbooks_best_practices, вопросов больше не имею)
AlexShmel🐝
Подскажите как преобразовать эту переменную {{ hostname }} в которой лежит значение типа ns.example.com в ns1 я понимаю что мне нужно использовать что- вроде {{ hostname | magic }} но я не на знаю как пользоваться этой штукой и как туда минимальный sed запихнуть
Viachaslau
в гите
Походу надо добавить в используемый inventory для проекта ресурс с файлами для импорта. https://docs.ansible.com/ansible-tower/3.5.1/html/userguide/inventories.html#ug-inventories
AlexShmel🐝
можете чуть больше информации дать? какая задача стоит, чего пытаетесь достичь?
Пытаюсь создать темплейт для генерации /etc/hostname и /etc/hosts файлов. мне необходимо сделать строки вида 127.0.1.1 fqdn hostaname
AlexShmel🐝
просто сам модуль ansible hostname мои потребности не удовлетворяет
Отделение Bereke Bank
ansible -m setup глянь. там есть то что тебе нужно, но не помню как называется
Tamerlan
а, кажется понял вам нужен не fqdn, а просто название хоста?
Отделение Bereke Bank
Пытаюсь создать темплейт для генерации /etc/hostname и /etc/hosts файлов. мне необходимо сделать строки вида 127.0.1.1 fqdn hostaname
127.0.0.1 {{ ansible_hostname }} {{ ansible_fqdn }} щас не вспомню почему - в свое время поменял ansible_fqdn на ansible_nodename
Tamerlan
алсо для хостнэймов есть свой модуль
AlexShmel🐝
Sergey
Что, никто не знает по npm + ansible? :(
Как вариант - никто так не делает 😉
Alexander
Как вариант - никто так не делает 😉
Мне бы хотя бы понять, где ошибка. Тут даже -vvv не даёт ничего, кроме unreachable. При это если тупо по ssh запустить - работает. Даже в режиме ad-hoc
Vlad
Походу надо добавить в используемый inventory для проекта ресурс с файлами для импорта. https://docs.ansible.com/ansible-tower/3.5.1/html/userguide/inventories.html#ug-inventories
спасибо) пошло в нужном русле. только осталось разобраться с мелкими деталями. у меня в host прописаны 20 хостов например а в inventory для одного хоста я добавил source и при выполнение он попытался выполнить для всех 20 хостов из host
Vlad
но это я думаю, что разберусь
Maxim
коллеги, подскажите, есть ли какой-то способ в плейбуке/роли из листа строк сделать лист dict'ов? хочется вот тут: $ ansible localhost -m debug -a "msg={{ groups['all'] | map('extract', hostvars, ['ansible_default_ipv4', 'address']) | list}}" localhost | SUCCESS => { "msg": [ "172.18.1.13", "172.18.1.16", "192.168.17.4", ... вывод переделать в [ { "ip": "172.18.1.13" }, { "ip": "172.18.1.16" }, ...]
George
можно
George
функцию не помню ))))
Timur
Коллеги, можно ли настроить playbook чтобы он перебирал пароли ?
Это надо в коллекцию заносить. Брутфорс с помощью ансибла
AlexShmel🐝
потому что у меня запись host: all но плейбук я запускаю как ansible-playbook -i ip_addres
Maxim
функцию не помню ))))
ты наверное про items2dict, да? ;)