
Albert
20.03.2017
14:26:59
ansible-vault encrypt some_deploy_key_rsa
Кстати path может быть и релативный
То есть просто написать название ключа можно, и он будет его искать в папке где и вы

Vladimir
20.03.2017
14:27:39

Google

Albert
20.03.2017
14:27:57
ansible-vault decrypt some_deploy_key_rsa

Vladimir
20.03.2017
14:28:45
Но это же неудобно это раз (у меня таких секретов может быть много), во вторых после этой операции гитовый working copy будет грязным

Albert
20.03.2017
14:31:04
Ну с этим я уже не знаю как помочь... Кстати, в ансибле есть конфигурация - private_key_file
http://docs.ansible.com/ansible/intro_configuration.html#private-key-file

Pavel
20.03.2017
14:42:48
А если разработчик уволится то придется ключ перегенерить и заново шифровать. Вместо того чтобы просто удалить паблик кей того кто ушел.

Vladimir
20.03.2017
14:48:34

Albert
20.03.2017
14:55:41
Тот же ансибл и распространить эти ключи

Vladimir
20.03.2017
16:00:24
Тот же ансибл и распространить эти ключи
Через ансибл может распространять ключи только тот, кто уже имеет авторищованный ключ (либо свой, который кто-то уже добавил, либо начальный). Таким образом информации в репозитории с конфигами и пароля для vault оказывается недостаточно для работы, нужны дополнительные действия, который на мой взгляд в моей ситуации излишни.

RunOver
20.03.2017
16:01:13
Друзья, а здесь постить вакансию можно?

Vladimir
20.03.2017
16:01:56
Плюс конечная цель использовать vault для хранения всех секретов - не охота использовать несколько инструментов для практически одного и того же (Ansible vault + hashicorp vault)

Google

Bogdan (SirEdvin)
20.03.2017
16:02:26

Vladimir
20.03.2017
16:03:28

Bogdan (SirEdvin)
20.03.2017
16:04:32
Это который?
Гляньте https://square.github.io/keywhiz/, может он вам поможет
Версионность там есть

Vladimir
20.03.2017
16:05:17

Hackru
20.03.2017
21:09:38
вечер в хату, девопсы. а подскажите плз, как сделать красиво, по понятиям, чтобы красных строчек не было в выводе ansible-playbook? сейчас делаю так, оно работает, но глаз мозолит:
- name: Test if we have servicename
shell: readlink /etc/service/servicename
register: servicename_test
ignore_errors: True
changed_when: False
ну т.е. я проверяю наличие симлинка и делаю реджистер, а потом в следующем шаге проверяю servicename_test.rc == 0
есть еще несколько мест, где через shell-комманду проверка идёт, не обязательно readlink.

Serge
20.03.2017
21:12:18

Hackru
20.03.2017
21:15:48
хорошая мысль, спасибо

Albert
20.03.2017
21:16:46

Hackru
20.03.2017
21:17:06
есть еще несколько мест, где через shell-комманду проверка идёт, не обязательно readlink.

Albert
20.03.2017
21:17:24
Да stat просто проверяет что там
И пишет в register если надо

Hackru
20.03.2017
21:17:42
я понимаю, но это только в этом случае применимо

Albert
20.03.2017
21:17:51
А в каком нет?

Hackru
20.03.2017
21:17:52
а мне надо было универсальное решение
когда /usr/bin/something выдаёт нулевый экзит-код
на приложение это ессна нет модулей

Google

Albert
20.03.2017
21:18:47
Я вижу вы не поняли

Hackru
20.03.2017
21:19:17
stat мне поможет только в случае если я хочу проверять наличие файла/линка

Albert
20.03.2017
21:19:40
http://docs.ansible.com/ansible/stat_module.html

Hackru
20.03.2017
21:19:59
ну.
это частное решение именно для флага-файла или файла-симлинка
как это поможет мне в случае если я должен запустить приложение и получить от него код возврата?

Albert
20.03.2017
21:21:08
shell
Не пойму что вы хотите

Hackru
20.03.2017
21:21:29
я так уже и делаю, через shell
вопрос был в том, как сделать чтобы не считались мои проверки за ошибку, Serge Matveenko мне подсказал.

Vlad
20.03.2017
21:28:11

Hackru
20.03.2017
21:28:51
в том-то и смысл что мне не надо никогда фейлиться

Vlad
20.03.2017
21:30:38
мало-ли что может произойти. Лучше не фейлится когда точно знаешь что произошло.
И changed_when желательно проверять вывод команды на событие что что-то изменилось

Hackru
20.03.2017
21:31:48
смысл в том что я проверяю, что у меня соблюдается какое-то условие, и если оно не соблюдается - это просто не запускает выполнение следующего шага в роли
поэтому оно никогда не должно ни фейлиться, ни чейнджиться
чтобы потом у меня не было лишних икрементов для changed/failed в summary-экране в конце плейбука

Albert
20.03.2017
21:42:23

Hackru
20.03.2017
21:42:57
> чтобы красных строчек не было в выводе ansible-playbook

Albert
20.03.2017
21:43:10
Так это всего лишь лог

Google

Hackru
20.03.2017
21:43:29
> глаз мозолит

Albert
20.03.2017
21:43:40
Красные строчки мешают? Пишите свой output plugin
http://docs.ansible.com/ansible/dev_guide/developing_plugins.html#callback-plugins

Hackru
20.03.2017
21:45:10
это как-то оверкилл по сравнению с предложенным вариантом выше.
еще есть вопрос, не хуже предыдущего
можно ли как-то объяснить ансиблу, чтобы он не всегда выводил вербоз-лог, а только в случае если changed?

Единорожа
21.03.2017
12:44:55
Кто мне помочь желает?)
Надо сделать local action на задание переменной окружения

Serge
21.03.2017
12:45:46

Admin
ERROR: S client not available

Единорожа
21.03.2017
12:45:58
Пробовал
Через command и через shell
И меняя путь к шелу с ansible cfg
bad variable name
Вот что выдает
local_action: shell export blablatest= "{{item.public_ip }}"

Paul
21.03.2017
12:47:33
коллеги, внезапный вопрос - можно ли вкладывать в группы И группы И хосты сразу? [groupname:children] я уже умею, но плодить группы ради одного-двух хостов не хочется

Serge
21.03.2017
12:48:01
и пробел у тебя там лишний
оно же в шел как есть передает

Google

Serge
21.03.2017
12:49:12
т.е. вот это`export blablatest= "{{item.public_ip }}"` ровно так, только с вставленным значением джинжой уходит в консоль

Единорожа
21.03.2017
12:50:02
local_action: "shell export blablatest= "{{item.public_ip}}""
вот так ругается на синтаксис
Взял после shell поставил открывающие
Сейчас проверяю
Теперь выдает, not found что уже лучше)

Anatoly
21.03.2017
12:59:41
без вот жтого вот всего
http://docs.ansible.com/ansible/playbooks_environment.html

Serge
21.03.2017
13:17:28
или как было
local_action: shell export blablatest="{{item.public_ip}}"
но без пробела

Единорожа
21.03.2017
15:08:06
http://docs.ansible.com/ansible/playbooks_environment.html
Хотел сделать красиво, fatal: [localhost]: FAILED! => {"failed": true, "msg": "The module environment was not found in configured module paths. Additionally, core modules are missing. If this is a checkout, run 'git submodule update —init —recursive' to correct this problem."}
Ставил из ppa
ansible 2.2.1.0

Anatoly
21.03.2017
15:09:03
в доке же написано
хотел сделать красиво а сделал как всегда?

Единорожа
21.03.2017
15:09:58

Anatoly
21.03.2017
15:10:11
а ну ок
все правильно сделал

Единорожа
21.03.2017
15:10:30
И вылазит ошибка что выше