productsupcom / ansible-dyninv-mysql
Det här är en dynamisk inventering för Ansible som ska användas tillsammans med MySQL.
Den skrevs för att vi underhåller många servrar och statiska inventeringsfiler inte uppfyller våra krav, och vi gillar MySQL.
Användning
Kalla helt enkelt skriptet på följande sätt
ansible-playbook -i mysql.py# oransible -i mysql.py
Begränsningar fungerar också
ansible-playbook -i mysql.py --limit foo.bar.comansible-playbook -i mysql.py --limit groupFoo
Uppsättning
Jag kommer inte att förklara processen för att installera en databas eller skapa tabellerna, se tables.sql för den nödvändiga MySQL-strukturen.
När installationen är klar byter du namn på mysql.ini.dist till mysql.ini för att passa dina behov, om du inte vill använda caching sätter du den bara på 0.
Groups
I tabellen group skapar du de grupper du behöver och deras variabler,
Hosts
I tabellen host under host placerar du IP/DNS för systemet.
Facts
Under hostname kan du fylla i ett värde, detta kommer att presenteras som en variabel inventory_hostname under uppspelningen.Du kan ändra namnet på denna Fact-variabel genom att ändra variabeln facts_hostname_var i min mysql.ini.
Relation mellan värdar och grupper
Tabellen hostgroups kartlägger relationen mellan host och group med hjälp av två FOREIGN KEYS.
Barn
Grupper kan ha andra grupper som barn, använd tabellen childgroups.
Notering om variabler
Detta gäller för host respektive group.Om inga variabler behövs antingen NULL det (faktiska MySQL NULL inte string) eller använda {}.
Leave a Reply