manefesto
то есть нельзя выполнить ansible-playbook -kK
manefesto
?
Sergey
то есть нельзя выполнить ansible-playbook -kK
понимать бы, зачем? если речь о том, как на хост попадёт начальный ключ и sudo для ansible - это есть такая штука, cloud-init называется, ну или можно погуглить cloud-init user-data
No1
а кто нибудь пользовался какими нибудь инструментами динамической инвентаризации для ansible - надо из terrafom > ansible) гитхаб - да, много всего интересного, хочется узнать из практики, какой инструмент рабочий и удобный
Nazar
CMy3u🐈
Вопрос
CMy3u🐈
Есть список установленных пакетов. Как сделать так, если пакет появляется, который не соответствует этому списку, чтобы ансибил его удалял?
CMy3u🐈
И вообще такое возмжно ансиблом?
CMy3u🐈
Кто нибудь такое делал?
Evgeny
можно сделать фильтром например
Evgeny
получать спискок всех пакетов, удалять из списка то что нужно оставить, а остальное удалять
CMy3u🐈
А это сделать?
CMy3u🐈
ansible filter?
Evgeny
не
Evgeny
jinja фильтром
Evgeny
если нет старндартного (я не помню просто) то пишется свой
Evgeny
уже все есть
Evgeny
{{ list1 | difference(list2) }}
Evgeny
http://docs.ansible.com/ansible/latest/playbooks_filters.html#set-theory-filters
Evgeny
list1 получить через yum list (если редхат), list2 это, то что должно остаться
Svyatoslav
CMy3u🐈
Немного не то
CMy3u🐈
Есть известный список пакетов
CMy3u🐈
Если польователь установил какую нибудь прогу, не из этого списка то при прогоне ансибла он должен удалить этот пакет
Evgeny
ну так
CMy3u🐈
Какой пакет установил пользователь мы не знаем, ансибл должен сравнивать пакеты из списка, если этого пакета нет в этом списке, то должен удалить
Svyatoslav
Exclude известные пакеты, которые можно получить шеллом, а остальные absent
Svyatoslav
Или странная идея?
CMy3u🐈
В приципе возможно.
Evgeny
делаешь
yum:
list: …
register: aaa
yum:
state: absent
name: “{{ item }”
with_value: “{{ aaa|difference(need_to_stay_list) }}”
Evgeny
и все
Evgeny
должно сработать
Evgeny
with_items только, конечно
Sergey
CMy3u🐈
ыы)
CMy3u🐈
там deb
Sergey
там deb
беглый гуглёж:
Apt-get logs can be found in /var/log/apt/term.log
gedit /var/log/apt/term.log
Evgeny
ну а унсибла есть модуль для deb
CMy3u🐈
log лучше не стоит
Evgeny
юм как пример привиден же)
CMy3u🐈
могут удалить
Evgeny
http://docs.ansible.com/ansible/latest/list_of_packaging_modules.html
Evgeny
можно роль написать которая сама будет понимать какая ОС и дергаь нужный модуль)
Sergey
могут удалить
либо мы говорим о решении для контроля за пользователями - и тогда я принципиально в этом не участвую, либо мы говорим о контролируемом продакшне - и тогда откуда вообще полномочия чего-то ставить?
CMy3u🐈
Ыы пользователями)
Sergey
Ыы пользователями)
ну конторы есть разные, есть которые дают локального рута а потом начинают скулить - ой, ставят что попало, хотим всё видеть и контролировать, и т.п.
CMy3u🐈
Просто таска такая, будет рут или нет это меня не касается
CMy3u🐈
Сказали тебя ебать не должно
Sergey
а, ну да, да.... "я только выполняю приказ"
Sergey
Тогда извини, при всём сочувствии к твоей проблеме я такими вещами не занимаюсь. Возможно, кто-то ещё согласится помочь.
Kostiantyn
мимо )
CMy3u🐈
Pavel
Pavel
у меня например есть "юзер" отвечающий только за сертификаты для nginx, но ему надо перезпускать сервис (так вот только это ему и можно)
manefesto
Немного удивлен что и awx и polemarch написаны с использованием django
Shamil
А что удивительного? Чуваки юзали джанго, писали на питоне, поэтому естественным для них было взять как инструмент CM, Ansible. И все заверте...
manefesto
пойду напишу свой awx с преферансом и фурсетками
Aleksey
Aleksey
все текущие — фуфло
Aleksey
переусложненные монстры которые предоставляют окошки для вписывания инишек.
Shamil
Тут дело не в том, что создатели башни идиоты, а скорее в том, что у самого Ansible философия трудно накладывается на системы, типа Puppet Enterprise или Chief Automate
Shamil
push-модель же...
manefesto
кстати awx не так уж и плох, только на кой хер там memcached и celery
manefesto
ну со вторым допустим понятно
manefesto
типа очереди
manefesto
а первый зачем
manefesto
типа чтобы быстро работало
manefesto
а оно медленно
Sergey
Господа хорошие, вопрос хитрый наброшу. Кто-нибудь знает фильтр, как в ансибле _удалить_ часть хэша (то бишь словаря/дикта)?
Aleksey
отслайсить его ?
Sergey
отслайсить можно list, там и вопросов нет
Sergey
а я про дикт
Aleksey
отслайсить дикто тоже можно :) по ключам. но тебе видимо нужен антипод combine
Sergey
да, именно. чтобы я ему сказал "удали вооон тот ключ", и он такой хоп - и удалил.
Алексей
есть ли какой менеджер зависимостей для ансибля?
Sergey
Aleksey
такое себе.
Sergey
это косвенная адресация, чутка другое