Dok
А, я изначально не так понял. Ок, попробую)
Anonymous
Добрый день, кто какой ui опенсорсный может порекоммендовать для ansible, awx?
Андрей
Юзай из cli
Андрей
А вообще тут все рекомендуют rundeck, можно Jenkins
Roman
Добрый день, кто какой ui опенсорсный может порекоммендовать для ansible, awx?
в смысле UI для анзибль? он для того и был придуман чтобы уйти от UI )))
Anonymous
А зачем там вообще ui?
Кнопочки сделать для ноков, нарезать RBAC и в ранбуке писать - «если упало это, нажми вот тут»
es]x
подскажите как в модуль передать имя хоста из инвентори?
Tadeusz
-e host=...
Anonymous
почему тогда не использовать jenkins?
Потому-что awx/tower это нативный инструмент
Anonymous
А jenkins пусть уже сдохнет наконец
Anonymous
в смысле UI для анзибль? он для того и был придуман чтобы уйти от UI )))
ок, подход понял, просто только вкатываюсь в ansible, видел что есть платный thower, поэтому и поинтересовался
Volodymyr
Коллеги, может у кого есть уже готовые решения как менять scaling_governor, что бы без третих утилит типа cpufrequtils, а сразу через /sys/devices/system/cpu? У меня получился вот такой онлайнер-шансибл: for cpu in $(ls -1 /sys/devices/system/cpu/ | grep -E "cpu[0-9]+"); do echo performance > /sys/devices/system/cpu/$cpu/cpufreq/scaling_governor; done
es]x
через hostvars
может не так выразился, есть инвентори [srv] srv.host и есть модуль vmware_guest_disk_info: hostname: '{{ vcenter_hostname }}' username: '{{ vcenter_username }}' password: '{{ vcenter_password }}' validate_certs: no datacenter: "{{ datacenter_name }}" name: '{{ ????? }}' <- Как сюда передать srv.host delegate_to: localhost register: disks_info
Alex
много
и какой именно надо передать?
es]x
последовательно. с 1 до последнего. я просто не пойму где узнать имя переменной, а атм loop я уже обмажу
Radik
всем привет кто-нибудь юзал https://docs.ansible.com/ansible/latest/scenario_guides/vmware_scenarios/vmware_inventory.html ? плагин для динамического инвентаря из vmware
[IPT] Dmitry
ребят, как лучше из: url: - "https://host/path/to/file.doc" получить в file: "{{ url ??? }}" msg: "{{ file }}" file.doc я попробовал regexp_replace, но что-то какая-то муть
Sergei
regex_search
д, попробую
Lamobot
ребят, как лучше из: url: - "https://host/path/to/file.doc" получить в file: "{{ url ??? }}" msg: "{{ file }}" file.doc я попробовал regexp_replace, но что-то какая-то муть
В начале https://docs.ansible.com/ansible/latest/user_guide/playbooks_filters.html#url-split-filter а потом basename https://docs.ansible.com/ansible/latest/user_guide/playbooks_filters.html#id8
[IPT] Dmitry
url: - "https://host/path/to/file.doc" file: "{{ url | first | regex_replace('^http.*[/](.*)$', '\\1') }}" msg: "{{ file }}" file.doc вот так сделал. что-то ещё тут красивей можно?
Sergey
^^^^^^ basename
Anatoly
Если лень читать: To get the last name of a file path, like ‘foo.txt’ out of ‘/etc/asdf/foo.txt’: {{ path | basename }}
[IPT] Dmitry
не не, я прочёл уже, спасибо
[IPT] Dmitry
я несколько переформулирую вопрос: а как мне правильно работать со списком url, чтобы получить из него список filename
[IPT] Dmitry
да в том то и дело, что regex_replace не работает на элемент списка, а urlsplit прям явно пишет, что не предназначен для списка
[IPT] Dmitry
loop вам в руки
- hosts: all vars: distrib_server_url: "https://host" distrib_wls_psu_url: - "{{ distrib_server_url }}/path/to/file.1" - "{{ distrib_server_url }}/path/to/file.2" tasks: - name: print url file debug: msg: "{{ item.url }} {{ item.file | regex_replace('^http.*[/](.*)$', '\\1') }}" loop: - { url: "{{ distrib_wls_psu_url }}", file: "{{ distrib_wls_psu_url }}" } ok: [server] => (item={u'url': [u'https://host/path/to/file.1', u'https://host/path/to/file.2'], u'file': [u'https://host/path/to/file.1', u'https://host/path/to/file.2']}) => msg: '[u''https://host/path/to/file.1'', u''https://host/path/to/file.2''] [u''https://host/path/to/file.1'', u''https://host/path/to/file.2'']'
Pavel
Коллеги небольшой вопрос по фильтрам (или не по фильтрам) есть переменные для ролей которые передаются как список в JSON файле "module_list": [ "module1", "module2", "module3" ] как можно (и можно ли) составить when для задач так, чтобы проверялось вхождение в этот список ну что-то типа when: module1 in {{ module_list }} or module2 in {{ module_list }}?
[IPT] Dmitry
так наверно понятней будет
Lamobot
я несколько переформулирую вопрос: а как мне правильно работать со списком url, чтобы получить из него список filename
Для этого есть фильтр map, чтобы сразу пройтись фильтром по всем элементам списка https://jinja.palletsprojects.com/en/2.11.x/templates/#map
Nikolay
Кто-нибудь объясните пожалуйста зачем два модуля ec2 и ec2_instance? Какой брать? https://docs.ansible.com/ansible/latest/modules/ec2_module.html https://docs.ansible.com/ansible/latest/modules/ec2_instance_module.html
Lamobot
а можно какой-нибудь пример map в loop? что-то у меня нихрена не вышло
- hosts: localhost vars: url: - "https://host/path/to/file1.doc" - "https://host/path/to/file2.doc" - "https://host/path/to/file3.doc" tasks: - debug: msg: '{{ url | map("urlsplit", "path" )| map("basename")|list }}'
Nikolay
Один комьюнити саппортит, другой офф тима
ну да, только все равно не понятно какой будет жить или какой лучше поддерживается.
Nikolay
ну да, только все равно не понятно какой будет жить или какой лучше поддерживается.
походу ec2_instance брать, вероятно он заменит в будущем ec2. https://github.com/ansible/ansible-lint/issues/340
Ждун
если в ansible playbook прописан remote_user, почему выполнение плейбука пытается подключиться не через этого пользователя?
Anton
наблюдается странность на ansible 2.9.4 если сделать export ANSIBLE_STRATEGY_PLUGINS= то стратегия находится, если в ansible.cfg прописываю strategy_plugins = то не находит, чтение конфига совссем поломали?
Anton
До обновления вроде работало.. но была версия что-то типа 2.8.
[IPT] Dmitry
такой нестандартный вопрос: как заставить sshpass правильно обрабатывать localcommand? у меня там подкраска консоли чере printf
Anatoliy
Добрый день. Есть какой-нибудь способ выполнить include_role из коллекции, но подключить стандартную galaxy роль?
Anatoliy
Три раза перечитал, так и не понял вопроса
есть колекция. в одной из ролей коллекции выполняю include_role хочу подключить роль не этой же коллекции, а какую-то внешнюю роль. которая к коллекции не относится
Timur
Ну и?
Anatoliy
Ну и?
include_role "somename" ищет somename среди ролей коллекции и выдает ошибку, не найдя ее. а на самом деле роль есть в ролях рядом с плейбуком
Anatoliy
в документации описано именно такое поведение. сейчас не могу найти ссылку. раньше читал
Timur
Смотрите конфиг в коллекции
Timur
Нужно либо положить вашу роль в путь ролей коллекции, либо добавить параметр пути к папке с другими ролями
Anatoliy
благодарю
Антон
добрый вечер коллеги я тут решил переделать hosts в yaml формат и столкнулся с тем что я не могу понять как сделать all:vars https://pastebin.com/VZNTRKVW - текущая реализация
Антон
очень не хочется делать кучу копипасты варсов по всем группам =/
Антон
спасибо большое. а то я поставил vars после children и не сработало
Sergey
А без разницы. Важно, чтобы был один уровень отступов (за подробностями читай YaML-спеку)
Антон
А без разницы. Важно, чтобы был один уровень отступов (за подробностями читай YaML-спеку)
странно, вроде 3 раза проверил отсупы.. но в варианте варсы сначала заработало
Sergey
Не принципиально. Отлично помогает редактор с поддержкой отображения отступов (конретное название, чтобы не провоцировать срач, не буду говорить - выберешь сам).
Sergey
Ну как-то же ты с отступами промахнулся 😊
Антон
и правда работает... ну что ж, реально где-то лохонулся =)
Антон
спасибо еще раз за помощь =)))
Sergey
всегда пожалуйста
Anonymous
Почему не интерпретируются Jinja шаблоны в значениях словаря? https://github.com/kofonfor/ansible-role-grafana-node-dashboards/blob/eb11bdae00a3eeab242706c3da4f1b47449dd694/defaults/main.yml#L10 Вот эта строчка так и приезжает в результирующий файл в том виде, в котором она написана Что не совсем моя цель