Ansible - считывать инвентарные хосты и переменные в файл group_vars / all

Я сомневаюсь, что я застрял надолго. У меня очень банальный файл инвентаря с хостами и переменными:

[lb]
10.112.84.122

[tomcat]
10.112.84.124

[jboss5]
10.112.84.122

...

[tests:children]
lb
tomcat
jboss5

[default:children]
tests

[tests:vars]
data_base_user=NETWIN-4.3
data_base_password=NETWIN
data_base_encrypted_password=
data_base_host=10.112.69.48
data_base_port=1521
data_base_service=ssdenwdb
data_base_url=jdbc:oracle:thin:@10.112.69.48:1521/ssdenwdb

Проблема в том, что мне нужно получить доступ ко всем этим хостам и переменным в файле инвентаря из файла group_vars / all.

Я пробовал следующие способы доступа к IP-адресу хоста:

{{ lb }}
"{{ hostvars[lb] }}"
"{{ hostvars['lb'] }}"
{{ hostvars[lb] }}

Для доступа к переменной хоста я попытался:

"{{ hostvars[tests].['data_base_host'] }}"

Все они не правы !!! Может ли кто-нибудь помочь мне найти лучший метод для доступа к хостам и переменным, не из playbook, а из файла переменных?

РЕДАКТИРОВАТЬ:

Хорошо. Давайте уточним.

Проблема: Используйте хост, объявленный в файле инвентаризации в файле переменной, скажем: group_vars / all.

Пример: У меня есть хост БД сIP:10.112.83.37.

Инвентарный файл:

[db]
10.112.83.37

В группе: файл vars / all я хочу использовать этот IP для создания переменной.

group_vars / all file:

data_base_url=jdbc:oracle:thin:@{{ db }}:1521/ssdenwdb

В шаблоне я использую переменную, встроенную в файл group_vars / all.

Файл шаблона:

oracle_url = {{ data_base_url }}

Проблема в том, что{{ db }} переменная в файле group_vars / all не заменяется IP-адресом хоста БД. Пользователь может редактировать только файл инвентаря.

Ответы на вопрос(6)

Ваш ответ на вопрос