Ansible: lea los hosts y las variables del inventario en group_vars / all file

Tengo una duda ficticia que me mantiene atrapado durante mucho tiempo. Tengo un archivo de inventario muy banal con hosts y variables:

[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

El problema es que necesito acceder a todos estos hosts y variables, en el archivo de inventario, desde el archivo group_vars / all.

He intentado las siguientes maneras para acceder a la IP del host:

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

Para acceder a una variable de host probé:

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

¡Todos están equivocados! ¿Alguien puede ayudarme a encontrar la mejor práctica para acceder a hosts y variables, no desde un libro de jugadas sino desde un archivo de variables?

EDITAR:

Okay. Vamos a aclarar

Problema: Use un host declarado en el archivo de inventario en un archivo variable, digamos: group_vars / all.

Ejemplo: Tengo un host DB conIP:10.112.83.37.

Archivo de inventario:

[db]
10.112.83.37

En el grupo: archivo vars / all, quiero usar esa IP para construir una variable.

group_vars / all file:

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

En una plantilla, uso la variable integrada en el archivo group_vars / all.

Archivo de plantilla:

oracle_url = {{ data_base_url }}

El problema es que el{{ db }} La variable en el archivo group_vars / all no se reemplaza por la IP del host DB. El usuario solo puede editar el archivo de inventario.

Respuestas a la pregunta(6)

Su respuesta a la pregunta