Отделение Bereke Bank
Есть динамик инвентори и плейбук из двух плеев Первый плей создает виртуалки. Второй настраивает (должен настраивать) их Проблема: поскольку на момент запуска плейбука виртуалки отсутствуют - второй плей возвращает no hosts matched Это как-то можно решить, не делая 2 запуска плейбука?
Отделение Bereke Bank
бля. точно
Отделение Bereke Bank
спасибо
Aleksey
Привествую! Есть плейбук: --- - hosts: rb-pshost1 gather_facts: no become: yes become_method: runas become_user: Administrator - tasks: - name: Run test Powershell script win_command: powershell.exe c:\Tmp\test.ps1 register: powershell_out - name: Print output debug: msg: "{{ powershell_out } }
Aleksey
Почему при запуске плейбука ansible ругается на отсутствие hosts? rb-adm :: ~/ansible/windows # ansible-playbook --syntax-check main.yml ERROR! the field 'hosts' is required but was not set
Aleksey
Блин, почти час тупил >_<
Aleksey
Спасибо большое
Aleksey
Да, перед tasks "-" не нужен я понял =)
Jack
а есть механизмы валидации некорректных отступов во время написания плейбуки сразу?
Jack
а мб подскажет кто какой плаг отвечает за это в intellij idea/vs code.
Aleksey
Ну вот vscode у меня не подсветил
Aleksey
Оказалось, что при удалённом редактировании надо модули и на удалённую машину ставить.
Aleksey
Я не об этом
Aleksey
У vscode есть модули для удаленного редактирования:
Aleksey
Ты запускаешь vscode На своей тачке, а он подключается по SSH (например) к удаленной тачке и прямо на месте редактирует файлы
Aleksey
git там же
Aleksey
Короче, на удаленную тачку тоже надо ставить некоторые плагины vscode
Vladimir
git там же
какая дичь
Aleksey
А что не так?
Aleksey
Мне кажется это удобно
Jack
IDEA - SnakeYAML
спасибо
Sergey
А что не так?
Это не про Ансибл. Заканчиваем обсуждение странных практик (см. правила).
Aleksey
Второй вопрос. Есть тут извращенцы с Ansible + winrm?
Aleksey
У меня все тот плебук при выполнении зависает
Aleksey
--- - hosts: rb-pshost1 gather_facts: no become: yes become_method: runas become_user: Administrator tasks: - name: Ping win_ping: - name: Run test Powershell script win_command: powershell.exe c:\Tmp\test.ps1 register: powershell_out - name: Print output debug: msg: "{{ powershell_out }}"
Aleksey
Результат: https://pastebin.com/T9zRzL5q
Aleksey
Ты на винде доступы открыл?
Все что в документации ansible написано - сделал
Sergey
Все что в документации ansible написано - сделал
Файрвол там, прочее? Там куча вещей, которые сходу ломаются, ну или которые искаропки отключены.
Stefan
как такое блин возможно?! TASK [bar_sites : Debug] ******************************************************* ok: [domain.com] => { "bar_sites": "[{'domain_name': 'domain.com', 'www_redirect': False, 'www_domain': False, 'backend': False}]" } TASK [bar_sites : Generate nginx config] *************************************** fatal: [drinkhome.bar]: FAILED! => {"msg": "The task includes an option with an undefined variable. The error was: 'ansible.utils.unsafe_proxy.AnsibleUnsafeText object' has no attribute 'domain_name'\n\nThe error appears to have been in '/builds/bar_site/drinkhome/ansible/roles/bar_sites/tasks/main.yml': line 11, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n- name: Generate nginx config\n ^ here\n"} to retry, use: --limit @/builds/bar_site/drinkhome/ansible/role.retry task: https://pastebin.com/DUSWFGAQ host_vars: https://pastebin.com/1HfSbL5w запускаю внутри докер имейджа с предустановленным ансиблом... на рабочей тачке всё прекрасно работает
Aleksey
Файрвол там, прочее? Там куча вещей, которые сходу ломаются, ну или которые искаропки отключены.
Да в том -то и дело, что на винде в логах написано, что пользователь залогинился, видно команду, которая в выводе ansible есть
Aleksey
Только нет ни одной ошибки или намека на то, почему оно висит и чего оно ждет
Aleksey
В вывод ansible видно, что он залогинился и отправил на выполнение команду powershell с ключами
Grek 🇺🇦
Да в том -то и дело, что на винде в логах написано, что пользователь залогинился, видно команду, которая в выводе ansible есть
-ExecutionPolicy Bypass -File "c:\Tmp\test.ps1" попробуй, но это офтоп, гугли запуск пош скриптов не из юзер спейса
Grek 🇺🇦
не надо так) а если извращенец - через shell и cat « EOF
Sergey
^^^ +++
Sergey
файл в роль сложи, в каталог templates
Aleksandr
здравствуйте! в каких редакторах/плагинах есть go to definition/show usages для ansible а то погрузился в немаленький проект, и очень хочется эту фичу
Aleksandr
он еще жив? это работает из коробки? или стандартный плагин ансибла? или еще как?
Aleksandr
vscode
у меня в vscode не рабоатет go to definition видимо, я что-то делаю не так, но не понимаю что
Aleksey
-ExecutionPolicy Bypass -File "c:\Tmp\test.ps1" попробуй, но это офтоп, гугли запуск пош скриптов не из юзер спейса
Не в политике дело. Похоже я неверно вызываю powershell из ansible и он остается ждать команд на стандартном вводе
Grek 🇺🇦
Serg
в стандартном ансибле плагине vscode даже нет такой фичи как go to definition
Serg
немного yamllint, синтакс, jinja и очень хромой ограниченный автокомплит
Serg
нигде нет счастья
Vladislav 👻
здравствуйте! в каких редакторах/плагинах есть go to definition/show usages для ansible а то погрузился в немаленький проект, и очень хочется эту фичу
Частично есть в плагине для джетбрейнс, но там столько других косяков, что мне проще и дальше в саблайме
Serg
pycharm так безбожно тормозил на ансибл плагине, что отказался от него вообще
Serg
vim - ваше решение
там есть хороший ансибл плагин?
Serg
поищи
обязательно
Terry
оно почти мертво
Terry
видел лишь 1го, кто юзал и юзает emacs
Gleb
там есть хороший ансибл плагин?
да, https://github.com/Hello-Linux/Ansible-VIM-IDE
Serg
да, https://github.com/Hello-Linux/Ansible-VIM-IDE
чтобы им пользоваться, надо сначала посмотреть много аниме
Gleb
чтобы им пользоваться, надо сначала посмотреть много аниме
ну можно и без аниме https://github.com/pearofducks/ansible-vim
Serg
ну можно и без аниме https://github.com/pearofducks/ansible-vim
да, этот видел, но ничего прорывного там не заметил
Gleb
да куда тут прорываться
Юрий
Всем привет! Прошу строго не судить, я новичок в ANSIBLE. Есть задумка наконец навести порядок в моем зоопарке, для начала нужно рассортировать оборудование по группам в файле hosts. Кто может подсказать код? Условно так: [junos] [iOS] [huawei] [other] 1.1.1.1 2.2.2.2 3.3.3.3 4.4.4.4 После входа на оборудование и выполнения команды show version, полученный в ответе текст должен быть прочитан, если встречается слово juniper, то адрес по которому производилось подключение должен быть перемещен в группу juniper, если cisco, то в группу iOS, если не попадает ни под одно условие то останется в other.
Юрий
Заранее примного благодарен!
Юрий
Просто, здесь, я думаю, что не первый, кто затевает такую инвентаризацию. Может у кого-то уже есть готовый кодинг, который нужно допилить.
🐷
называется это dynamic inventory
🐷
если это какая-то кастомная платформа и оборудование, то нужно будет писать логику самому
🐷
критерии какие-то определять для групп
Юрий
Спасибо! Буду пробовать.
Stefan
доброе утро кто-то юзает ansible в docker in docker?
Tadeusz
в чем вопрос?