Lamobot
https://jinja.palletsprojects.com/en/2.11.x/templates/#for
Lamobot
Там же есть loop.first
Sergey
мне просто нужно если находится первый элемент
Sergey
добавит в него кусок параметров а для остальных нет
Sergey
{%- if 'application.properties' in config_file %} # Additional application properties for registration to Consul spring.application.name = {{ application_name }} spring.cloud.consul.discovery.acl-token = 0 spring.cloud.consul.host = ${NODE_IP} spring.cloud.consul.discovery.prefer-ip-address = true spring.cloud.consul.discovery.tags = {{ deploy_environment }} {% endif %}
Sergey
во вот так отработало
Sergey
но теперь нужно не явно указываь имя if 'name' in
Sergey
а типа если первый элемент из списка то добавить
Stan
как можно gathering facts включить только у группы хостов , а не у всех хостов ? чтоб не нужно было создавать массу плейбуков, а работать в рамках одного плейбука который запускается из jenkins
Grek 🇺🇦
gather_facts: no в инвентори для этой группы?
Stan
нужно собирать инфо, иначе будет ansible_fqdn получу, нужно чтоб gathering facts работал только на определенной группе хостов, и быбирать их - зависит от запуска в jenkins/ проблема в том что группа серверов постоянно будет меняться, зависит от джобы. те gather facts - no - перманентно на определенные хосты это сделать - не очень вариант
Grek 🇺🇦
точнее для тех групп где не надо собирать инфу
Stan
да
Stan
например создать группы
Stan
далее чтоб gather facts работал только для этой группы
Grek 🇺🇦
кто формирует инвентори для запуска?
Stan
может выкличить его для всех и руками прописать. чтоб определенную домен имена хостов, он собирал отдельно и прописать те хосты
Stan
в общем - из jenkins = указывается хосты - на которые ставиться будет
Stan
и если что то другое недоступно. а gather facts проверяет вообще все
Stan
то джоба падает
Grek 🇺🇦
сделайте 2 глобальные группы - для одной gather_facts: no для другой gather_facts: yes все сотальные группы будут дочерними к нужной
Stan
опишу так
Stan
есть сервера 1a 1b 2a 2b 3a 3b 4a 4b 5a 5b 6a 6b 7a 7b я могу сделать так что если запускать джобу только серверам группы 1. и делать gathering facts только у них то это как бы решает вопрос. но сервера 1 могут зависеть также от серверов 3, то проверять нужно на 1 и 3, если устанавливаются 2сервера. 2 зависит еще от 1 и 4. если установка 3 (он зависит от 1 и 2) то проверять нужно только на 1.2.3 , и не проверять на 4567
Stan
те делать gahter facts no на 4567 , и проверять только 123. то когда будет ставиться 5 или 4, то там просто вся ляжет.тк нет информации по имени серверов или ip b ng
Grek 🇺🇦
я понял что ничего не понял, почему у вас зависимые сервера? сделайте группы, зависимыве в одну группу, остальные в другую
Grek 🇺🇦
кто решает что от чего зависит? пусть и раскидывает в нужные группы
Stan
прилижения решают и базы, которые пишут данные на другие сервера
Stan
разработчики и тп
Stan
просто раскидать - ну - так себе решение
Stan
сделать группы можно
Grek 🇺🇦
ну, вы бы разобрались кто и что у вас делает. ваш вопрос решается глобально на уровне инвентори и групп.
Stan
только сервевра будут постоянно перебегать из одной группы в другую
Grek 🇺🇦
динамик инвентори
Grek 🇺🇦
определите формальные признаки принадлежности сервера к группе и в путь если инвентори формируется в ручную - то боль, надо чтоб каждый кто его формирует понимал что он делает
Stan
так, у знаю какие группы серверов должны устанавливаться с какими. те я таким образом могу сформировать группу серверов
Stan
и добавить это в group vars
Stan
у нас стенды
Stan
интеграционное тестирование, нагрузочное и тп
Stan
в которых находятся группы серверов
Stan
из jenkins идет команда на установку скажем группу серверов 1. с стенда такогото
Stan
я могу в group vars прописать - указать чтоб делал gathering facts c таких то серверов
Stan
создать yaml
Stan
в него прописать сервера
Stan
с группами
Stan
об этом речь ?
Grek 🇺🇦
речь о вашем файле инвенторя, в котором будут группы хостов. у группы будет параметр gather_facts
Stan
группы есть
Stan
делов том, проверять gather facts нужно у всех, но в зависимости от джобы
Stan
динамический gathering facts 7
Stan
_
Stan
?
Grek 🇺🇦
так у всех или не у всех? джоба формирует вам инвентарь?
Stan
джоба формирует - на каких из серверов делать установку
Stan
и соответственно только на этих и зависимых от них серверах нужно собирать информацию
Stan
сервера и группы серверов известны
Stan
но в jenkins я мог бы указать какие сервера использовать, но это сложно - ограничения jenkins
Grek 🇺🇦
я сдаюсь...( мой вариант решения Вы услышали, дальше - как вы там у себя захотите так и делайте
Stan
ваш вариант норм, но если бы это все не менялось
Grek 🇺🇦
меняется - делаете динамик инвентори
Stan
проблема в том что джобы разные и инвентори постоянно меняются
Stan
погуглить надо)
Grek 🇺🇦
меняется в ручном режиме - делаете так чтоб тот кто формирует инвентори перед запуском делал это правильно
Stan
это не в ручном - как бы
Stan
это прописано в jenkins
Stan
автоматом он как бы выирает
Grek 🇺🇦
научите его формировать инвентори нужный
Stan
jenkins ?
Grek 🇺🇦
*уенкинс.... Простите КТО\ЧТО У ВАС ФОРМИРУЕТ ИНВЕНТОРИ ФАЙЛ? Научите его формировать файл динамически в зависимости от того что там выбрал jenkins, или пусть сам jenkins формирует файл это уже дико не по теме чата
Sergey
проблема в том что джобы разные и инвентори постоянно меняются
Это не проблема. Это кривой процесс. Это оффтопик.
Ilya
Кто пользовался модулем win_acl подскажите, как указать группу Все или Прошедшие проверку? Everyone и Authenticated Users не подходят
Wadik
добрый день. Подскажите, если я через модуль lineinfline хочу добавить строку после указанной нужно ли указывать regexp или insertafter достаточно ?
Николай
нуно, иначе каждый раз новую строку вставлять будет
fs
кто подскажет, при записи текста в файл через ini_file (in local_action) получаю 26, in decode\n return codecs.ascii_decode(input, self.errors)[0]\nUnicodeDecodeError: 'ascii' codec can't decode byte 0xd0 in position 1813: ordinal not in range(128)\n", "module_stdout": "", "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 1} я так понимаю где то я пытаюс что то записать в не той кодировке, вопрос, как это отдебажить ?
Николай
Не пойм как это в связке работает
Лучше всего понимание работы модулей приходит через эксперименты на локалхосте с тестовым плейбуком (в котором только нужные таски).
Ilya
Кто пользовался модулем win_acl подскажите, как указать группу Все или Прошедшие проверку? Everyone и Authenticated Users не подходят
Сам себе отвечаю, собсна если винда русская, то группы должны быть на русском. Вот так просьо
Sergey
потёр оффтопик
Wadik
Подскажите, что ему не нравится. Замучало уже
inqfen
Ну как минимум отсутствие пробела перед name
Wadik
-name с начало строки