Timur
Timur
Ссылки на конфиги кладутся в инвентарь
Timur
А хранить можете как хотите
Anonymous
Hi,
How can I store windows OS version to variable in ansible?
Timur
Timur
For instance:
- ansible_distribution
- ansible_os_family
- ansible_os_name
- ansible_system
You can check them to see what you like to have
Andrey
Ребят, а можно ли сделать логику inventory, иерархию. Например у меня есть список все хосты, мне его надо поделить на подхосты, чтобы в extra-vars в плейбуке их указывать. Хочу all, ставится на всё. Хочу там stage, ставится на подгруппу стейдж. Я смотрел в сторону child, но что-то не взлетело
Nklya
Разные енвы-разные инвентори
Andrey
Nklya
Зачем?
Sergey
Алексей
Не надо так.
нормальная логика. Делятся хосты на группы и вперёд.
Timur
Timur
Но если речь про разные стейджи, то логичнее разный инвентарь делать для разных окружений
Ivan
првиет!
направьте, пожалуйста:
как лучше работать со string в ансибле?
Хочу получить версию ядра и потом её сравнивать, например > 4.0
4.15.0-45-generic -> 4.15
3.10.0-862.14.4.el7.x86_64 -> 3.10
что-то с .split(.)?
Nklya
есть же сравнивалка версий встроенная
Ivan
https://docs.ansible.com/ansible/latest/user_guide/playbooks_tests.html#version-comparison ? Да, навреное, но сперва надо нормализовать строку наверное
Andrey
Без дублирования
Timur
Timur
Используйте обычные group_vars
Andrey
Чтобы подставлять при вызове плейбука ещё
Timur
Господя
Timur
Что и куда подставлять?
Andrey
Что и куда подставлять?
Допустим есть плейбук установить зависимости, мне не нужно туда жестко группу прибивать. Я подставляю туда переменную ансибла, чтобы группу прописать через extra-vars в шеле
Andrey
На исполнение
Timur
Andrey
А если на все то all подставить, вот я и спрашиваю, кто может так делал
Alexander
Children group? Или я не понимаю вопроса.
Andrey
Alexander
Так это есть все на https://docs.ansible.com/ansible/latest/user_guide/intro_inventory.html
Alexander
Можно это делать на уровне плейбука в качестве hosts: "{{ target | default('группа')}}", но это более применимо на динамический инвентори
Vladislav 👻
нормальная логика. Делятся хосты на группы и вперёд.
А потом пишутся плейбуки под разные группы, вместо замены инвентори...
А потом трахаешься в темплейтах, если надо конфигурацию на основе группы хостов
А потом... А потом много еще чего можно написать
es]x
Rad
Vladislav 👻
Группа хостов, это группа хостов. Но prod и dev надо не в группы загонять, а в отдельные инвентори
Konstantin
Ситуации разные бывают, но обычно стараются один хост добавить в одну группу. Чтоб не пересекалось с другими ролями. Тогда все становится очень просто. Ну и разный инвентарь проще вести.
es]x
А ссылку можно на gir
Timur
https://molecule.readthedocs.io/en/latest/
Timur
Гит вот тут:
https://github.com/ansible/molecule/
Timur
Konstantin
Алексей
Алексей
Алексей
es]x
Andrey
Алексей
Пинганите в личку завтра, я с мобильного сейчас. Я пример скину.
Rad
хорошо, спасибо
Vladislav 👻
Vladislav 👻
Или у вас полная динамика, как хостов, так и ролей?
Vladislav 👻
Это прекрасно, но в какой-то момент вы начнете больше писать ямлики, вместо того, чтобы просто запустить плейбук
Vladislav 👻
Я понял, ну такое себе решение, рано или поздно можно упереться в геморрой
Vladislav 👻
Может плейбук, а не роль?
Vladislav 👻
И я правильно понимаю, что это запуск плейбука из серии "без тегов не взлетит", только тут логика на лимит хостов?
Vladislav 👻
Хотя наверно взлетит, просто надо почти все дублировать в all
Vladislav 👻
Ну да, такое себе
Vladislav 👻
Хотя нет, я не понял. Плейбук работает в рамках хоста/группы, вот есть у вас две машины в рамках одной задачи, на одну надо поставить одно веб приложение и nginx, на вторую второе веб приложение и nginx. Как одним плейбуком вы такое разрулите?
Алексей
Алексей
Алексей
Дальше всё настраиваешь как удобно. Способ отработан практикой. Принцип отделять конфигурацию от реализации восходит ещё к Puppet Hiera, так что тут ничего нового нет.
Konstantin
Алексей
Разрабов не нужно упрашивать. С ними нужно договариваться
Vladislav 👻
Алексей
И правила устанавливает и оьучает именно админ отвечающий за выкат
Vladislav 👻
Я не понял, как эти три роли в одном плейбуке раскатаются на две машины
Konstantin