Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

linux:ansible:playbook_example_04 [14.09.2022 14:15. ] – angelegt djangolinux:ansible:playbook_example_04 [18.11.2024 19:01. ] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 5: Zeile 5:
  
 ===== Beispiel 4: bedingtes Kopieren ===== ===== Beispiel 4: bedingtes Kopieren =====
-Im vierten Beispiel wollen wir die Konfigurationsdatei **''mailserver.guru.repo''** für das Repository **[[http://repo.mailserver.guru/|repo.mailserver.guru]]** auf alle unsere definierten CentOS-Hosts kopieren. Dabei müssen wir natürlich beachten, dass sich die Datei zwischen den Versionen CentOS 7 und CentOS 8 unterscheiden, wenn auch nur geringfügig!+Im vierten Beispiel wollen wir die Konfigurationsdatei **''nausch.org.repo''** für das Repository **[[http://repo.nausch.org/|repo.nausch.org]]** auf alle unsere definierten CentOS-Hosts kopieren. Dabei müssen wir natürlich beachten, dass sich die Datei zwischen den Versionen CentOS 7 und CentOS 8 unterscheiden, wenn auch nur geringfügig!
  
 ==== Script anlegen ==== ==== Script anlegen ====
Zeile 18: Zeile 18:
  
   tasks:   tasks:
-    - name: Place repo-file mailserver.guru for CentOS 8 right in place+    - name: Place repo-file nausch.org for CentOS 8 right in place
       copy:       copy:
-        src: /home/django/ansible/files/CentOS8/mailserver.guru.repo +        src: /home/django/ansible/files/CentOS8/nausch.org.repo 
         dest: /etc/yum.repos.d/         dest: /etc/yum.repos.d/
       when:       when:
Zeile 26: Zeile 26:
         - ansible_facts['distribution_major_version'] == "8"         - ansible_facts['distribution_major_version'] == "8"
  
-    - name: Place repo-file mailserver.guru for CentOS 7 right in place +    - name: Place repo-file nausch.org for CentOS 7 right in place 
       copy:       copy:
-        src: files/CentOS7/mailserver.guru.repo +        src: files/CentOS7/nausch.org.repo 
         dest: /etc/yum.repos.d/         dest: /etc/yum.repos.d/
       when:       when:
Zeile 41: Zeile 41:
  
 \\ \\
-Die **CentOS 7** spezifische Repo-Datei **''mailserver.guru.repo''** speichern wir nun im Verzeichnis **''~/ansible/files/CentOS7''**. +Die **CentOS 7** spezifische Repo-Datei **''nausch.org.repo''** speichern wir nun im Verzeichnis **''~/ansible/files/CentOS7''**. 
-   $ vim ~/ansible/files/CentOS7/mailserver.guru.repo+   $ vim ~/ansible/files/CentOS7/nausch.org.repo
  
-<file bash ~/ansible/files/CentOS7/mailserver.guru.repo># Repository mailserver.guru +<file bash ~/ansible/files/CentOS7/nausch.org.repo># Repository nausch.org 
-[mailserver.guru-os]+[nausch.org-os]
 name=Extra (Mailserver-)Packages for Enterprise Linux 7 - $basearch name=Extra (Mailserver-)Packages for Enterprise Linux 7 - $basearch
-baseurl=http://repo.mailserver.guru/7/os/$basearch+baseurl=http://repo.nausch.org/7/os/$basearch
 priority=5 priority=5
 enabled=1 enabled=1
Zeile 54: Zeile 54:
  
  
-[mailserver.guru-testing]+[nausch.org-testing]
 name=Testing (Mailserver-)Packages for Enterprise Linux 7 - $basearch name=Testing (Mailserver-)Packages for Enterprise Linux 7 - $basearch
-baseurl=http://repo.mailserver.guru/7/testing/$basearch/+baseurl=http://repo.nausch.org/7/testing/$basearch/
 #priority=5 #priority=5
 enabled=0 enabled=0
Zeile 62: Zeile 62:
 gpgkey=file:///etc/pki/rpm-gpg/MAILSERVER.GURU-RPM-GPG-KEY-CentOS-7</file> gpgkey=file:///etc/pki/rpm-gpg/MAILSERVER.GURU-RPM-GPG-KEY-CentOS-7</file>
  
-Die **CentOS 8** spezifische Repo-Datei **''mailserver.guru.repo''** speichern wir entsprechend im Verzeichnis **''~/ansible/files/CentOS8''** ab. +Die **CentOS 8** spezifische Repo-Datei **''nausch.org.repo''** speichern wir entsprechend im Verzeichnis **''~/ansible/files/CentOS8''** ab. 
-   $ vim ~/ansible/files/CentOS8/mailserver.guru.repo+   $ vim ~/ansible/files/CentOS8/nausch.org.repo
  
-<file bash ~/ansible/files/CentOS8/mailserver.guru.repo># Repository mailserver.guru +<file bash ~/ansible/files/CentOS8/nausch.org.repo># Repository nausch.org 
-[mailserver.guru-os]+[nausch.org-os]
 name=Extra (Mailserver-)Packages for Enterprise Linux 8 - $basearch name=Extra (Mailserver-)Packages for Enterprise Linux 8 - $basearch
-baseurl=http://repo.mailserver.guru/8/os/$basearch+baseurl=http://repo.nausch.org/8/os/$basearch
 priority=5 priority=5
 enabled=1 enabled=1
Zeile 75: Zeile 75:
  
  
-[mailserver.guru-testing]+[nausch.org-testing]
 name=Testing (Mailserver-)Packages for Enterprise Linux 8 - $basearch name=Testing (Mailserver-)Packages for Enterprise Linux 8 - $basearch
-baseurl=http://repo.mailserver.guru/8/testing/$basearch/+baseurl=http://repo.nausch.org/8/testing/$basearch/
 #priority=5 #priority=5
 enabled=0 enabled=0
Zeile 84: Zeile 84:
  
 ==== Script Beschreibung ==== ==== Script Beschreibung ====
-Unser Playbook, welches alle Hosts anspricht besteht im Wesentlichen aus zwei Tasks/Aufgaben. Abhängig von den beiden Ansible Facts **''distribution''** und **''distribution_major_version''** wird die Repository-Konfigurations-Datei **''mailserver.guru.repo''** auf den entsprechenden Zielhost kopiert.  +Unser Playbook, welches alle Hosts anspricht besteht im Wesentlichen aus zwei Tasks/Aufgaben. Abhängig von den beiden Ansible Facts **''distribution''** und **''distribution_major_version''** wird die Repository-Konfigurations-Datei **''nausch.org.repo''** auf den entsprechenden Zielhost kopiert.  
  
 Zum Kopieren wird dann das Ansible Modul **[[https://docs.ansible.com/ansible/latest/modules/copy_module.html|copy]]** verwendet. Da wir das RPM-Paket **[[centos:ansible:start#dokumentation_rpm|ansible-doc]]** installiert hatten, könne wir auch auf der Konsole direkt Informationen zu dem Modul beziehen. Allgemeine Infos zu dem Modul erhalten wir mit folgendem Befehl: Zum Kopieren wird dann das Ansible Modul **[[https://docs.ansible.com/ansible/latest/modules/copy_module.html|copy]]** verwendet. Da wir das RPM-Paket **[[centos:ansible:start#dokumentation_rpm|ansible-doc]]** installiert hatten, könne wir auch auf der Konsole direkt Informationen zu dem Modul beziehen. Allgemeine Infos zu dem Modul erhalten wir mit folgendem Befehl:
Zeile 443: Zeile 443:
 <font style="color: rgb(25, 100, 5)">ok: [www7.dmz.nausch.org] <font style="color: rgb(25, 100, 5)">ok: [www7.dmz.nausch.org]
 ok: [www8.dmz.nausch.org]</font><br> ok: [www8.dmz.nausch.org]</font><br>
-<font style="color: rgb(0, 0, 0)">TASK [Place repo-file mailserver.guru for CentOS 8 right in place] *********************************************************************</font>+<font style="color: rgb(0, 0, 0)">TASK [Place repo-file nausch.org for CentOS 8 right in place] *********************************************************************</font>
 <font style="color: rgb(4, 138, 145)">skipping: [www7.dmz.nausch.org] => {"changed": false, "skip_reason": "Conditional result was False"}</font> <font style="color: rgb(4, 138, 145)">skipping: [www7.dmz.nausch.org] => {"changed": false, "skip_reason": "Conditional result was False"}</font>
-<font style="color: rgb(196, 160, 0)">changed: [www8.dmz.nausch.org] => {"changed": true, "checksum": "e9ab494c29df71d4e869c5b0bf68caf865ef74c9", "dest": "/etc/yum.repos.d/mailserver.guru.repo", "gid": 0, "group": "root", "md5sum": "f21be9d7340e512c004747204b54a2b5", "mode": "0644", "owner": "root", "secontext": "system_u:object_r:system_conf_t:s0", "size": 614, "src": "/home/ansible/.ansible/tmp/ansible-tmp-1578253275.4362092-25566445227282/source", "state": "file", "uid": 0}</font><br> +<font style="color: rgb(196, 160, 0)">changed: [www8.dmz.nausch.org] => {"changed": true, "checksum": "e9ab494c29df71d4e869c5b0bf68caf865ef74c9", "dest": "/etc/yum.repos.d/nausch.org.repo", "gid": 0, "group": "root", "md5sum": "f21be9d7340e512c004747204b54a2b5", "mode": "0644", "owner": "root", "secontext": "system_u:object_r:system_conf_t:s0", "size": 614, "src": "/home/ansible/.ansible/tmp/ansible-tmp-1578253275.4362092-25566445227282/source", "state": "file", "uid": 0}</font><br> 
-<font style="color: rgb(0, 0, 0)">TASK [Place repo-file mailserver.guru for CentOS 7 right in place] *********************************************************************</font>+<font style="color: rgb(0, 0, 0)">TASK [Place repo-file nausch.org for CentOS 7 right in place] *********************************************************************</font>
 <font style="color: rgb(4, 138, 145)">skipping: [www8.dmz.nausch.org] => {"changed": false, "skip_reason": "Conditional result was False"}</font> <font style="color: rgb(4, 138, 145)">skipping: [www8.dmz.nausch.org] => {"changed": false, "skip_reason": "Conditional result was False"}</font>
-<font style="color: rgb(196, 160, 0)">changed: [www7.dmz.nausch.org] => {"changed": true, "checksum": "0fac1360785f0e02e074b4cc4f785e181f6620b9", "dest": "/etc/yum.repos.d/mailserver.guru.repo", "gid": 0, "group": "root", "md5sum": "90d8ca6369ff514b3c3dc3ddfac4ebdb", "mode": "0644", "owner": "root", "secontext": "system_u:object_r:system_conf_t:s0", "size": 614, "src": "/home/ansible/.ansible/tmp/ansible-tmp-1578253277.3541374-16074731401428/source", "state": "file", "uid": 0}</font><br>+<font style="color: rgb(196, 160, 0)">changed: [www7.dmz.nausch.org] => {"changed": true, "checksum": "0fac1360785f0e02e074b4cc4f785e181f6620b9", "dest": "/etc/yum.repos.d/nausch.org.repo", "gid": 0, "group": "root", "md5sum": "90d8ca6369ff514b3c3dc3ddfac4ebdb", "mode": "0644", "owner": "root", "secontext": "system_u:object_r:system_conf_t:s0", "size": 614, "src": "/home/ansible/.ansible/tmp/ansible-tmp-1578253277.3541374-16074731401428/source", "state": "file", "uid": 0}</font><br>
 <font style="color: rgb(0, 0, 0)">PLAY RECAP ***************************************************************************************************************************************</font> <font style="color: rgb(0, 0, 0)">PLAY RECAP ***************************************************************************************************************************************</font>
 <font style="color: rgb(196, 160, 0)">www7.dmz.nausch.org        </font><font style="color: rgb(0, 0, 0)">: </font><font style="color: rgb(25, 100, 5)">ok=2    </font><font style="color: rgb(196, 160, 0)">changed=1    </font><font style="color: rgb(0, 0, 0)">unreachable=0    failed=0    <font style="color: rgb(4, 138, 145)">skipped=1</font><font style="color: rgb(0, 0, 0)">    rescued=0    ignored=0</font> <font style="color: rgb(196, 160, 0)">www7.dmz.nausch.org        </font><font style="color: rgb(0, 0, 0)">: </font><font style="color: rgb(25, 100, 5)">ok=2    </font><font style="color: rgb(196, 160, 0)">changed=1    </font><font style="color: rgb(0, 0, 0)">unreachable=0    failed=0    <font style="color: rgb(4, 138, 145)">skipped=1</font><font style="color: rgb(0, 0, 0)">    rescued=0    ignored=0</font>
Zeile 460: Zeile 460:
 ==== Ergebnis ==== ==== Ergebnis ====
 Auf dem Zielhost findet sich nun unsere gewünschte Datei mit dem zugehörigen Inhalt an Ort und Stelle.  Auf dem Zielhost findet sich nun unsere gewünschte Datei mit dem zugehörigen Inhalt an Ort und Stelle. 
-   # ll /etc/yum.repos.d/mailserver.guru.repo+   # ll /etc/yum.repos.d/nausch.org.repo
  
-<code>-rw-r--r--. 1 root root 614 Jan  5 20:41 /etc/yum.repos.d/mailserver.guru.repo</code>+<code>-rw-r--r--. 1 root root 614 Jan  5 20:41 /etc/yum.repos.d/nausch.org.repo</code>
  
 ====== Links ====== ====== Links ======
  • linux/ansible/playbook_example_04.1663164949.txt.gz
  • Zuletzt geändert: 14.09.2022 14:15.
  • von django