George
1. да, зачем менять централизованное управление пользователями на ансибл
George
2. что вообще за требование насчет сохранения хомяка.
George
я предлагаю другой подход. Пускай пользователь удаляется с ключом форс, а хомяк - всегда вытащите при помощи бекапа
Victor
О. Кстати да. Есть же лдап
Victor
Для любителей
George
если серваки все еще не бекапятся, то мы идем к вам
George
я предлагаю другой подход. Пускай пользователь удаляется с ключом форс, а хомяк - всегда вытащите при помощи бекапа
если в этом случае хомяк блокируется по причине наличия процессов пользователя.... ну, это баг и надо его репортить
George
опять же минутка рекламы - в сольте есть модули для работы и с пользователями, и с процессами
George
https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.ps.html https://docs.saltstack.com/en/latest/ref/states/all/salt.states.process.html
George
В ансибле 2.8 тоже появляются новые модули для процессов
Вы говорите так, как будто они сейчас есть
George
я не нашел в документации ансибла СЕЙЧАС наличие модулей для работы с процессами
Viktor
Здравствуйте, кто-то делал if прямо в ansible-plabook? делаю {{ 'specialtime: "{{ item.specialtime }}" ' if {{ item.special_time }} is defined else ' ' }}. Но ругается на отступы. Как правильно делать прямо в плейбуке if? Смысл в точ что строка плейбука есть или её нет в зависимости от переменной.
Timur
я не нашел в документации ансибла СЕЙЧАС наличие модулей для работы с процессами
Потому что процессы - это не совсем конфигурация системы. Это, скорее, ее отражение
Артём
Какое отношение к нашему чату?
Контр-аргумент в ветке - Как в ансибле сделать управление юзерами? - Управление юзерами не есть задача сцм, используйте лдап. - Но вот же в соседней сцм справляются.
Oleksandr
Какое отношение к нашему чату?
сравнение ансибла с конкурирующими решениями. ваш КО
Артём
Тут даже не вопрос конкурируещести. Вопрос в том, что системы управления очень даже для управления.
Артём
И ответ «в ансибле такого инструмента пока нет, нужен - напишите» кажется мне куда менее холиварным, чем «ансибл не для этого».
Viktor
Что вы хотите сделать изначально?
Универсальный плейбук, но это не я хочу :D Читает vars file b берет оттуда переменные, дальше выполняет плейбук в зависимости от переменных. В некоторых тасках могут быть несовместимые параметры. Например в cron или special_time или иной интервал запуска. Прочитал https://epsilonclue.wordpress.com/2018/09/25/ansible-running-commands-in-dry-run-mode-in-check-mode/ что так можно, но у меня проблема с отступами
Timur
И что за несовместимые параметры в тасках?
Viktor
все просто переменная или есть или её нет. есть переменная - есть строчка в плейбукеБ нет переменной - нет строчки
Timur
И выглядит как абсурд
Timur
Содержание плейбука не должно зависеть от переменных, вообще-то
Viktor
Содержание плейбука не должно зависеть от переменных, вообще-то
{{ 'special_time: "{{ item.special_time }}" ' if {{ item.special_time }} is defined else '' }}
Viktor
cron: name: "{{ item.name }}" {{ 'special_time: "{{ item.special_time }}" ' if {{ item.special_time }} is defined else '' }} job: "{{ item.job }}"ч loop:
Viktor
Синтаксис неверный
подробнее плиз
Viktor
cron: name: "{{ item.name }}" special_time: "{{ item.special_time }}" job: "{{ item.job }}"
Timur
Параметры модуля не должны быть в скобках {{ }}
Viktor
так все работает
Timur
Вам нужно, чтобы параметр special_time присутствовал только, если есть переменная tem.special_time?
Timur
cron: name: "{{ item.name }}" special_time: "{{ item.special_time | default(omit) }}" job: "{{ item.job }}" Так попробуйте
Viktor
cron: name: "{{ item.name }}" special_time: "{{ item.special_time | default(omit) }}" job: "{{ item.job }}" Так попробуйте
да так работает, спасибо. А что-тотипо моего варианта возможно сделать? Хотелось бы многострочний jinja2 {% if ... %} ...{% endif %}
Timur
Для начала рекомендую выучить и осознать постулат: АНСИБЛ - НЕ ЯЗЫК ПРОГРАММИРОВАНИЯ
Vladislav 👻
и что АНСИБЛ НЕ ПРО ДЕЙСТВИЯ, А ПРО СОСТОЯНИЯ
niko
и как узнать в каком состоянии сейчас ансибл?)
Viktor
Для начала рекомендую выучить и осознать постулат: АНСИБЛ - НЕ ЯЗЫК ПРОГРАММИРОВАНИЯ
Это не мое решение, я просто пишу свой кусок :) Можно показать как #ненадотак
niko
???
ну как узнать применен твой плейбук или нет?
Viktor
А, т.е. "мопед не мой"? 😆
Что сказали то и делаю
niko
он применится тогда)
Timur
он применится тогда)
Так он для этого и нужен
Vladislav 👻
логично, потому что ансибл не про действие, а про состояние
George
ну-ну
Timur
Если хотите узнать результат применения без реального запуска, можно запустить в чек-моде
George
ансибл - про автоматизацию в первую очередь
George
а не про состояние
Vladislav 👻
ансиблом мы описываем состояние системы, которое хотим получить
Vladislav 👻
Vladislav 👻
и к чему угодно другому
George
не-а
Viktor
автоматизация - это к башу
а если мы хотим получить множество систем из одного плейбука? Просто добавляя те или иные переменные?
Timur
Что сказали то и делаю
И что вам сказали сделать?
George
у редхата альтернативное мнение
George
Ansible is a radically simple IT automation platform that makes your applications and systems easier to deploy.
George
вот что написано в заголовке гитхаба
Oleksandr
автоматизация - это к башу
сильное заявление (с)
Vladislav 👻
а если мы хотим получить множество систем из одного плейбука? Просто добавляя те или иные переменные?
если вы хотите получить множество систем в одном состоянии - это к ансиблу
Vladislav 👻
Oleksandr
да какое образно
Oleksandr
удаляй )
George
что хитро - там в описании НИ СЛОВА ПРО STATE
Oleksandr
стейт - то отсебятина
Viktor
И что вам сказали сделать?
Есть роль которая читает переменные и регистрирует факты, другая роль в зависимости от фактов - выполняет действия
Viktor
я пишу вторую роль
Evgenii
а я уже третью )