Alex
bebebe
печально конечно выходит
Udjin
Udjin
то есть заменило айпишник во всех targets на айпишник хоста из тестовой группы
bebebe
Udjin
да я не обвиняю, просто внимательно плей не прочитал
simplemice.eth
Денис
кто-нибудь на память помнит модуль ансибла, в котором есть параметры, которые нельзя вместе указывать одновременно? желательно виндовый. Хочу в коде глянуть как сделано, чтобы так же сделать
Денис
а то полистал сейчас с десяток - не нашел такого
Sergey
Vlad
module = AnsibleModule(
...
mutually_exclusive=[
['password', 'token'],
],
...
Udjin
ну если что, валите все на меня
оно заработало. Финальный вид плея вот такой:
https://pastebin.com/BNX3cy0F
теперь нужно понять, как сделать так, чтобы плей работал только когда в list больше одного айпишника
Udjin
и да, про пиво я серьёзно)
bebebe
bebebe
ну вот и закончились ваши трехденвные мучения, у всего чата отлегло
bebebe
а говорили что аншибл - это просто
bebebe
обманщики
Денис
Я такое писал. Сейчас гляну.
нашел такое в модулях, вроде норм
If (($password_expired -ne $null) -and ($password_never_expires -ne $null)) {
Fail-Json $result "password_expired and password_never_expires are mutually exclusive but have both been set"
}
Денис
ну или сейчас через список поищу, да
Денис
спасибо
Sergey
Денис
ну это модуль который уже в ансибле :)
Udjin
Udjin
сейчас попробую
bebebe
bebebe
вы приходите на канал ansible, и говорите что jinja2 это псевдоязык, и делаете это без уважения
Udjin
bebebe
Vadim
этому каналу нужен стикер с "Вас посетила полиция lineinfile. Пока без штрафа, но впредь не нарушайте"
bebebe
Vadim
я переживал, но не открыл - из-под крана налили
bebebe
Vadim
Udjin
лол)
Udjin
а у нас тут вообще нормального пива нету
Udjin
вот вином и приходится расслабляться
Vadim
хорошая идея, кстати
bebebe
это правда задачи 2016/17 года, сейчас я уже их не встречаю
Vadim
Vadim
в идеале это был бы темплейт в /etc/foo/conf.d
bebebe
да, понимаю.
bebebe
в случае с задачей прометея и его конфига в yaml, этот yaml можно подгурзить через include_vars в переменную например promethteus, поменять структуру переменной, и сдампить обратно.
тоже самое касается и json (все что кушает include_vars)
Vadim
ну не знаю, yedit имхо самое разумное решение - ansible очень любит переформатировать переменные если заподозрит что это не просто строка
bebebe
ога, я очень удивился как ansible внутри устроны типы переменных, когда плотно работал с json_path.
Dmitry
Недавно обновился до 2.6. Как народ хранит пароли для разных vault файлов? до этого был export env var, но дико неудобно когда нужно много паролей...
bebebe
хранить пароли можно в hashicorp vault
Dmitry
пароли для Ansible Vault
Dmitry
тот кароль, чтобы расшифровать Vault
bebebe
да, я понимаю о чем вы
Dmitry
Так-то понятно. есть еще Credstash
Dmitry
но пока этого нет
Dmitry
то есть harshicorp для хранния паролией к vault?
bebebe
по идеи, пароли от vault должны храниться в CI (либо в SECRET'ах к джобам), либо в умах операторов
bebebe
в том числе можно дергать их из hashicrop vault
bebebe
для этого выписываются токены и механим более гибкий, можно шарить разным людям/джобам с разными параметрами (количество использования, время жизни токена и прочие ухищрения)
Dmitry
Да, ок. Но это не решает вопроса с наличием нескольких vault, и как это передать ansible?
Dmitry
--vault-pass?
Dmitry
и каждый раз менять откуда брать пароль
bebebe
у вас в одном запуске плейбуки использоваутся разные vault ? и вам нужно пропихнуть несоклько ключей?
Dmitry
Dmitry
(пока))
Dmitry
но при запуске другого плейбука другой среды - другой vault
bebebe
вы можете подложить пароль в файл и указать ansible брать оттуда пароль
Dmitry
это сейчас так и происходит. Поэтому вопрос в том, как производить смену?
Dmitry
dev/prod/...
bebebe
не понимаю вашей проблематики.
попробуйте перед запуском класть пароль в файл и запускать плейбуку
Dmitry
Сейчас это переменная ANSIBLE_VAULT_PASS_FILE
bebebe
вы можете положить на уровень плейбуки файл ansible.cfg, в котором будет указать путь до файла с паролем
Dmitry
или как там... она задает путь к dev паролю. при этом плейбук запускается без необходимости передавать значение пути к файлу.
bebebe
vault_password_file = /etc/ansible/vault
Dmitry
к какому vault паролю этот путь? (dev/stg/prod/)?
Dmitry
так-то я могу указать dev, а при запуске на другой среде указывать принудительно путь к другим ключам
Dmitry
можно попробовать по бранчу вытаскивать называние среды и искать путь так...