Aleksey
мне такое надо было - name: tesh prom config command: docker exec {{ prometheus_container_name }} promtool check config /etc/prometheus/prometheus.yml listen: "reload prometheus" register: out - name: print output debug: msg="{{out.stdout}}" listen: "reload prometheus" - name: reload prometheus command: docker exec {{ prometheus_container_name }} kill -SIGHUP 1 listen: "reload prometheus"
Max
есть 2 механизма выстрела
Max
один по строке listen.
Max
другой по имени таски.
Aleksey
да я по листен как ты видишь сделал
Max
при вызове, ты должен написать notify
Max
если там вбить имена твоих таск в обратном порядке, то они запустятся в порядке списка имен в notify.
Vladislav 👻
Коллеги а если у меня хендлер состоит из 2 тасков они выполняются по очереди ?
Я что-то не понял, в один хедлер одна таска, хендлеры в нотифе описываешь через лист, поэтому последовательность соблюдается
Aleksey
Я что-то не понял, в один хедлер одна таска, хендлеры в нотифе описываешь через лист, поэтому последовательность соблюдается
с учетом того что последовательность между хендлерами штука шаткая я решил спросить
Vladislav 👻
Ааа, ок 👍🏻
Vladislav 👻
Я пытался запихнуть в один хендлер две таски - ничего хорошего. А потом раскурил нормально нотиф
Oleksandr
IPv6 будет жить ;)
Aleksey
у меня тоже были соменения.
Max
🤣
𝔹𝕠𝕣𝕚𝕤
с учетом того что последовательность между хендлерами штука шаткая я решил спросить
Хендлеры выполняются ровно в той последовательности в которой они описаны. Есть ещё один трюк. В одном хендлере может быть notify другого хендлера
𝔹𝕠𝕣𝕚𝕤
Легко. Но профита от этого мало. )
Womchik
увеличение энтропии. и "because i can" вполне себе две достаточные причины
𝔹𝕠𝕣𝕚𝕤
Такой ход позволяет, например, запустить какие-то проверки после инсталляции и запуска сервиса, а также после перезапуска сервиса, при этом не дублируя таски проверки
𝔹𝕠𝕣𝕚𝕤
Если команда kill sighup больше не при каких обстоятельствах не вызывается, то вполне и listen достаточно. Незачем усложнять.
Aleksey
Спасибо. Это весь код
Aleksey
Там весь плейбук на 2 строки длиннее этого хендлера
𝔹𝕠𝕣𝕚𝕤
Пррсто про принцип бритвы Окама не стоит забывать. И многие вопросы сами собой отпадают.
𝔹𝕠𝕣𝕚𝕤
Да и в целом проектирование хоть сколько-нибудь сложного плейбука очень похоже на разработку ПО. Тоже надо тщательно продумывать архитектуру плейбуков и т.д.
Dmitry
доброй ночи, у кого бастион или джамп хост? прописал в инвентори [all:vars] ansible_ssh_common_args = ' -o ProxyCommand="ssh -W %h:%p -q jump.lol"' делаю -m raw -a "hostname" - показывает хостнейм бастиона
Dmitry
что за странное?
Alex
Я в ~/.ssh/config прописываю Джамп хосты УМВР
Dmitry
Dmitry
но просто ссш работает а ансибл нет
Dmitry
а как прописываешь?
Alex
Через 10 минут пингани меня, докурю скину свой конфиг
Dmitry
пробовал двумя способами # ProxyCommand ssh lol.com nc %h %p # ProxyCommand ssh -W %h:%p lol.com
Alex
2 джамп хоста для современного клиента ссш Host 192.168.1.* User root ProxyJump 192.168.2.4,192.168.3.4 Поднятие впн перед подключением к хосту Host 192.168.2.* User alexgluck ProxyCommand bash -c '~/.ssh/office.vpn.set.sh %h; nc -w 60 %h %p' 1 джамп хост для старого клиента ссш Host 192.168.3.* User root ProxyCommand ssh alexgluck@192.168.2.4 nc %h %p @count0ru
Dmitry
тоже самое и не работает
Dmitry
может потому что форвардовый агент
Dmitry
т.е. я хожу с А на Б чтобы потом через джамп В ходить на Г
Dmitry
агент с ключами на А только - дальше форвард
Dmitry
хотя, в таком случае он просто не подрубался бы
Денис
коллеги, а кто-нибудь пихал pfx сертификаты в vault? на сколько нормально перекодировать его в base64, например, и через модуль темплейт закидывать на нужный хост? или вообще плохой паттерн, и надо как-то по другому его на хост доставлять?
Max
про какой vault ? ansible-vault или hashicorp vault?
Денис
ansible-vault
Max
второй лучше подхолит...
Денис
ну ради одного сертификата не очень хочется поднимать конечно
Денис
в гугле обычно все примеры с ssl сертификатами
Max
а зачем сертификат в сейф класть? это же public key....
Денис
разве? в pfx же зашит приватный ключ
Денис
по крайней мере виндовая хранилка так говорит
Vladislav 👻
И да, это приваты, все в волте
Денис
спасибо, попробую
Sergey
Тогда удали, пожалуйста.
Alex
У меня подсмотрел ? :-)
Что подсмотрел?
Stan
пытаюсь создать пользователя, и что то ему не нравится: Stan, [08.04.19 11:40] The offending line appears to be: name: user password: {{ upassword | password_hash('sha512') }} Stan, [08.04.19 11:40] register: openvpn - name: set openvpn pwd shell: echo -e "{{ password | password_hash('sha512') }}\n{{ password | password_hash('sha512') }}" | passwd openvpn when: openvpn - name: Creating user user with admin access user: name: user password: {{ upassword | password_hash('sha512') }} groups: vpn append=yes
Stan
полагаю syntax не тот
Stan
что может быть?
/warn
Закинь лучше в пейстбин, а то телега формат ломает, не понятно что с синтаксисом
Vladislav 👻
а что не нравится то?
Stan
https://pastebin.com/fhXagPg3
Stan
The error appears to have been in '/etc/ansible/test/inventory/test.yml': line 32, column 17, but may be elsewhere in the file depending on the exact syntax problem. The offending line appears to be: name: user password: {{ upassword | password_hash('sha512') }} ^ here We could be wrong, but this one looks like it might be an issue with missing quotes. Always quote template expression brackets when they start a value. For instance: with_items: - {{ foo }} Should be written as: with_items: - "{{ foo }}"
Vladislav 👻
лишние отступы похоже
Vladislav 👻
у password и group
𝔹𝕠𝕣𝕚𝕤
Sun
Парни, а как вы собираете prometheus.yml в CI? Если я правильно понимаю, то у него нет опции типа "всосать все конфиги из папки" и надо как-то темплейтить scrape_configs, а затем собирать в один большой ямл. Я прав?
Stan
сделал следующее :
Sun
Т.е., допустим, вы поднимаете новый хост. На него, соответственно, деплоится node_exporter, как минимум. И надо прому сообщить, чтобы он забирал метрики. Я предполагаю, что это делается через темплейт.j2, который добавляется в prometheus.yml. Так?
Stan
- name: Add user test2 user: name: test2 password: "{{ password }}"
Stan
var с паролем:
Stan
--- password: test1
Stan
пишет что все прошло
Stan
но по паролю зайти не могу
Stan
что может быть?
Sun
service discavery
у меня не одна сеть.
Vladislav 👻
у меня не одна сеть.
Ну я сейчас делаю конфиг через темплейт на основе инвентори, но решение не идеально, ибо надо прод и дев в один пром