Pavel
Безопасность - это всегда усложнение, особенно в начале :)
Aleksey
да и в середине тоже не сахар
Aleksey
а в конце мрак полный
Pavel
Ну потом это становится ПРИВЫЧНО
Petr
Три хоста под консул выделить - не сильно проще, чем ansible vault.
Три хоста под консул + волт - это однозначное усложнение, так как ansible-vault требует только установленного ансибла и больше ничего.
Aleksandr
ansible-vault вот это можно будет попробовать
Aleksey
а можно тогда вообще gpg
Denis 災 nobody
Aleksey
он в коробке идёт
Petr
Нужно понимать, что когды вы что-то собираетесь усложнить, то этим придётся пользоваться не только вам, но и вашим коллегам. Всё хорошо только в том случае, когда ничего не ломается. Избыточное усложнение ведёт к бесполезной трате времени на траблшутинг, вызванный тем что кто-то что-то усложнил и где-то совершенно случайно опечатался...
Aleksey
он требует только стандартных либ и знаний которые априори есть у каждого админа
Petr
Да можно всё что угодно использовать, так как в ansible-vault в качестве пасса можно на вход передавать что угодно: хотите пароль в открытом виде, хотите скрипт, который будет с помощью ключа расшифровывать хранилище.
Vladimir
Всем привет )
Aleksandr
Всем привет )
Ну, допустим, привет
Vladimir
Кто знает как сделать цикл, который берёт элементы из файл ? Хочу юзера в 100500 групп добавить. Группы в файлик положу.
Sergey
Кто знает как сделать цикл, который берёт элементы из файл ? Хочу юзера в 100500 групп добавить. Группы в файлик положу.
Ой, ещё один вариант LDAP. Но поскольку ты всё равно не откажешься от желания делать странное - вот: https://docs.ansible.com/ansible/latest/plugins/lookup/file.html
Sergey
Удалил не относящееся к Ansible.
Vladimir
ок
Terry
Удалил не относящееся к Ansible.
видно нужно сделать алерт от бота ;)
Maksim
Привет. Есть специфический вопрос. Есть два списка, список а и список б В списках может быть неограниченное количество значений. Что нужно: каждый элемент списка А соединять с каждым элементом списка Б, и вывести в отдельную переменную. т.е а1б1 а1б2 а1б3 а2б1 а2б2 и т.д Как это можно сделать?
Maksim
а a1b1 и b1a1 одно и тоже?
нет. т.е именно в таком порядке, что сначала a, потом b
Отделение Bereke Bank
subelements если я тебя правильно понял
Alex
нет. т.е именно в таком порядке, что сначала a, потом b
https://docs.ansible.com/ansible/latest/plugins/lookup/cartesian.html
Alex
тебе нужно декартово произведение
Alex
если я правильно понял
Maksim
https://docs.ansible.com/ansible/latest/plugins/lookup/cartesian.html
Вот это вроде бы подходит, но пока еще не факт. Вопрос в придачу. - name: loops over the cartesian product of the supplied lists debug: msg="{{item}}" with_cartesian: - groups['minio'] - "{{ minio.dirs }}"
Maksim
Как изменить groups['minio'], чтобы вывести все хосты из группы этой
Aleksandr
всмысле просто на экран? куда вывести?
Denis 災 nobody
может почитать доку?
Maksim
всмысле просто на экран? куда вывести?
1 переменная - список хостов из группы minio 2 переменная - список директорий из переменной Вот я их пытаюсь скрестить
Sergey
1 переменная - список хостов из группы minio 2 переменная - список директорий из переменной Вот я их пытаюсь скрестить
Сейчас ты передаёшь текстовую строку: groups['minio'] По обычным правилам Питон взрывает её в список букв 😊 Так?
Petr
проще всего написать темплейт, а потом через lookup(template,...)
Petr
Проще всего?))
пишите темплэйт на jinja2, а потом передаёте в переменную lookup('template', 'путь_до_темплейта')
Maksim
пишите темплэйт на jinja2, а потом передаёте в переменную lookup('template', 'путь_до_темплейта')
Может быть удобнее всего, здесь я соглашусь. Но мы же за минимализм :)
Petr
имхо, пофиг минималзм-немнимализм, главное чтобы это было не только одному человеку понятно
Maksim
https://docs.ansible.com/ansible/latest/plugins/lookup/cartesian.html
Он мне выдает теперь вот так ok: [10.0.110.191] => (item=[u'10.0.110.191', u'/var/lib/minio/data1']) => { "msg": [ "10.0.110.191", "/var/lib/minio/data1" ] } ok: [10.0.110.191] => (item=[u'10.0.110.191', u'/var/lib/minio/data2']) => { "msg": [ "10.0.110.191", "/var/lib/minio/data2" ] } Как их скрестить теперь в одну строчку, чтобы было 2 значения, и эти 2 значения поместить в переменную?
Emil
Доброго времени суток. Плейбук запускает скрипт, который так-же рестартит stunnel. Но стуннель не поднимается. Если выполнить скрипт руками, то без проблем. tasks: - name: restart stunnel shell: <path>/script.sh arg1 arg2 args: executable: /bin/bash Лог stunnel Unexpected socket close (read_blocking) Connection reset: 0 byte(s) sent to SSL, 0 byte(s) sent to socket ansible version 2.7.10
Alex
shell: <path>/script.sh arg1 arg2 а оно консоль отпукает? Попробуй с nohup
Aleksandr
Доброго времени суток. Плейбук запускает скрипт, который так-же рестартит stunnel. Но стуннель не поднимается. Если выполнить скрипт руками, то без проблем. tasks: - name: restart stunnel shell: <path>/script.sh arg1 arg2 args: executable: /bin/bash Лог stunnel Unexpected socket close (read_blocking) Connection reset: 0 byte(s) sent to SSL, 0 byte(s) sent to socket ansible version 2.7.10
скрипт детачится от текущего родительского процесса? если нет, то после того как ансибл уходит, шелл умирает и за собой убивает всех потомков. Как тебе правильно сказали - используй для этого системы которые специально предназначены - sysV или sysD
Emil
"если нет, то после того как ансибл уходит, шелл умирает и за собой убивает всех потомков." Запомню, спасибо!
Сергей "Mist"
Здравия желаю, дико извиняюсь, что сразу с вопросом, но гугл мне не помог(а может и я не умею). Есть задача подготовить множество разных windows хостов для ансибл. Есть ли какой-то exe или скрипт, чтобы обновлял повершел, создавал пользователя под нужды ansible и открывал winrm? Парк состоит в основном из win 7 pos ready. Есть несколько скриптов, но один просит ребута ручками. Можно написать свою обертку, но если вдруг есть готовое решение, то было бы круто.
Timur
Ну, и Win 7 в 2020 году - это зашквар
Сергей "Mist"
Да вообще win зашквар надо сказать, но вот сидим, настраиваем.
Сергей "Mist"
https://github.com/ansible/ansible/blob/devel/examples/scripts/ConfigureRemotingForAnsible.ps1 Этот не подходит?
Вариант, пробовал. Но перед этим надо повершел обновлять.
Сергей "Mist"
обновляй на 8ку или 10ку
Кассы с двумя гигами? Они и здесь порой на ладом дышат.
Timur
Вариант, пробовал. Но перед этим надо повершел обновлять.
Со старым PS вам в любом случае ничего не светит
Terry
проблема жлобства не проблема ansible
Сергей "Mist"
DSC ?
Расшифруй, будь добр.
Max
Вариант, пробовал. Но перед этим надо повершел обновлять.
А в чем проблема обновить сделайте сборку и потом ее раскатываете
Max
Домена нет?
Сергей "Mist"
А в чем проблема обновить сделайте сборку и потом ее раскатываете
Разные тачки, разная расположенность. Я сам бы рад.
Сергей "Mist"
Сергей "Mist"
Тут в этом и прикол, что пока только ручками.
Сергей "Mist"
Но одно дело, когда ручками 3 скрипта контроллировать, а другое когда 1 ехе запустил и ждешь.
Сергей "Mist"
Но как раз подготавливаю почву, чтобы в будущем нормально админить.
Bogdan (SirEdvin)
Немного такой странный вопрос, можно ли получить список пользователей на удаленной машине? Да, я знаю про то, что делать из ansible ldap это очень плохое решение, но пока внедрение только проходить, а почистить кучу хостов надо уже сейчас
Bogdan (SirEdvin)
А какой-то ansible-way без вызова баш методов?) Или надежды нет?
Alex
как раз ansible way
Bogdan (SirEdvin)
А потом сидеть парсить base64? (
Alex
decode
Alex
"{{ jfmc_ha_master_key_base64['content'] | b64decode }}"
Aleksandr
через факты?
Bogdan (SirEdvin)
Ну, парсить то его все равно нужно будет, распаковав в список и попутно как-то отфильтровав пользователей, которые не сервисные