𝚔𝚟𝚊𝚙𝚜
inqfen
Кстати yes лучше на true поменять, а то линтер не пропустит
Max
если стойки начнут плодиться.... тоже случается.
Max
Max
👍🏽
Max
а по-моему в кубе есть механизмы синхронизации (через операторы)
𝚔𝚟𝚊𝚙𝚜
Всё задекларированно, а это главное
𝚔𝚟𝚊𝚙𝚜
а, ты про синхронизацию выполнения? - не нету, я заюзал operator-sdk с ансиблом, а там максимум что можно сделать - это распараллелить выполнение
𝚔𝚟𝚊𝚙𝚜
в других реализациях: metacontroller, kopf - возможно есть что-то подобное
𝚔𝚟𝚊𝚙𝚜
но operator-sdk с ансиблом - меня прям порадовал
𝚔𝚟𝚊𝚙𝚜
буду про него на DevOpsConf рассказывать
Max
Alex
Anonymous
Sergioss
Ребят привет,
подскажите пожалуйста.
Есть роль в роли shell команда на бэкап, бэкап оч долгий более 2 часов, сессия разрывается не дождавшись выполнения команды и переходит к следующиму шагу, ну а следующий шаг не видит бэкапа, так как команда еще не отработала.
Можно как то глобально в кфг установить время выполнения тасков, кроме как в самом таске добавить асинхрон?
Anonymous
@Anfuehrer будет жить. Поприветствуем!
𝚔𝚟𝚊𝚙𝚜
как сделать lookup переменной lookup('env','ABC')
но если ABC не определенна, то ansible выдавал бы undefined а не пустую строку
Andor
𝚔𝚟𝚊𝚙𝚜
Andor
а
Andor
а если | default(None, true)?
Andor
тогда ternary()
Andor
ну что-то типа lookup('env','ABC') | ternary(lookup('env','ABC'), None)
𝚔𝚟𝚊𝚙𝚜
плейграунд:
ansible localhost -m debug -a 'msg={% if a is defined%}True{% else %}False{% endif %}' -e "a=\'{{ lookup('env','ABC') }}\'"дожно выдавать:
localhost | SUCCESS => {
"msg": false
}
𝚔𝚟𝚊𝚙𝚜
Andor
daladna
Andor
то есть оно пустую строку считает true?
Andor
ну понятно что оно defined
Andor
None же defined, не?
Andor
мне кажется тебе туда надо is not none
𝚔𝚟𝚊𝚙𝚜
ггг, даже None это defined
Andor
хаха
Andor
ну короче надо потыкать пальчком варианты
𝚔𝚟𝚊𝚙𝚜
видимо придётся с if a is defined and a != "" жить
Anonymous
Pavel Sh будет жить. Поприветствуем!
DiNGeR
Здраствуйте. Спрошу глупость, но в виду отсутствия опыта, даже непойму с какой сторгоны подходить.
Все изложил тут - https://pastebin.com/a8jyG4d2
Artur
None?
Ilia
DiNGeR
None?
Каким образом? Он будет это интерпретировать как пользователя.
DiNGeR
Artur
Artur
https://docs.ansible.com/ansible/latest/user_guide/playbooks_filters.html#omitting-parameters
DiNGeR
В item для loop пробовал все параметры заключать и в одинарные и в двойные кавычки.
DiNGeR
Timur
Timur
𝚔𝚟𝚊𝚙𝚜
ну ок, объясняй как надо
greydjin
Timur
Для роли все используемые пользователем параметры должны быть определены в defaults. Undefined быть не должно
Timur
Undefined значения могут встречаться во всяких динамически получаемых словарях и списках.
𝚔𝚟𝚊𝚙𝚜
да, роль, в ней и определил эти переменные в defaults
𝚔𝚟𝚊𝚙𝚜
аля:
network: "{{ lookup('env','NETWORK') }}"
gateway: "{{ lookup('env','GATEWAY') }}"
netmask: "{{ lookup('env','NETMASK') }}"
𝚔𝚟𝚊𝚙𝚜
таким образом её и как переменную окружения задать можно, и как vars
𝚔𝚟𝚊𝚙𝚜
в любом случае исход будет один и тот же, не ""
Andor
а может лучше падать если они не определены но ожидаются?
Anonymous
подскажите как правильно оформлять подобное, чтобы небыло. цфктштпт - name: debug msg
debug:
msg: "{{example_var}}"
with_items: "{{ example_var }}"
when: '"{{item.name}}" == "vasy"’
Anonymous
[WARNING]: conditional statements should not include jinja2 templating delimiters such as {{ }} or {% %}.
Eugene
Anonymous
Andor
Можно when: 'item.name == "vasy"'
Timur
Timur
С какой целью вы пытаетесь оставить его пустым?
DiNGeR
Ну в "чистом" виде модуль отрабатывает как надо.
Пустой + action=set, что в итоге удаляет всех пользователей для данного name. Чего я собственно и добиваюсь.
А так как нужно настроить с десятка два-три таких параметров (и некоторые должны быть "пустыми" в том числе). То решил оформить "красиво".
Timur
DiNGeR
Удаление пользователей делается другим модулем
Я не удаляю пользователей. Я пишу плейбук для применения hardening policy. И там есть требования, к примеру: что бы ни у кого небыло права SeTrustedCredManAccessPrivilege.
Для этого я удаляю всех пользователей из этого параметра.
Timur
Timur
Чтобы ко всем юзерам применялось
DiNGeR
Мне не нужно - Все, мне нужно - Никто.
DiNGeR
Если без loop все отрабатывает как надо, и на клиенте появляется желаемый вид настройки
Anonymous
коллеги, подскажите, а в ansible можно сделать вложеный цикл ?
Sergey
Можно теоретически.