Timur
да, это я
Ты загуглил kubespray?
да, это я
Может быть затем, чтобы понять, зачем нужен Ansible применительно к Куберу?
да, это я
Кажется, я понимаю, почему твой pull request отклонили.
да, это я
Тогда нахрена ты тут развонялся?
Отделение Bereke Bank
Админское коммунити токсичное. Это норма
Отделение Bereke Bank
Серега что-то пишет
Отделение Bereke Bank
Sergey
@bender008 сутки r/o тебя очень странно изменили.
За принятый PR - моё уважение. А мои PR - в других проектах: у меня не болит Ансибл.
Dmitry
ссылка на PR будет?
да, это я
Я тебе русским языком объяснил всё пять раз. Даже если ты прав по сути, нельзя так себя вести. Ты не понял. Ну дуйся теперь.
да, это я
И да, кубэспрей занимается развёртыванием самого кубера. Через Энсибл.
Sergey
Для предметного разговора ссылку в чат вообще было бы круто. Я первый скажу - вот очень годный пример человека, который уходит в R/O, а приходит с принятым PR.
Sergey
Ок, тогда оффтопик потри, пожалуйста, сам.
Sergey
А чего обижаться-то?
Отделение Bereke Bank
А ссылочка на PR будет?
Отделение Bereke Bank
Sergey
@bender008 Ну в чате две тыщи человек, вот прикинь - обижаться на всех. Выходных не хватит. И абсолютно ничего личного у меня к тебе и не было. Выдыхай 😊
Timur
А где все мессаги-то?
Anatoliy
случайно нашел аналог break для блоков ansible:
если в каком-то из тасков меняется значение переменной, используемой во where блока, таким образом, чтобы условие перестало выполняться, то все остальные таски блока пропускаются.
Не видел в документации описание такого поведения
Anatoliy
это видел, но выводов про возможность изменения условия не сделал. спасибо за пинок
Anonymous
а как в джинджа экранировать двойные ковычки когда выражение вида {
"iptables":false,
"dns": ["{{dns1}}", "{{dns2}}"]
}
Anonymous
он благополучно внутри квадратных скобок съедает их что сразу после днс1 и перед днс2
sbog
Anonymous
не не работает
sbog
Я, наверное, не понимаю тогда что нужно получить
Anonymous
{
"iptables":false,
"dns": ["12.3.4.5", "5.6.7.8"]
}
Anatoliy
подскажите, как в JMESPath вернуть ключ для найденного значения словаря. не могу в доках найти.
у искомого значения могут быть разные ключи
inqfen
inqfen
Вернет кавычки на место
Sergey
Отличная новость 🎉🎉🎉
Теперь можно автоматически генерировать документацию для Ansible ролей с помощью утилиты «ansible-readme» http://amp.gs/iXQN
Заодно напомню про похожие проекты для Terraform и Chef
* «terraform-docs» http://amp.gs/iXQq
* «knife-cookbook-doc» http://amp.gs/iXQA
#ansible #docs #terraform #chef
[IPT] Dmitry
ребят, почему факты могут не собираться с хоста?
вроде по умолчанию всегда должны собираться 🤷♂️
This module is automatically called by playbooks to gather useful variables about remote hosts that can be used in playbooks.
Sergey
Timur
Timur
[IPT] Dmitry
gather_facts: no?
no. было бы слишком просто. в общем, это из-за какого-то левого ansible.cfg в гите. дальше сам расковыряю
Alexander
Накидал роль для установки постгри на Центос7
Столкнулся с проблемой выбора версии
пакет называется posgresql10-server
Если я объявляю postresql{{ psql_version }}-server, то ловлю ошибку, как и предполагал
как решить этот вопрос?
- name: Add repository
become: True
yum:
pkg: https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
- name: Install PostgreSQL
become: True
yum:
pkg: postgresql{{ psql_ version }}-server
update_cache: True
Alexander
Как вооще лушче сделать выбор версии?
Я объявил дефолтную внутри vars/
Если захочу другую, то передам через env
Или как-то иначе это правильно делать?
sbog
sbog
Ошибка скорее всего из-за того, что {{ }} не в " "
Roman
Albert
https://docs.ansible.com/ansible/latest/reference_appendices/YAMLSyntax.html#gotchas
Albert
Просто поставьте кавычки, о чем спор?
Alexander
Какая ошибка?
Мой косяк
С кавычками еще раз попробовал, сработало. Не знаю почему сразу не получилось.
Alexander
Andrey Zakharov 🐝
всем привет , подскажите плз а есть какой нибудь инструмент для версионирования и хранения ролей ансибла ?
Николай
Git
Dvoryankovas
Есть ли способ обратится к отдельному значению элемента списка зная его название?
- tests:
- name: name1
value: false
- name: name2
value: true
Например к полю value, элемента name1?
Nikita
Dvoryankovas
Nikita
Значение без списка получить нельзя?
Можно как-то так "{{ (tests | selectattr('name', 'equalto', 'name1') | list)[0]['value'] }}" , но мне кажется более опытные подскажут как это сделать лучше
Dvoryankovas
Nikita
Точно, есть же фильтр first
Dvoryankovas
Lamobot
Dvoryankovas
Нужна ли в данном случае проверка, что такой элемент существует?
Nikita
Да, потому-что если список будет пуст, то будет ошибка
Nikita
Можно сделать loop first found, и переменной будет присовено первое значение из списка, но это такое себе
Lamobot
Нужна ли в данном случае проверка, что такой элемент существует?
До этого момента не нужна была проверка? :)
Будет ошибка.
Можно попробовать вот так обойти её
'{{ (tests|selectattr("name", "equalto", "name3")|list|first|default({"value": "false"}))["value"] }}'
Lamobot
Вернее вот так, если собираетесь в when использовать
'{{ (tests|selectattr("name", "equalto", "name3")|first|default({"value": "false"}))["value"]|bool }}'
Dvoryankovas
Maksim
Всем привет.
Подскажите плз что делает строчка
Maksim
"{{ ansible_distribution }}-{{ ansible_distribution_version.split('.')[0] }}.yml"
Maksim
Или я так понимаю, это выдрано из контекста?
Dmitry
Вырвано, нужен полный таск.
Но скорее всего подключает и выполняет инструкции из файла "Название дистрибутива ОС (например Debian/CentOS)"-"первая число версии ОС".yml
Гайрат
Dmitry
обычно это делается для ролей, которые могут работать с разными ОС: где-то systemd, где-то sysvinit; пакетные менеджеры могут отличаться и дёргать их нужно разными модулями и всякое другое
Stan
is_http_enabled: false Ругается на Syntex error. Переменная прописана в group_vars. В чем может быть проблема?
Petr
отступы?
Отделение Bereke Bank