Alex
А может кто подсказать как через json_query вытащить все state из такого json'а - https://gist.github.com/Alexhha/95082f52789308acac53132fd2490921
Alex
имена нод всегда разные и я их не знаю
Anonymous
http://jmespath.org/tutorial.html
Alex
да, я в курсе, не понятно как обратиться к элементу, имя которого я не знаю
Alex
мне нужно что то типа jq .nodes.*.services[].state
Anonymous
есть же там пример - ops.*.numArgs
Alex
нет, но не хотелось бы заниматься башизмом и jq
Anonymous
nodes.*.services[*].state
Anonymous
[ [ "HEALTHY", "HEALTHY", "HEALTHY", "HEALTHY" ], [ "HEALTHY", "HEALTHY", "HEALTHY", "HEALTHY" ] ]
Alex
только почему то в jq не пашет у меня, там * надо как то хитро экранировать?
Anonymous
а зачем jq?
Anonymous
https://docs.ansible.com/ansible/latest/user_guide/playbooks_filters.html?highlight=json_query#json-query-filter
Anonymous
есть же
Alex
а зачем jq?
та это для себя
Alex
в ансибле действительно работает без проблем | json_query('nodes.*.services[].state') }} я собственно почему и спросил, ибо в jq оно не пашет
Alex
да
Sergey
звезда башем в тыкву превращается
Alex
$ cat topology.json | jq '.nodes.["*"].services[].state'
Alex
я пробовал брать в ' '
Sergey
https://github.com/stedolan/jq/issues/82#issuecomment-13129076
Sergey
и это здесь оффтопик 😉
George
В обще дело оказалось в nginx -t и selinux
Ну, рассказывай. Где кровавые детали ?
George
звезда башем в тыкву превращается
О, да, у меня в sed звёздочки тоже попортились :-( а я всего лишь кронтаб хотел массово поменять
Anonymous
Ну, рассказывай. Где кровавые детали ?
Ну если интересно завтра скину
Anonymous
Сегодня уже the end
Хамза
Хамза
Хамза
почему при указании local , команды уходят на удаленный хост
Хамза
зависит от модуля?
George
зависит от модуля?
несомненно. У тебя же ssh может на удаленном сетевом оборудовании отсутствовать
George
что в модуле написано, то и сделает
Хамза
Просто не могу понять разницу модуля и типа соединения
George
модуль выполняется там, куда соединение
George
ты в модуле можешь заимплементить любую логику
Хамза
модуль выполняется там, куда соединение
Какое подключение используется по умолчанию?
George
Какое подключение используется по умолчанию?
по умолчанию ансибл коннектиться на удаленный хост, который указан в инвентори
George
connection: local заставляет выполнять модули на хосте, где запущен сам ансибл
Anonymous
Просто не могу понять разницу модуля и типа соединения
модуль может выполнятся на localhost, но при этом "ходить" на "железо" или в "облако"
Хамза
Т.е. в общем: Почему с модулем raw и connection local удаленный хост игнорируется, т.е команда выполняется на сервере А с модулем ios, например , команда выполняется на удаленном хосте
George
> Почему с модулем raw и connection local удаленный хост игнорируется, т.е команда выполняется на сервере потому что модуль raw и выполняет конкретную шелл команду
George
> А с модулем ios, например , команда выполняется на удаленном хосте с какими параметрами?
Хамза
ios_command
George
потому что ios_command ходит через https://docs.ansible.com/ansible/2.5/plugins/connection/network_cli.html
Хамза
потому что ios_command ходит через https://docs.ansible.com/ansible/2.5/plugins/connection/network_cli.html
Получается указание connection : local ни на что не влияет? Команда игнорируется?
Anonymous
влияет
Anonymous
Получается указание connection : local ни на что не влияет? Команда игнорируется?
смотри https://docs.ansible.com/ansible/latest/network/user_guide/platform_index.html
Anonymous
https://docs.ansible.com/ansible/latest/network/getting_started/network_differences.html#id3
Anonymous
Конечно )
https://github.com/jdauphant/ansible-role-nginx/issues/24
Anonymous
внизу solution 1
Anonymous
Получается указание connection : local ни на что не влияет? Команда игнорируется?
упрощено можно сказать, что connection "определяет" где именно будет выполнятся модуль("программа" python). Что именно будет делать эта "программа" зависит от названия("реализации") модуля.
Konstantin
Коллеги, всем привет! Есть у кого опыт настройки IIS через ansible? Конкретно интересует установка биндингов для https.
Ivan
Коллеги, подскажите пожалуйста как правильно сделать Задача: с гитлаба стянуть приватный репозиторий. Текущий вариант что работает просто в консоли: git clone https://gitlab+deploy-token-85870:SECURE_TOKEN@gitlab.com/x7systems/dotfiles.git 1. Создал в репе гитлаба деплой токен и получил имя пользователя и пароль. 2. Заполнил ссылку для клона этими данными и успешно склонил приватную репу на совершенно другой машине, без ссш агента с добавленым моим приватным ключом. Проблема в том что через ансибл задача просто фризится на этой джобе. И только минуты через 2 выполняется, и файлы появляются в нужном путе. Размер репозитория: 61 Мегабайт, глубину клона указываю в 1. Код джобы - name: Fetching configs from repository tags: [fetch-configs] git: repo: 'https://user:token@gitlab.com/x7systems/dotfiles.git' dest: /home/vagrant/config depth:1 Вызываю так: ansible-playbook -vvv prov-pc.yml -i inventory/vagrant/ --tags fetch-configs Вывод консоли: pastebin Вопрос, почему клонится ансиблом гораздо дольше чем ручками?
George
Коллеги, подскажите пожалуйста как правильно сделать Задача: с гитлаба стянуть приватный репозиторий. Текущий вариант что работает просто в консоли: git clone https://gitlab+deploy-token-85870:SECURE_TOKEN@gitlab.com/x7systems/dotfiles.git 1. Создал в репе гитлаба деплой токен и получил имя пользователя и пароль. 2. Заполнил ссылку для клона этими данными и успешно склонил приватную репу на совершенно другой машине, без ссш агента с добавленым моим приватным ключом. Проблема в том что через ансибл задача просто фризится на этой джобе. И только минуты через 2 выполняется, и файлы появляются в нужном путе. Размер репозитория: 61 Мегабайт, глубину клона указываю в 1. Код джобы - name: Fetching configs from repository tags: [fetch-configs] git: repo: 'https://user:token@gitlab.com/x7systems/dotfiles.git' dest: /home/vagrant/config depth:1 Вызываю так: ansible-playbook -vvv prov-pc.yml -i inventory/vagrant/ --tags fetch-configs Вывод консоли: pastebin Вопрос, почему клонится ансиблом гораздо дольше чем ручками?
ансибл через гит модуль питона работает?
George
посмотри внимательно
Дмитрий Харитонов
есть какой-то способ передать в командной строке список ролей которые нужноприменить?
Дмитрий Харитонов
что-то с ходу не нашел
Ivan
ансибл через гит модуль питона работает?
что имеется ввиду? таска в итоге завершается успешно, и файлы из репы появляются где надо
Дмитрий Харитонов
запустить последовательно несколько ролей для пачки хостов одной командой. При этом в этой команде и указать роли которые нужны.
Дмитрий Харитонов
вот так работает tasks: - include_role: name: '{{ item }}' with_items: "{{ eroles.split(',') }}"
Alex
А delegate_to с include_tasks не работает принципиально?
Alex
из-за loop не могу использовать import
Sergey
из-за loop не могу использовать import
Или loop внести внутрь тасков? 😉
Alex
не получится
Alex
- name: Run tests include_tasks: "flow/{{ curr_flow.key }}.yml" when: curr_flow.value loop: "{{ jfmc_flow_enabled | dict2items }}" loop_control: loop_var: curr_flow можно конечно вынести каждый flow в отдельный таск и там сделать import.
Nikolay
Если в include_vars были добавлены одинаковые переменные, то последняя добавленная переменная перезаписывает все предыдущие?
Anonymous
@gladkova_marina будет жить. Поприветствуем!
Anonymous
Евгений Полянский будет жить. Поприветствуем!
Anonymous
#вопрос_от_новичка как по фэншую, ансиблу скормит что то такое python some_system_script.py Просто пихаем в роль? Просто в роль за