Nik
оп
Nik
а оно и без int работает
Nik
спасиб)
пробую воспользоваться модулем consul, в частности последним приведенным примером из документации тут https://docs.ansible.com/ansible/latest/modules/consul_module.html?highlight=consul
но во-первых кмк там ошибка и вместо service_id должно быть service_name, а во вторых, консул в итоге почему то перезаписывает сервис, вместо простого добавления хелсчека
можно ли как то этого избежать?
как мне подсказывает гугол "register an http check against a service that's already registered" можно перевести как "добавление чека к уже существующему сервису"
Timur
в примере service_name вообще нет
Timur
А в модуле есть :)
но оно почему-то в модуле не помечено required
хотя по факту получается именно оно нужно, а не id
Timur
И?
Timur
Что мешает задавать service_name?
и поэтому я не использовал service_id, а поставил service_name в своем кейсе
Timur
Ну, и в чем проблема тогда? :)
мне пока все равно какой id будет, главное другое
проблема в том, что а) сервис перезаписывается
б) я организовал loop, но похоже доезжает только 1 хелсчек
Timur
show me the code
- name: consul healthcheck type http-check
consul:
state: present
service_name: "{{ chc_http.1.CHC_HALFINT_NAME }}"
check_name: "{{ chc_http.1.CHC_NAME }}"
notes: "{{ chc_http.1.CHC_NOTES }}"
http: "{{ chc_http.1.CHC_URL }}"
interval: "{{ chc_http.1.CHC_INTERVAL }}"
with_subelements:
- "{{ CHC }}"
- CHC_VALUES
loop_control:
loop_var: chc_http
when: CHC.0.CHC_TYPE == "http-check"
Timur
Так, понятно
Timur
И что получается при запуске?
в смысле?
Timur
Ну, результат-то какой?
Timur
Таск отрабатывает?
таск то отрабатывает
я же написал - проблема в том, что таск в таком виде перетирает сервис, вместо "дописывания хелсчека" как написано в документации
т.е. после этого запрашиваю сервис, а там он не такой, каким я его регистрировал
т.е. я жду, что будет просто сервису дописан хттп чек
а сам сервис не тронут
Timur
А пример можно?
Timur
Ну, какой результат получается
пример чего?
Timur
Что меняется по факту
окей, как пример - я регаю сервис с метой
после отрабатывания таска - нет больше в сервисе никакой меты
я регаю сервис с сервистэгом, после отработки нет больше сервистэга
ID сохраняется, ServiceID, ServiceName сохраняются и равны между собой
Timur
А если задать servie_id вместо service_name
Timur
Что-то судя по коду это больше подходить должно
то тогда таск свалится, потому что консулу не понравится отсутствующий service_name
Timur
Чего?
Timur
Это ж опциональный параметр
теперь ты уловил
Timur
У тебя какая версия ансибла там?
2.4.2
я знаю что вышла 2.5.5, но пока нет причин апдейтить
Timur
Так, стоп
Timur
А в твоем коде же нет тегов
мой код - калька с кода из документации
где написано
цитирую
register an http check against a service that's already registered
и из предыдущих примеров видно, что сервис уже регнут ранее
поэтому я жду только появления http check'а, а не перекраивания всего сервиса
Timur
По факту будет перекраивание все равно
значит модулем пользоваться нельзя
Timur
А если теги указать?
а толку?
мне мета важнее, а ее поддержки вообще нет в модуле
Timur
Допиши свои :)
Timur
Или через другой модуль напрямую вызывай
ну я так с сервисами и сделал
вместо consul вызываю uri
Timur
Мужик!
но там вариабельное кол-во чеков, поэтому думал хоть тут consul можно прикрутить
Timur
кря
всем привет
Dmitry
Evgenii
хай всем. У меня опять вопрос про молекулу.
Моги ли я как то запускать тесты на выделенном удалённом сервере ?
Evgenii
знаю что есть драйвер delegated
Evgenii
но что то не могу до конца понять применение
Evgenii
ну т.е. не билдить LXD или виртуалку где бы то ни было, а просто залогиниться на удалённый хост по ssh, заинсталить там всё, удалить, и отключиться....
Nklya
А на следующий прогон она что будет делать, если там уже все готово?
Evgenii
ну вот у меня и вопрос, можно ли как то описать destroy.yml ?
Nklya
Nklya
Тестить нужно там где можно поднять чистую среду и тестировать.
Тестировать с чисткой после тестов это привет из 90-х
Nklya
Простейший вариант - гонять тесты в докере
Evgenii
да у меня плейбук с разворачиванием докер контейнеров