manefesto
ну твоё дело, только это в итоге делает твои плейбуки менее читаемыми
manefesto
через полгода не поймешь что сделал
Sergey
Да, можно через лимит
фу-фу. для этого группы существуют.
manefesto
о чем и речь
manefesto
я отказался от лимитов и тэгов
manefesto
делают сначала hosts:all а потом через лимит ограничивают
manefesto
не надо так
manefesto
https://www.meme-arsenal.com/memes/d90178d4037c0596dbfcb48283b70497.jpg
manefesto
я кстати так раньше и делал как ты говоришь
manefesto
тэги и extra-vars рулили
Nklya
И как тебе теги мешают, если их просто можно не использовать?
Dorian
Как без тэгов можно рулить конфигурацией ?
Dorian
Я у freeseacher учился
manefesto
ну бери меня к себе на работу. придем к консенсусу
Sergey
я отказался от лимитов и тэгов
на мой вкус - почём зря. к примеру, у меня есть некоторый набор тегов фиксированный, который есть во всех ролях. таким образом я знаю, что любая роль, будучи запущенной с тегом restart, сделает рестарт сервиса, с configure - приведёт его конфиги к заданному виду, с install - установит сервис в систему, с prepare - штуки типа "притащить на хост толстый внешний архив" понятно, что почти всегда install,configure.
manefesto
у меня видимо нет таких задач
Sergey
у меня видимо нет таких задач
как говорится - YMMV. при наличии мешка сервисов, и если роли написаны однообразно - здорово помогает поддерживать хозяйство в актуальном виде.
manefesto
пойду искать интересную работу
George
Случайно на ноут приехал ансибл 2.5 Было смешно. include_role + delegate_to делают что сказали, но не там, где сказали. Прям как в анекдоте: Я сказал руку. Я сказал левую. Я сказал, накладываем гипс.
manefesto
откатывайся
kevit
господа, а много кто использует molecule ?
я использую, но подумываю перестать и использовать только линтеры напрямую в CI
George
Сергей, о, расскажи почему. Я как раз думал её внедрять.
kevit
@Nklya, не согласен. environment-specific переменные в inventory быть и должны. Например, если есть production & staging, то где хранить имя окружения?
create: ## Create an inventory for new environment mkdir -p inventories/$(name)/group_vars/all ln -s ../../../000_crossenv_vars 000_crossenv_vars mv 000_crossenv_vars inventories/$(name)/group_vars/all/000_crossenv_vars
kevit
и в каждом энве 001_local
kevit
неисключено, это ваше IT весьма небольшое
kevit
Сергей, о, расскажи почему. Я как раз думал её внедрять.
моя идея была засунуть молекулу в гитлаб и прогонять в пайплайне коммиты
kevit
но есть нюансы например у нас билдеры докеризированы
Alex
господа, а много кто использует molecule ?
я использую, смотреть тут - https://github.com/kharkevich/ansible-elastic-metricbeat
kevit
и systemd превращается в небольшое приключение ( как пример)
kevit
начинаются странные вещи типа
kevit
capabilities: - SYS_ADMIN privileged: true volumes: - /sys/fs/cgroup:/sys/fs/cgroup:ro provisioner:
Alex
есть специальная магия для этого жеж
kevit
я про это и говорю
kevit
слишком много магии
kevit
если нет норм интеграции (которой ни у кого нет)
kevit
а запускать ansible-lint можно и из того же пайпа
Vadim
systemd не нужен privileged емнип, по крайней мере в центосе
George
Я у себя добился, что проект полностью в lxc способен подняться. Хотя чистый прогон после коммита - жирновато.
George
Несколько мест, где "контейнеры не сервера" обойдены простым when: ansible_virtualization_type != 'lxc' and ansible_virtualization_role != 'guest'
George
А дальше просто ansible-playbook -i staging -c lxc site.yaml и поехали.
George
Плюс container-bootstrap, который их создаёт.
George
- hosts: containers gather_facts: no connection: local tasks: - name: Creating container import_role: name: lxc_container tasks_from: create_container - hosts: containers gather_facts: no connection: lxc tasks: - name: Preparing container import_role: name: lxc_container tasks_from: prepare_container
George
сами роли копеечные. Создать контейнер с именем как inventory_name, да поставить python в raw-режиме.
xXxSPYxXx
Какой Web UI для Ansible сейчас лучше всего?
Yury
так кроме AWX есть еще semaphore а больше я и не знаю
xXxSPYxXx
Такое нагуглил https://github.com/vstconsulting/polemarch
manefesto
да, но только AWX это поделие от редхата который купил ansible
manefesto
даже есть для jenkins плагин ansible
Artem
даже есть для jenkins плагин ansible
отвратительный, но есть)
manefesto
для своих задач я использую awx
xXxSPYxXx
AWX только с докером ставится?
manefesto
ла
manefesto
да
manefesto
там какие то хитрости есть, вроде как можно и на хост поставить
manefesto
но проблем в принципе нет
manefesto
ansible-playbook -i inventory install.yaml
Vadim
AWX только с докером ставится?
ставиться он чем угодно, но дефолтно девелоперы распостраняют только докерконтейнер
manefesto
ну там типа актуальные сборки
xXxSPYxXx
Есть дока по установки без докера?
manefesto
качай с гитхаба и собирай
manefesto
но доки нет
Maksimi
докерфайл вроде бы неплохая инструкция
Artur
в awx нет ограничения по хостам ?
manefesto
Не-а
manefesto
Это не Тауер
Artur
вот на его первым я и наткнулся
Artur
не ахти этим понравился
Lex
Господа, а как работает import_playbook в ansible?
Lex
он не запускает случаем отдельный инстанс ansible-playbook?
Lex
отлично, беда такая, использую lookup_plugin, у него есть кеш, так вот в плейбуке который импортится этот кеш пустой
Lex
есть идеи как победить?