
Nik
16.06.2018
22:37:30
там не заносили поддержку serial из переменной?

Sergey
16.06.2018
22:38:50

Nik
16.06.2018
22:39:34
я про то, что бы внешней переменной задавать serial плейбука

Google

Sergey
16.06.2018
22:40:04
я тоже

Nik
16.06.2018
22:43:24
ну, давай прям ща попробую. но последжний раз ругался, что serial не int

Sergey
16.06.2018
22:47:00
Упс. У меня в виртуалке 2.5.4. Может, в старом где и не поедет.

Nik
16.06.2018
22:47:27
ansible-2.5.3-1.el7.noarch
сильной разницы нет)

Sergey
16.06.2018
22:47:51
ы. ну должно, да. а ты как пишешь это дело?

Nik
16.06.2018
22:49:35
- hosts: "{{ host_type }}"
serial: "{{ serial }}"
tasks:
- shell: echo 'test'
register: foo
- debug: msg="the echo was {{ foo.stdout }}"
например

Vadim
16.06.2018
22:51:28
{{ serial | int }} поди

Nik
16.06.2018
22:54:27
оп
а оно и без int работает
спасиб)

dmage
17.06.2018
17:44:43
пробую воспользоваться модулем consul, в частности последним приведенным примером из документации тут https://docs.ansible.com/ansible/latest/modules/consul_module.html?highlight=consul

Google

dmage
17.06.2018
17:45:25
но во-первых кмк там ошибка и вместо service_id должно быть service_name, а во вторых, консул в итоге почему то перезаписывает сервис, вместо простого добавления хелсчека
можно ли как то этого избежать?
как мне подсказывает гугол "register an http check against a service that's already registered" можно перевести как "добавление чека к уже существующему сервису"

Timur
17.06.2018
17:49:41

dmage
17.06.2018
17:50:14
в примере service_name вообще нет

Timur
17.06.2018
17:50:24
А в модуле есть :)

dmage
17.06.2018
17:50:51
но оно почему-то в модуле не помечено required
хотя по факту получается именно оно нужно, а не id

Timur
17.06.2018
17:51:09
И?
Что мешает задавать service_name?

dmage
17.06.2018
17:51:38
и поэтому я не использовал service_id, а поставил service_name в своем кейсе

Timur
17.06.2018
17:51:56
Ну, и в чем проблема тогда? :)

dmage
17.06.2018
17:52:00
мне пока все равно какой id будет, главное другое
проблема в том, что а) сервис перезаписывается
б) я организовал loop, но похоже доезжает только 1 хелсчек

Timur
17.06.2018
17:53:11
show me the code

dmage
17.06.2018
17:55:28
- 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
17.06.2018
17:59:02
Так, понятно
И что получается при запуске?

dmage
17.06.2018
17:59:28
в смысле?

Google

Timur
17.06.2018
17:59:43
Ну, результат-то какой?
Таск отрабатывает?

dmage
17.06.2018
18:00:49
таск то отрабатывает
я же написал - проблема в том, что таск в таком виде перетирает сервис, вместо "дописывания хелсчека" как написано в документации
т.е. после этого запрашиваю сервис, а там он не такой, каким я его регистрировал
т.е. я жду, что будет просто сервису дописан хттп чек
а сам сервис не тронут

Timur
17.06.2018
18:03:48
А пример можно?
Ну, какой результат получается

dmage
17.06.2018
18:03:56
пример чего?

Timur
17.06.2018
18:04:02
Что меняется по факту

dmage
17.06.2018
18:04:13
окей, как пример - я регаю сервис с метой

dmage
17.06.2018
18:04:23
после отрабатывания таска - нет больше в сервисе никакой меты
я регаю сервис с сервистэгом, после отработки нет больше сервистэга
ID сохраняется, ServiceID, ServiceName сохраняются и равны между собой

Timur
17.06.2018
18:23:06
А если задать servie_id вместо service_name
Что-то судя по коду это больше подходить должно

dmage
17.06.2018
18:23:50
то тогда таск свалится, потому что консулу не понравится отсутствующий service_name

Timur
17.06.2018
18:24:04
Чего?
Это ж опциональный параметр

Google

dmage
17.06.2018
18:24:26
теперь ты уловил

Timur
17.06.2018
18:24:33
У тебя какая версия ансибла там?

dmage
17.06.2018
18:25:06
2.4.2
я знаю что вышла 2.5.5, но пока нет причин апдейтить

Timur
17.06.2018
18:35:46
Так, стоп
А в твоем коде же нет тегов

Admin
ERROR: S client not available

dmage
17.06.2018
18:36:16
мой код - калька с кода из документации
где написано
цитирую
register an http check against a service that's already registered
и из предыдущих примеров видно, что сервис уже регнут ранее
поэтому я жду только появления http check'а, а не перекраивания всего сервиса

Timur
17.06.2018
18:38:07
По факту будет перекраивание все равно

dmage
17.06.2018
18:38:27
значит модулем пользоваться нельзя

Timur
17.06.2018
18:39:21
А если теги указать?

dmage
17.06.2018
18:39:33
а толку?
мне мета важнее, а ее поддержки вообще нет в модуле

Timur
17.06.2018
18:45:38
Допиши свои :)
Или через другой модуль напрямую вызывай

Google

dmage
17.06.2018
18:46:12
ну я так с сервисами и сделал
вместо consul вызываю uri

Timur
17.06.2018
18:46:32
Мужик!

dmage
17.06.2018
18:46:39
но там вариабельное кол-во чеков, поэтому думал хоть тут consul можно прикрутить

Vladimir
17.06.2018
20:04:46
всем привет

jidckii
18.06.2018
06:47:04
хай всем. У меня опять вопрос про молекулу.
Моги ли я как то запускать тесты на выделенном удалённом сервере ?
знаю что есть драйвер delegated
но что то не могу до конца понять применение
ну т.е. не билдить LXD или виртуалку где бы то ни было, а просто залогиниться на удалённый хост по ssh, заинсталить там всё, удалить, и отключиться....

Nklya
18.06.2018
06:58:36
А на следующий прогон она что будет делать, если там уже все готово?

jidckii
18.06.2018
06:59:57
ну вот у меня и вопрос, можно ли как то описать destroy.yml ?

Nklya
18.06.2018
07:10:25
Тестить нужно там где можно поднять чистую среду и тестировать.
Тестировать с чисткой после тестов это привет из 90-х
Простейший вариант - гонять тесты в докере

jidckii
18.06.2018
07:11:18
да у меня плейбук с разворачиванием докер контейнеров