Size: a a a

2021 March 24

AN

Alexey Nakhimov in Ansible
Vladimir Zhurkin
и будет ошибка пока не будет logout
я это знаю. поэтому и спрашиваю, какв рамках ОДНОГО плейбука переинициализировать SSH-сессию
источник

YZ

Yerzhan Zhiyentayev in Ansible
Nazar Tertyshnyi
Чего так?
психологическая травма после консула (бэкенд столона), видевшего 5 сек таймауты там, где их не было
источник

VZ

Vladimir Zhurkin in Ansible
Alexey Nakhimov
я это знаю. поэтому и спрашиваю, какв рамках ОДНОГО плейбука переинициализировать SSH-сессию
никак Поэтому я вам и сказал про две таски
источник

VZ

Vladimir Zhurkin in Ansible
можете эти две таски запускать из одной другой
источник

L

Linko22 а8з+ in Ansible
Alexey Nakhimov
я знаю! но вы не внимательно читали мой вопрос, как мне кажется - я потом вручную по SSH вхожу и выполняю спокойно эти команды.
если я после ручного входа/выхода снова запущу плейбук - бесполезно, все равно пермишн денайд.
Суть в том, что ты ходишь под пользователем ansible. При добавлении в группу тебе надо обязательно сделать logout. В твоём случае коннект постоянный.
источник

AN

Alexey Nakhimov in Ansible
Vladimir Zhurkin
никак Поэтому я вам и сказал про две таски
ну вот я и уточнял про два плейбука. спасибо, я вас услышал. я тоже смотрел в эту сторону, но думал, может быть есть какое-то другое решение…..
источник

L

Linko22 а8з+ in Ansible
источник

D

Dok in Ansible
Vladimir Zhurkin
а можно полностью задачу, а то она уже тут изменилось во время разговора в очередной раз
Я плейбукой генерю конфиг netplan, и новые ip с большой вероятностью будут другие.
В итоге, выполнение зависает.
Я хочу сделать сравнение, что если ip по которому идёт ssh-подключение не совпадает с будущим, то на удалённом хосте сеть не перезапускать.
В инвенторке нет ip назначения, там только имена, которые прописаны в /etc/hosts. Типа ctrl1, ctrl2 и тд

Я из выдачи модуля setup выудил ip для ssh в параметре SSH_CONNECTION, типа
"SSH_CONNECTION": "127.0.0.1 40564 127.0.0.3 22"
Но уже в плейбуке я его почему-то забрать не могу
hostvars[inventory_hostname]['ansible_env'].SSH_CONNECTION.split(' ')[2] не задан


Делал дебаг hostvars и ansible_facts целиком после gather_facts: true и модуля setup и SSH_CONNECTION там не оказалось
источник

VZ

Vladimir Zhurkin in Ansible
Alexey Nakhimov
ну вот я и уточнял про два плейбука. спасибо, я вас услышал. я тоже смотрел в эту сторону, но думал, может быть есть какое-то другое решение…..
- name: reset ssh connection to allow user changes to affect 'current login user'
 meta: reset_connection
источник

VZ

Vladimir Zhurkin in Ansible
наверно Но это не точно
источник

VZ

Vladimir Zhurkin in Ansible
источник

VZ

Vladimir Zhurkin in Ansible
Dok
Я плейбукой генерю конфиг netplan, и новые ip с большой вероятностью будут другие.
В итоге, выполнение зависает.
Я хочу сделать сравнение, что если ip по которому идёт ssh-подключение не совпадает с будущим, то на удалённом хосте сеть не перезапускать.
В инвенторке нет ip назначения, там только имена, которые прописаны в /etc/hosts. Типа ctrl1, ctrl2 и тд

Я из выдачи модуля setup выудил ip для ssh в параметре SSH_CONNECTION, типа
"SSH_CONNECTION": "127.0.0.1 40564 127.0.0.3 22"
Но уже в плейбуке я его почему-то забрать не могу
hostvars[inventory_hostname]['ansible_env'].SSH_CONNECTION.split(' ')[2] не задан


Делал дебаг hostvars и ansible_facts целиком после gather_facts: true и модуля setup и SSH_CONNECTION там не оказалось
В инвенторке нет ip назначения, там только имена, которые прописаны в /etc/hosts. Типа ctrl1, ctrl2 и тд
 у вас просто странное решение
источник

VZ

Vladimir Zhurkin in Ansible
обычно лучше как раз в инвентори делать ip, а уж hosts можно генерировать
источник

AN

Alexey Nakhimov in Ansible
Vladimir Zhurkin
- name: reset ssh connection to allow user changes to affect 'current login user'
 meta: reset_connection
В моем первоначальном вопросе я говорил, что это пробовал. Не помогло
источник

D

Dok in Ansible
Vladimir Zhurkin
В инвенторке нет ip назначения, там только имена, которые прописаны в /etc/hosts. Типа ctrl1, ctrl2 и тд
 у вас просто странное решение
Это генерация другими скриптами для удобства инженерам
источник

D

Dok in Ansible
Это как данность, и есть конкретный параметр.
Задача в том, как его добыть в плейбуке, а не как переписывать инвенторку
источник

L

Lamobot in Ansible
Dok
Я плейбукой генерю конфиг netplan, и новые ip с большой вероятностью будут другие.
В итоге, выполнение зависает.
Я хочу сделать сравнение, что если ip по которому идёт ssh-подключение не совпадает с будущим, то на удалённом хосте сеть не перезапускать.
В инвенторке нет ip назначения, там только имена, которые прописаны в /etc/hosts. Типа ctrl1, ctrl2 и тд

Я из выдачи модуля setup выудил ip для ssh в параметре SSH_CONNECTION, типа
"SSH_CONNECTION": "127.0.0.1 40564 127.0.0.3 22"
Но уже в плейбуке я его почему-то забрать не могу
hostvars[inventory_hostname]['ansible_env'].SSH_CONNECTION.split(' ')[2] не задан


Делал дебаг hostvars и ansible_facts целиком после gather_facts: true и модуля setup и SSH_CONNECTION там не оказалось
источник

VZ

Vladimir Zhurkin in Ansible
Alexey Nakhimov
В моем первоначальном вопросе я говорил, что это пробовал. Не помогло
ну значит остается два разных исполнения  Или выполнить одну задачу от одного пользователя, а часть от другого
источник

TG

Timur Gadiev in Ansible
Dok
Я плейбукой генерю конфиг netplan, и новые ip с большой вероятностью будут другие.
В итоге, выполнение зависает.
Я хочу сделать сравнение, что если ip по которому идёт ssh-подключение не совпадает с будущим, то на удалённом хосте сеть не перезапускать.
В инвенторке нет ip назначения, там только имена, которые прописаны в /etc/hosts. Типа ctrl1, ctrl2 и тд

Я из выдачи модуля setup выудил ip для ssh в параметре SSH_CONNECTION, типа
"SSH_CONNECTION": "127.0.0.1 40564 127.0.0.3 22"
Но уже в плейбуке я его почему-то забрать не могу
hostvars[inventory_hostname]['ansible_env'].SSH_CONNECTION.split(' ')[2] не задан


Делал дебаг hostvars и ansible_facts целиком после gather_facts: true и модуля setup и SSH_CONNECTION там не оказалось
источник

AN

Alexey Nakhimov in Ansible
Vladimir Zhurkin
ну значит остается два разных исполнения  Или выполнить одну задачу от одного пользователя, а часть от другого
Ну придётся, похоже, разбить на два плейбука
источник