Stap 7: Weerwort Playbooks
Dit deel is slechts een voorbeeld van wat er allemaal mogelijk is met weerwort playbooks.
Ik zal mijn project testen gebruiken om de raspberry pi temperatuur monitor met web-interface implementeren. Het maakt gebruik van:
python-script aan:
krijgen van de temperatuur van de ds18b20 1-wire sensors, opslaan in een sqlite database;
een web ui met temperatuur perceel bekijken
Apache server om web-pagina en stormloop cgi-script voor het genereren van temperatuur perceel te dienen.
De structuur van het bestand van mijn project
-Weerwort /
-pyrun.py # gebruikt voor het uitvoeren van de playbook via programmacode.
-inventory.py
-main.yml # is het hoofdbestand dat ik lopen om alle taken uit te voeren, het bevat onder andere een update/upgrade functies, inrichting en implementatie taken. Als simpel project er geen rollen en besluitvorming.
-bestanden / # is een map voor het opslaan van alle bestanden die u wilt kopiëren naar de raspberry pi, bijvoorbeeld publieke ssh sleutels
-playbooks / # is een map voor weerwort playbooks, als u wilt dat afzonderlijke set taken voor verschillende scenario's zoals update/upgrade als u niet wilt lopen het elke keer.
-vars / # slaat bestanden met verschillende variabelen moet u wellicht net als paden en machtigingen, gebruiker lijsten enz.
-sjablonen / # slaat jinja2 sjabloonbestanden voor het genereren van verschillende dingen op de machines. Ik gebruik het om apache configuratie aanmaken, maar het is niet nodig voor eenvoudige installatie
Als u wilt testen die inventaris werkt moet u test module 'ping', die "pong terugkeren zal" als alles OK is. Dat op twee manieren doen:
-Weerwort -i inventory.py alle -m ping
-python pyrun.py met "looppas modules" blok uncommented en "looppas playbooks" commentaar
Ze produceren hetzelfde vermogen. Python-optie geeft meer flexibiliteit voor de bewaking en de mogelijkheid om te reageren op fouten in de code.
Als alles goed gaat probeert u belangrijkste playbook:
-Weerwort-playbook - i inventory.py alle main.yml
-python pyrun.py met "looppas playbooks" blok uncommented en "looppas modules" commentaar
Dit proces zal enige tijd duren, afhankelijk van hoe snel uw downlink is en hoeveel Rpi van hebt.
In het einde moet u zitten kundig voor link van het formulier "rpi_ip_adress/cgi-bin/webgui.py" gebruiken en zie een webpagina met de grafiek van de temperatuur.
Notities als het niet werkt
-zijn er verschillen in apache2.config voor verschillende OS, zelfs voor Debian 'wheezy' vs 'jessie' Ik moest veranderen activering voor cgi module in apache voor alle uit te voeren. Ieder gronden waarom is het zo?
-u kan juiste machtigingen ontbreken in het systeem.
-Controleer als weerwort zonder fouten afgewerkt of iets gemist.