Vitaliy
нет
Alex
нет
- debug: msg="{{ patronictl_list_replicas_stdout | selectattr('Role', 'undefined') | map(attribute='Member') | list }}"
Vitaliy
Vitaliy
читаю это
https://oznetnerd.com/2017/04/18/jinja2-selectattr-filter/
Vitaliy
не, не победил пока
Sergey
Простыни убери на pastebin.org или куда тебе удобно.
Sergey
🙏
Alex
читаю это
https://oznetnerd.com/2017/04/18/jinja2-selectattr-filter/
- name: Test
hosts: localhost
gather_facts: no
vars:
patronictl_list_replicas_stdout:
- Cluster: postgres-cluster
Host: 10.128.64.140
Member: pgnode01
Role: Leader
State: running
TL: 11
- Cluster: postgres-cluster
Host: 10.128.64.142
Lag in MB: 0
Member: pgnode02
State: running
TL: 11
- Cluster: postgres-cluster
Host: 10.128.64.143
Lag in MB: 0
Member: pgnode03
State: running
TL: 11
tasks:
- debug: msg="{{ patronictl_list_replicas_stdout | selectattr('Role', 'undefined') | map(attribute='Member') | list }}"
на выходе получаю
TASK [debug] ***
ok: [app_master] =>
msg:
- pgnode02
- pgnode03
Vitaliy
спасибо, буду думать. Если получится, отпишусь, как.
Vitaliy
может лучше на стороне хоста собирать данные сразу в нужном виде:
patronictl list -f json | jq -r '.[] | select(.Role != "Leader") | .Member'
Vitaliy
просто jq тащить обязательно на систему
Timur
Timur
Средствами ансибла все прекрасно делается
Vitaliy
Vitaliy
register получает json.
Далее надо его разобрать, достать member ов где role не равна leader. И подать в виде списка другой задаче.
Антон
Антон
Как-то так
Антон
Sergey
Aleksandr
разве опция —user у ansible-playbook не должна переопределять user в playbook?
Антон
Просто определит под кем пойдешь на сервер
Aleksandr
в playbook user: root, ставлю -ulogin и по выводу вижу что под root цепляется
Антон
https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html#variable-precedence-where-should-i-put-a-variable
Антон
-u login имеет меньший приоритет чем user: root в плейбуке
Aleksandr
--extra-vars "ansible_sudo_pass=pw user=user1"
пробовал так ещё и тоже не помогло. в итоге плейбук временно поправил
Artur
Друзья а подскажите пожалуйста, если я создаю на AWS инстанс по средствам ansible , как мне сделать так что бы при вызове плейбука каждый раз новая машина не создавалась? а то каждый раз новая виртуалка поднимается
Aleksandr
вместо user надо было ansible_user использовать в extra..
Отделение Bereke Bank
inqfen
Вангую, надо https://docs.ansible.com/ansible/latest/modules/ec2_module.html#ec2-module
inqfen
А не https://docs.ansible.com/ansible/latest/modules/ec2_instance_module.html#ec2-instance-module
inqfen
inqfen
После - это будет instance id
Bogdan
Всем привет! В первом плейбуке я меняю ssh порт с 22 на 2833, как мне лучше сделать, чтобы последующие плейбуки использовали 2833 порт. Нужно переписать факты?
Bogdan
[cluster]
node1
node2
node3
[cluster:vars]
ansible_port=22
[cluster2:children]
cluster
[cluster2:vars]
ansible_port=2833
Lamobot
Bogdan
Так не работает да. Как сделать чтобы работоло?
Bogdan
Переписать в фактах порт?
Lamobot
Bogdan
понял
Lamobot
Ну или варианты, создавать новую группу динамически через add_host
Bogdan
спасибо)
Bogdan
попробую два хоста наверное, сейчас посмотрю как сделать
Bogdan
инвенторя
Vitaliy
Продолжая тему парсинга json.
А с использованием jmespath плохая практика?
У меня вот так, одной строкой, и без доп. объявления переменных, работает:
- name: debug member list
debug:
msg: "{{ patronictl_list_result.stdout |from_json |json_query('[?Role != `Leader`].[Member]') }}"
tags: patronictl_list
Vitalii
Кто сталкивался с тестированием виндовых ролей молекулой? Уже сил нет, вечно где-то фейлится.
А
Artur
короче я заюзал другой модуль, там все ок , создается один инстанс
Artur
Timur
Timur
Sebor▂▅▇█▓▒░
count
А как это поможет? Я так понял, что у него другая проблема, которая ансиблом решается сложнее. Нужно что-то вроде терраформа, который хранит состояние инфры
Sebor▂▅▇█▓▒░
Vitalii
Что именно фейлится?
Когда добавляю ci, у меня монорепа с кучей ролей. Дженкинс запускает молекулу. Инстансы на вагранте для винды. Так вот, когда одна дженкинс джоба работает, то все хорошо, но если одновременно работают 2 джобы на одном воркере, то одна из них падает с ошибкой на конверже иди подготовке, что инстанс не доступен.
Timur
Timur
Надо смотреть на структуру
Дмитрий
Всем привет
Дмитрий
Ребята нужна помощь не знаю правда с чего начать
Maksim
nometa.xyz
Дмитрий
Может кто нибудь расскажет по какой причине не может отрабатывать ssh ключ , прописываю путь до его в файле хост , пинг проходит а вот установка или что то связанное с рут правами не идёт , пищит что не может найти пароль . Помешал пользователя в группу судо , давал рут права на сервере клиенте , пытался в ручную вписать ,без ssh key ну это вроде все что вспомнил
Дмитрий
Вроде все по мануалу но нихрена не выходит
Sergey
Дмитрий
давал
Дмитрий
если просто по ssh заходить то все нормально проходит
Дмитрий
без пароля
Дмитрий
когда вписываю в HOST то бьет ошибку либо не хватает прав (?!? )либо не верный пароль
Sergey
Ты технический специалист? Будь добр, потрудись изъясняться понятно.
Дмитрий
Вопрос такой , дело в том что я только начал изучение ансибл и стопарнулся на моменте с ssh key , когда прописываю в host файле вход по паролю и стандартного пользователя то пинг проходит , когда вытаюсь сделать вход по ключу и тут все хорошо , но когда пробую установить программу на сервере клиента или сделать другую операцию требующую рут права бьет ошибку \ пробывать в ручную вводить пароль -bK так же что б логинелось сразу под root , самое интересное что если входить просто по ssh Ip -адрес То входит без пароля
Sergey
Дмитрий
а не могли б вы подсказать как это убрать ?
inqfen
inqfen
Либо become password либо делай sudo без пароля
Sergey
^^^ +++
Anonymous
Иногда я смотрю. И поражаюсь безграничному терпению Сергея и Тимура
Anonymous
Ответ Сергея конечно верен процентов на 99%. Но бай дизайн вкладывает не верные ожидания. Что где то есть отключённое требование ввода пароля повышение до судо