productsupcom / ansible-dyninv-mysql

Este es un Inventario Dinámico para Ansible que se utiliza junto con MySQL.

Se escribió porque mantenemos una gran cantidad de servidores y los archivos de inventario estáticos no satisfacían nuestra demanda, y nos gusta MySQL.

Uso

Simplemente llama al script como el siguiente

ansible-playbook -i mysql.py# oransible -i mysql.py

Las limitaciones también funcionan

ansible-playbook -i mysql.py --limit foo.bar.comansible-playbook -i mysql.py --limit groupFoo

Configuración

No voy a explicar el proceso de instalación de una base de datos o la creación de las tablas, ver tables.sql para la estructura requerida de MySQL.

Una vez configurado renombra mysql.ini.dist a mysql.ini para que se adapte a tus necesidades, si no quieres usar la caché solo ponlo en 0.

Grupos

En la tabla group creas los grupos que necesites y sus variables,

Hosts

En la tabla host bajo host colocas la IP/DNS para el sistema.

Hechos

Debajo de hostname se coloca un valor, este se presentará como variable inventory_hostname durante la reproducción.Se puede modificar el nombre de esta variable Hechos cambiando la variable facts_hostname_var en mi mysql.ini.

Relación entre Hosts y Grupos

La tabla hostgroups mapea la relación entre host y group utilizando dos FOREIGN KEYS.

Hijos

Los grupos pueden tener otros grupos como hijos, utilice la tabla childgroups.

Nota sobre las variables

Esto se aplica a host y group respectivamente.Si no se necesitan variables o bien se anula (MySQL real NULL no el string) o se utiliza {}.

LICENCIA

Leave a Reply