Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung Nächste ÜberarbeitungBeide Seiten der Revision |
centos:ansible:start [11.01.2020 20:29. ] – [Schleifen] django | centos:ansible:start [14.01.2020 16:04. ] – [Facts] django |
---|
Ansible ermittelt bei jedem Aufruf Systeminformationen des jeweiligen Zielsystems. Im Bezug auf Ansible werden diese Systeminformationen auch als **facts** bezeichnet. In unseren **[[#playbooks|Playbooks]]** auf die wir nun gleich noch eingehender eingehen werden, können wir dann später noch gezielt zugreifen. In unseren Playbooks können wir dann gezielt auf diesen Daten zugreifen, um z.B. massgeschneiderte Konfigurationen, basierend auf genau diese facts (Hosteinstellungen) erzeugen lassen. | Ansible ermittelt bei jedem Aufruf Systeminformationen des jeweiligen Zielsystems. Im Bezug auf Ansible werden diese Systeminformationen auch als **facts** bezeichnet. In unseren **[[#playbooks|Playbooks]]** auf die wir nun gleich noch eingehender eingehen werden, können wir dann später noch gezielt zugreifen. In unseren Playbooks können wir dann gezielt auf diesen Daten zugreifen, um z.B. massgeschneiderte Konfigurationen, basierend auf genau diese facts (Hosteinstellungen) erzeugen lassen. |
| |
Wir können uns die facts eines Zielhost z.B. mit folgendem Befehl anzeigen lassen. Wir haben die Option''--ask-become-pass'' angegeben, da unser Zielsystem einige Dten nur preisgibt, sofer der User auch entsprechende root-Rechte besitzt. Die Ausgabe hier wurde entsprechend gekürzt | Wir können uns die facts eines Zielhost z.B. mit folgendem Befehl anzeigen lassen. Wir haben die Option''%%--%%ask-become-pass'' angegeben, da unser Zielsystem einige Dten nur preisgibt, sofer der User auch entsprechende root-Rechte besitzt. Die Ausgabe hier wurde entsprechend gekürzt |
$ ansible centos8 --ask-become-pass -m setup | $ ansible centos8 --ask-become-pass -m setup |
| |
dest: ''/var/www/html/demo/webseite/{{ item }}' | dest: ''/var/www/html/demo/webseite/{{ item }}' |
state: link | state: link |
with_items: " {{ output.stdout_lines }} " | loop: " {{ output.stdout_lines }} " |
</code> | </code> |
| |
* Zunächst wird also der **'shell'-Befehl** ''**ls *.html**'' aufgerufen. Er listet also alle HTML-Dateien im entsprechenden Verzeichnis auf. | * Zunächst wird also der **'shell'-Befehl** ''**ls *.html**'' aufgerufen. Er listet also alle HTML-Dateien im entsprechenden Verzeichnis auf. |
* Die Ausgabe dieses Befehls wird der Variablen mit dem Namen **''output''** übergeben. | * Die Ausgabe dieses Befehls wird der Variablen mit dem Namen **''output''** übergeben. |
* Mit Hilfe der Syntax **''with_items''** wird eine Schleifenbedingung definiert. | * Mit Hilfe der Syntax **''loop''** wird eine Schleifenbedingung definiert. |
* Mit der Codezeile **''with_items: %%"%% %%{{%% output.stdout_lines %%}}%% %%"%%''** wird der Inhalt von ''output.stdout_lines'' Zeilenweise eingelesen und verarbeitet bzw. genauer gesagt zeilenweise an Ansible übergeben. | * Mit der Codezeile **''loop: %%"%% %%{{%% output.stdout_lines %%}}%% %%"%%''** wird der Inhalt von ''output.stdout_lines'' Zeilenweise eingelesen und verarbeitet bzw. genauer gesagt zeilenweise an Ansible übergeben. |
| |
==== Bedingungen ==== | ==== Bedingungen ==== |