Testen der benutzerdefinierten Konfiguration
Nachdem wir nun unsere benutzerdefinierte Konfiguration eingerichtet haben, erstellen wir ein einfaches Playbook, um sie zu testen. Dies hilft uns zu verstehen, wie unsere Konfigurationsänderungen das Verhalten von Ansible beeinflussen.
Erstellen Sie eine neue Datei namens test_config.yml
im Verzeichnis /home/labex/project
:
nano /home/labex/project/test_config.yml
Aktualisieren Sie den Inhalt wie folgt:
---
- name: Test Custom Configuration
hosts: all
tasks:
- name: Display remote user
debug:
msg: "Connected as user: {{ ansible_user }}"
- name: Display privilege escalation info
debug:
msg: "Privilege escalation is {{ 'enabled' if ansible_become | default(false) else 'disabled' }}"
- name: Show Ansible configuration
debug:
msg: "Inventory file: {{ lookup('config', 'DEFAULT_HOST_LIST') }}"
- name: Check if become is enabled in ansible.cfg
command: grep "become = True" /home/labex/project/ansible.cfg
register: become_check
changed_when: false
failed_when: false
- name: Display become setting from ansible.cfg
debug:
msg: "Become is {{ 'enabled' if become_check.rc == 0 else 'disabled' }} in ansible.cfg"
Dieses aktualisierte Playbook führt folgende Änderungen durch:
- Wir haben einen Standardwert für
ansible_become
hinzugefügt, um den Fehler eines undefinierten Variablenfehlers zu vermeiden.
- Wir haben zwei neue Aufgaben hinzugefügt, die die
ansible.cfg
-Datei direkt auf die become
-Einstellung prüfen, um eine genauere Darstellung Ihrer Konfiguration zu liefern.
Nun führen wir das aktualisierte Playbook aus:
ansible-playbook /home/labex/project/test_config.yml
Dies sollte ohne Fehler ausgeführt werden und Ihnen Informationen über Ihre Ansible-Konfiguration liefern.
Darüber hinaus beheben wir die Deprecation-Warnung, indem wir unsere ansible.cfg
-Datei aktualisieren:
nano /home/labex/project/ansible.cfg
Fügen Sie die folgende Zeile unter dem Abschnitt [defaults]
hinzu:
interpreter_python = /usr/bin/python3
Ihre ansible.cfg
-Datei sollte nun in etwa so aussehen:
[defaults]
inventory = /home/labex/project/inventory
remote_user = labex
host_key_checking = False
stdout_callback = yaml
interpreter_python = /usr/bin/python3
[privilege_escalation]
become = True
become_method = sudo
become_user = root
become_ask_pass = False
Speichern Sie die Datei und verlassen Sie den Editor.
Nun, wenn Sie das Playbook erneut ausführen:
ansible-playbook /home/labex/project/test_config.yml
Sie sollten die Ausgabe ohne die Deprecation-Warnung sehen, und es sollten Ihre Konfigurationseinstellungen korrekt angezeigt werden.