Lamobot
Dok
А, я изначально не так понял. Ок, попробую)
Dok
Anonymous
Добрый день, кто какой ui опенсорсный может порекоммендовать для ansible, awx?
Андрей
Юзай из cli
Андрей
А вообще тут все рекомендуют rundeck, можно Jenkins
Roman
inqfen
Anonymous
А зачем там вообще ui?
Кнопочки сделать для ноков, нарезать RBAC и в ранбуке писать - «если упало это, нажми вот тут»
es]x
подскажите как в модуль передать имя хоста из инвентори?
Alex
Tadeusz
-e host=...
Aleksandr
Anonymous
А jenkins пусть уже сдохнет наконец
unixman
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
Alex
много
и какой именно надо передать?
es]x
последовательно. с 1 до последнего. я просто не пойму где узнать имя переменной, а атм loop я уже обмажу
Alex
es]x
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, но что-то какая-то муть
Boris 🦍
Гайрат
Sergei
[IPT] Dmitry
Lamobot
[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
не не, я прочёл уже, спасибо
Alex
[IPT] Dmitry
я несколько переформулирую вопрос: а как мне правильно работать со списком url, чтобы получить из него список filename
Boris 🦍
[IPT] Dmitry
да в том то и дело, что regex_replace не работает на элемент списка, а urlsplit прям явно пишет, что не предназначен для списка
Alex
[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
так наверно понятней будет
[IPT] Dmitry
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
tutunak
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 }}'
[IPT] Dmitry
Ждун
если в 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
Anton
Anatoliy
Добрый день. Есть какой-нибудь способ выполнить include_role из коллекции, но подключить стандартную galaxy роль?
Timur
Anatoliy
Три раза перечитал, так и не понял вопроса
есть колекция. в одной из ролей коллекции выполняю include_role
хочу подключить роль не этой же коллекции, а какую-то внешнюю роль. которая к коллекции не относится
Timur
Ну и?
Anatoliy
Ну и?
include_role "somename" ищет somename среди ролей коллекции и выдает ошибку, не найдя ее.
а на самом деле роль есть в ролях рядом с плейбуком
Anatoliy
в документации описано именно такое поведение. сейчас не могу найти ссылку. раньше читал
Timur
Смотрите конфиг в коллекции
Timur
Нужно либо положить вашу роль в путь ролей коллекции, либо добавить параметр пути к папке с другими ролями
Anatoliy
благодарю
Антон
добрый вечер коллеги
я тут решил переделать hosts в yaml формат и столкнулся с тем что я не могу понять как сделать all:vars
https://pastebin.com/VZNTRKVW - текущая реализация
Антон
очень не хочется делать кучу копипасты варсов по всем группам =/
Sergey
Антон
Антон
спасибо большое. а то я поставил vars после children и не сработало
Sergey
А без разницы. Важно, чтобы был один уровень отступов (за подробностями читай YaML-спеку)
Антон
Sergey
Не принципиально. Отлично помогает редактор с поддержкой отображения отступов (конретное название, чтобы не провоцировать срач, не буду говорить - выберешь сам).
Антон
Sergey
Ну как-то же ты с отступами промахнулся 😊
Антон
и правда работает... ну что ж, реально где-то лохонулся =)
Антон
спасибо еще раз за помощь =)))
Sergey
всегда пожалуйста
Anonymous
Почему не интерпретируются Jinja шаблоны в значениях словаря?
https://github.com/kofonfor/ansible-role-grafana-node-dashboards/blob/eb11bdae00a3eeab242706c3da4f1b47449dd694/defaults/main.yml#L10
Вот эта строчка так и приезжает в результирующий файл в том виде, в котором она написана
Что не совсем моя цель