@pro_ansible

Страница 465 из 625
Алексей
13.05.2018
10:54:49
и антона нету ?

Nklya
13.05.2018
10:55:12
там вообще 16 человек

Алексей
13.05.2018
10:55:23
а... ну ок

Google
Sergey
13.05.2018
11:21:30
А про з можно?
Если речь о конфигурировании его с помощью ансибла - можно. А о З как явлении в Церкви метрик спроси.

Sergey
13.05.2018
11:22:48
А, ну если знаешь, тогда сам прикинь: здесь те же люди, и канал опять не про З. Я думаю, результат очевиден ?

Хотя канеш на усмотрение админов.

Как всегда и везде.

Wom
13.05.2018
11:27:13
Засилие з-хейторов

Sergey
13.05.2018
11:29:37
Засилие з-хейторов
Полагаю, ты всегда можешь пожаловаться на это специальному человеку, который предложит прилечь на кушетку, расслабиться и рассказать, почему тебя беспокоят З-хейтеры, и что именно влечёт тебя к З.

Sergey
13.05.2018
11:38:17
Алексей
13.05.2018
13:50:18
Nikita
13.05.2018
13:52:29
Есть. Церковь
Ну не знаю, по-моему наоборот, самый дорогой вариант. Триал конечно есть, но после нескольких использований деньги сосет как пылесос

Wom
13.05.2018
17:02:05
Есть. Церковь
знаю я вас. любой шаг на Zапад - ro. второй - бан

злые вы там

Google
Adil
13.05.2018
17:47:28
да, рандек запускает все под user rundeck
наконец то запустил rundeck от необходимого юзера, добавив еще одну ноду с ключами в /var/rundeck/projects/project1/etc/resources.xml

bebebe
13.05.2018
18:14:24
наконец то запустил rundeck от необходимого юзера, добавив еще одну ноду с ключами в /var/rundeck/projects/project1/etc/resources.xml
у меня rundeck работает уже 3 год (без обновления). юз-кейз: приходят инженеры и тыкают в него, в зависимости от того что натыкали - запускаются джобы в ближайший год я поменяю его на jenkins и запуск джоб, пробовал с awx, все хорошо, но он не умеет запускать ворвкеров из образов в котнейнерах и не понимает что такое k8s например

более того я два года подписан на ишуй для лимита параллельного запуска - и до сих пор в почту сыплется +1 от проекта на гитхабе

да, счетчик rundeck job перевалил за 120k (sic!), в него (rundeck) по api ходит мониторинг, когда определяет что проблему можно починить запуском плейбуки

Alexey
13.05.2018
18:57:55
Народ, я тут наткнулся на то, что мне надо начинать изучать Jinja2, ибо это крайне полезная штука. Вопрос в чём: с чего лучше начать изучение? Оф. мануала более чем хватает?

Wom
13.05.2018
18:59:09
а что там изучать-то? 20 минут на чтение доки

Alexey
13.05.2018
19:32:38
Хм... Недавно я сталкнулся с подобной конструкцией: {% set cluster_members = [] -%} {%- for node in groups["percona"] %} {%- set _ = cluster_members.append(hostvars[node].ansible_ssh_host) -%} {% endfor -%} Так вот, мне понадобилось, чтобы во второй строке название группы было динамическим. И что-то я не дошёл до того, как это реализовать. Вот и начал думать, откуда начать изучение =)

Так что, думаю, там 20 минутами не обойдётся =)

Alexey
13.05.2018
19:34:23
Alexey
13.05.2018
19:35:49
Бл... Я пытался так: groups["{{variable}}"] Вот так groups[{{variable}}] Но вот что-то в пятницу вечером до правильного варианта не дошёл... Завтра с утра затестим. Спасибо ^^

Wom
13.05.2018
19:36:23
ты внутрь {} ещё одни пихал?

Alexey
13.05.2018
19:36:47
Именно. Я не просто так про изучение Jinja2 спрашиваю =)

Roman
13.05.2018
19:38:08
Именно. Я не просто так про изучение Jinja2 спрашиваю =)
Но там реально мало что есть для изучения, есть дока, не слишком длинная кстати там все что надо описано jinja.pocoo.org/docs/dev/templates/

В Jinja применимы многие вещи из Python, хотя и не все, что дополнительно упрощает изучение.

bebebe
13.05.2018
22:15:26
Чем ходит? Как оно понимает зачем ходить?
ходит curl'ом через api token. на определенные проблемы в мониторинге заведены хуки на recovery. при деградации сервиса, если это можно починить автоматически запускается recovery hook, он лезет в rundeck который запускает уже ansible с правильными параметрами.

Алексей
13.05.2018
22:16:32
А мониторинг кто?

Google
bebebe
13.05.2018
22:17:01
А мониторинг кто?
что угодно, в том конкретном случае nagios

Алексей
13.05.2018
22:18:16
Я пытался такое собрать на проме. Провал. Ибо кастомизировать хук нельзя а вызов в cli пром не умеет

Нужна поддержка со стороны рандека

Vadim
13.05.2018
22:21:51
Алексей
13.05.2018
22:22:35
Отдельный сервис ясненько. Но не цепочка итак уже длинна

bebebe
13.05.2018
22:24:05
мониторинг дергает этот скрипт с нужными параметрами (с нотификацией в телеграмм)

Алексей
13.05.2018
22:26:21
Вау. Какой интересный стиль написания шел скриптов. Спасибо сохранил

Рандек сам умеет в нотификацию в телегу

bebebe
13.05.2018
22:28:00
Рандек сам умеет в нотификацию в телегу
мне нужно было из конфигурации мониторинга регулировать нотификации

Алексей
13.05.2018
22:28:35
Ок да

bebebe
13.05.2018
22:31:32
Вау. Какой интересный стиль написания шел скриптов. Спасибо сохранил
этому скрипту уже пара лет. я вот на него сейчас смотрю, и функцию create_msg, можно было бы сделать небольшим онлайнером на jq

Алексей
13.05.2018
22:32:30
Ну я пока не видел такого подхода инлайнить питон в скрипт на sh. Для меня это чуток дико

mandrivaman
13.05.2018
22:53:04
я бы предложил делать dynamic inventory с nmap'ом внутри пробовал делать такую оркестрацию, и выходит не очеь удобно в мелочах.
за совет спасибо. у меня скорее вопрос: как заставить ansible жрать выхлоп netstat'a с грепом и на основе этого пилить в динамическую группу через add_host?

мне принцип непонятен =(

то, что нужно прикручивать переменную я понял

bebebe
13.05.2018
22:55:17
в with_items вам нужно подставить список из хостов которые вы нагрепали в netstat .....stdout_lines

mandrivaman
13.05.2018
22:57:30
а, вариант вида when {{ netstat_result }} != ""

?

Google
mandrivaman
13.05.2018
22:57:50
я слишком молод, чтобы ко мне на "Вы" =)

bebebe
13.05.2018
22:58:27
а, вариант вида when {{ netstat_result }} != ""
when это условие выполнение/не выполнения таски

mandrivaman
13.05.2018
23:01:17
огромное спасибо

а список из хостов только руками собирать?

bebebe
13.05.2018
23:04:35
а список из хостов только руками собирать?
в примере хосты все попадают в группу target_hosts далее можно по этой группе можно прогонять таски/роли .... - hosts: target_hosts gather_facts: ... tasks: ...

mandrivaman
13.05.2018
23:08:11
в примере хосты все попадают в группу target_hosts далее можно по этой группе можно прогонять таски/роли .... - hosts: target_hosts gather_facts: ... tasks: ...
это я понял. я запутался на этапе попадают в группу мне казалось, что нужно жестко указать, по какому принципу хосты с непустым выводом netstat должны попасть в нее

mandrivaman
13.05.2018
23:09:05
netstat -lptn | grep 443

если строка не пустая - это мой клиент, и к нему нужно применять следующий плей

bebebe
13.05.2018
23:09:45
а, вы по всем хостам проходите и создаете список, где кто-то слушает на 443?

mandrivaman
13.05.2018
23:09:46
если пустая - не трогать

именно

bebebe
13.05.2018
23:25:33
именно
я все таки порекоменодвал вам dynamic inventory поместите вот это в ваш скрипт для аргумента --list docker run --rm uzyexe/nmap --open -p 443 -n 10.0.20.0/24 | awk '/report for/ {printf("\"%s\"\n", $NF)}' | docker run --rm -i realguess/jq sh -c 'jq -r --slurp "{\"hosts\": ., \"vars\": {}}"'

bebebe
13.05.2018
23:26:45
у меня не докер, к сожалению
тогда поставьте nmap и jq на ту машину где у вас запукается ansible и уберите docker

мне кажется вы облегчите себе жизнь и сократите время работы плейбуки.

nmap --open -p 443 -n 10.0.20.0/24 | awk '/report for/ {printf("\"%s\"\n", $NF)}' | jq -r --slurp '{"target_hosts": {"hosts": ., "vars": {}}}'

mandrivaman
13.05.2018
23:30:15
не взлетит. хосты с внешними адресами, и их список в первоначальном инвентори

поэтому с плейбуком и заморочился

Google
mandrivaman
13.05.2018
23:30:49
пойду по более сложному пути - через add_host

за советы все равно спасибо

bebebe
13.05.2018
23:33:22
не взлетит. хосты с внешними адресами, и их список в первоначальном инвентори
почему не получится? вы можете получить список хостов запустив: ansible-playbook -i ./path/to/inventory --list-hosts sample.playbook это команда сгенерирует вам список хостов этот список хостов можно передать nmap через stdin выйдит примерно следующее: ansible-playbook -i ./invnetory.yml --list-host playbook.yml | nmap --open -p 443 -n -iL - | awk '/report for/ {printf("\"%s\"\n", $NF)}' | jq -r --slurp '{"target_hosts": {"hosts": ., "vars": {}}}'

впрочем я не настаиваю

конечно слушать :443 порт и проверять через netstat, или получить этот список через nmap это несколько разные вещи (например firewall между ними)

@mandrivaman и последний вариант который можно рассмотреть: добавить в список собираемых фактов открытые tcp порты, и уже исходня из фактов обходить хосты после ansible all -m setup см: https://medium.com/@jezhalford/ansible-custom-facts-1e1d1bf65db8

это при условии что на всех хостах, которвые вы менеджите, установлен python

bebebe
13.05.2018
23:52:56
кстати. кто-нибудь использовал https://github.com/fboender/ansible-cmdb ?

bebebe
14.05.2018
08:14:12
пойду по более сложному пути - через add_host
вы потом покажите как у вас получилось

Cloned
14.05.2018
09:07:53
Im trying to use ansible to configure my linux system to use gdm instead of lightdm, how do you execute dpkg-reconfigure and choose gdm in the promt through Ansible ?

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