Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung Nächste ÜberarbeitungBeide Seiten der Revision |
linux:ansible:playbook_example_14 [01.12.2022 20:11. ] – [Inventory Daten für unsere Admins] django | linux:ansible:playbook_example_14 [08.06.2024 18:54. ] – django |
---|
| ~~NOCACHE~~ |
====== Ansible - weitere Beispiele: Admin Benutzer verwalten (v2)====== | ====== Ansible - weitere Beispiele: Admin Benutzer verwalten (v2)====== |
{{:centos:ansible:ansible_logo.png?nolink&125|Bild: Ansible Logo}} \\ \\ | {{:centos:ansible:ansible_logo.png?nolink&125|Bild: Ansible Logo}} \\ \\ |
$6$n9UE0JVV7T.nzFJOdSY1dHDEsbfY3$0SPNKmewfaQ0z5thaRMrrrI9Uig.nzFJOdSY1erIZbw5yzDqeCg4S2oXa8zn2jEf9KDfjg31 | $6$n9UE0JVV7T.nzFJOdSY1dHDEsbfY3$0SPNKmewfaQ0z5thaRMrrrI9Uig.nzFJOdSY1erIZbw5yzDqeCg4S2oXa8zn2jEf9KDfjg31 |
| |
Ferner benötigen wir noch den SSH-Publickey den wir uns ebenso wie das gerade erstellte gehashte Passwort von unseren Admins auf einem sicheren Kommunikationsweg zukommen. | Ferner benötigen wir noch den SSH-Publickey, den wir uns ebenso wie das gerade erstellte gehashte Passwort von unseren Admins auf einem sicheren Kommunikationsweg zukommen lassen. |
| |
=== Inventory Daten für unsere Admins === | === Inventory Daten für unsere Admins === |
| |
=== Rolle und Tasks === | === Rolle und Tasks === |
Bevor wir unsere Rolle **''admins''** anlegen, kopieren wir noch kurz das Vorlageverzeichnis **''common''**, welches wir bei der Erstkonfiguration von Ansible, wie im Kapitel **[[playbook_example_08|Ansible mit Hilfe von Ansible einrichten]]** beschrieben, bereits angelegt hatten. | Bevor wir unsere Rolle **''admins''** anlegen, kopieren wir noch kurz das Vorlagenverzeichnis **''common''**, welches wir bei der Erstkonfiguration von Ansible, wie im Kapitel **[[playbook_example_08|Ansible mit Hilfe von Ansible einrichten]]** beschrieben, bereits angelegt hatten. |
$ cp -avr ~/ansible/roles/common/ ~/ansible/roles/admins | $ cp -avr ~/ansible/roles/common/ ~/ansible/roles/admins |
| |
Nun legen wir unseren Main-Task an. | Nun legen wir unseren Main-Task an. |
$ vim ~/ansible/roles/admins/tasks/main.yml }} | $ vim ~/ansible/roles/admins/tasks/main.yml |
{{gh> https://gitlab.nausch.org/django/example_14/-/blob/main/playbooks/admin_updates.yml }} | {{gh> https://gitlab.nausch.org/django/example_14/-/blob/master/roles/admins/tasks/main.yml }} |
| |
Was nun noch fehlt sind die jeweiligen Tasks mit den Teilaufgaben. Zunächst definieren wir einen Task mit Hilfe dessen sichergestellt wird, dass die Gruppe **''wheel''** existiert, die später den Admins zugewiesen wird. | Was nun noch fehlt sind die jeweiligen Tasks mit den Teilaufgaben. Zunächst definieren wir einen Task mit Hilfe dessen sichergestellt wird, dass die Gruppe **''wheel''** existiert, die später den Admins zugewiesen wird. |
{{gh> https://gitlab.nausch.org/django/example_14/-/blob/main/roles/admins/tasks/variablencheck.yml }} | {{gh> https://gitlab.nausch.org/django/example_14/-/blob/main/roles/admins/tasks/variablencheck.yml }} |
| |
Anschließend definieren wir den Task an, mit Hilfe dessen die jeweilige(n) Admin-Gruppe(n) und User gepflegt werden. | Anschliessend definieren wir den Task an, mit Hilfe dessen die jeweilige(n) Admin-Gruppe(n) und User gepflegt werden. |
$ vim ~/ansible/roles/admins/tasks/useranlage.yml | $ vim ~/ansible/roles/admins/tasks/useranlage.yml |
{{gh> https://gitlab.nausch.org/django/example_14/-/blob/main/roles/admins/tasks/useranlage.yml }} | {{gh> https://gitlab.nausch.org/django/example_14/-/blob/main/roles/admins/tasks/useranlage.yml }} |
- Sicherstellen dass die Gruppe **''wheel''** existiert. | - Sicherstellen dass die Gruppe **''wheel''** existiert. |
- Überprüfen, ob die Variablen aus dem Inventory entsprechend der **[[#anchor_var_def|Vorgaben]]** gesetzt und gültig sind. Falls nicht wird ein expliziter Fehlerhinweis ausgegeben und die Ausführung des Playbooks beendet. \\ Beispiel: <code>TASK [admins : Prüfen ob die UID richtig gesetzt wurde.] ******************************************************************************************************************************************* | - Überprüfen, ob die Variablen aus dem Inventory entsprechend der **[[#anchor_var_def|Vorgaben]]** gesetzt und gültig sind. Falls nicht wird ein expliziter Fehlerhinweis ausgegeben und die Ausführung des Playbooks beendet. \\ Beispiel: <code>TASK [admins : Prüfen ob die UID richtig gesetzt wurde.] ******************************************************************************************************************************************* |
fatal: [vml000137]: FAILED! => {"assertion": "item.ids is defined and item.ids < 5001", "changed": false, "evaluated_to": false, "msg": "Die Variable item.ids ist nicht vorhanden bzw. falsch gesetzt!"} | fatal: [vml000137]: FAILED! => {"assertion": "item.ids is defined and item.ids < 5001", "changed": false, "evaluated_to": false, "msg": "Die Variable item.ids ist nicht vorhanden bzw. falsch gesetzt!"} |
| |
PLAY RECAP ***************************************************************************************************************************************************************************************** | PLAY RECAP ***************************************************************************************************************************************************************************************** |