productsupcom / ansible-dyninv-mysql
Este é um Inventário Dinâmico para Ansible para ser utilizado em conjunto com MySQL.
Foi escrito porque nós mantemos muitos servidores e arquivos de inventário estáticos não satisfazem a nossa demanda, e nós gostamos do MySQL.
Uso
Simplesmente chame o script como o seguinte
ansible-playbook -i mysql.py# oransible -i mysql.py
Limitações também funcionam
ansible-playbook -i mysql.py --limit foo.bar.comansible-playbook -i mysql.py --limit groupFoo
Setup
Não vou explicar o processo de instalação de uma base de dados ou criação das tabelas, veja tables.sql para a estrutura MySQL necessária.
Ace setup renomear o nome mysql.ini.dist para mysql.ini para atender às suas necessidades, se você não quiser usar o cache basta colocá-lo em 0.
Grupos
Na tabela group você cria os grupos que você precisa e suas variáveis,
Hosts
Na tabela host sob host você coloca o IP/DNS para o sistema.
Fatos
Acima de hostname você pode preencher um valor, este será apresentado como uma variável inventory_hostname durante a jogada. Você pode modificar o nome desta variável de Fato alterando a variável facts_hostname_var no meu mysql.ini.
Relação entre Hosts e Grupos
A tabela hostgroups mapeia a relação entre host e group usando dois FOREIGN KEYS.
Crianças
Grupos podem ter outros grupos como crianças, use a tabela childgroups.
Nota sobre Variáveis
Isto se aplica a host e group respectivamente. Se nenhuma variável for necessária ou NULL it (real MySQL NULL e não a string) ou use {}.
Leave a Reply