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 {}.
Leave a Reply