@pro_ansible

Страница 179 из 625
Albert
20.03.2017
14:26:59
ansible-vault encrypt some_deploy_key_rsa

Кстати path может быть и релативный

То есть просто написать название ключа можно, и он будет его искать в папке где и вы

Vladimir
20.03.2017
14:27:39
ansible-vault encrypt some_deploy_key_rsa
Ага, потом git add, git commit, git push. Потом я беру репу на другой машине, и что я делаю?

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

То есть просто написать название ключа можно, и он будет его искать в папке где и вы
И запускайте ansible если все сконфигурировали как я сказал

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://t.me/devops_jobs

Это который?
Гляньте 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.

Hackru
20.03.2017
21:15:48
Видимо надо условие ваше в failed_when прописать
т.е. какое-то условие выбрать, которое никогда не выполнится

хорошая мысль, спасибо

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 мне подсказал.

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-экране в конце плейбука

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
Надо сделать local action на задание переменной окружения
Илья, попробуй сам сначала. Когда не получится тремя разными способами, приходи.

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
local_action: shell export blablatest= "{{item.public_ip }}"
возьми в кавычки всё после :, а не только {{}}

и пробел у тебя там лишний

оно же в шел как есть передает

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
без вот жтого вот всего

local_action: "shell export blablatest= "{{item.public_ip}}"" вот так ругается на синтаксис
Ansible makes it easy for you to configure your environment by using the ‘environment’ keyword.

http://docs.ansible.com/ansible/playbooks_environment.html

Serge
21.03.2017
13:17:28
Ansible makes it easy for you to configure your environment by using the ‘environment’ keyword.
да да, это правильнее. но мало ли зачем автору это надо. я просто ждал, когда заработает так, чтобы стало видно, что это не поможет и надо использовать environment:)

или как было 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

Единорожа
21.03.2017
15:09:58
хотел сделать красиво а сделал как всегда?
Просто поменял shell на environment)) local_action: environment blablatest="{{item.public_ip}}"

Anatoly
21.03.2017
15:10:11
а ну ок

все правильно сделал

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

Страница 179 из 625