wiki:ansible

wpis w: Baszarek, Najnowsze odcinki | 0

Ansible

Ansible 2.9 na CentOS Stream 8

W repozytorium ósmego Streama pojawiły się pakiety ansible-core w nowych wersjach, niekompatybilne z playbookami pisanymi pod wersję 2.9. Stara wersja jest wciąż dostępna na EPEL-u:

dnf install epel-release
dnf install ansible –exclude=ansible-core

Do pliku /etc/yum.conf warto dodać wyjątek, żeby nie musieć o nim ciągle pamiętać.

exclude=ansible-core

Sprawdzanie, czy dzisiejszy, „cronowy” playbook wykonał się prawidłowo

cat ansible.log | grep -E „^$(date „+%Y-%m-%d”).*failed” | grep -Ev „failed=0” | wc -l

Zakładając, że powyższe polecenie jest w pliku check_failed.sh i ścieżka do pliku z logami jest poprawna, można wysłać raport raport na IRC:


– name: Send status on IRC
hosts: my-host.ping.local

tasks:

– name: Check failed tasks
command: ‚/usr/bin/bash /home/lukasz/ansible/helpers/check_failed.sh’
register: fails

– name: Send a report to a fedora-pl channel
irc:
server: irc.libera.chat
port: 6667
nick: raport
channel: ‚#fedora-pl’
msg: „[ANSIBLE] Todays failed tasks: {{ fails[‚stdout_lines’][0] }}.”

Plik konfiguracyjny

[defaults] inventory = /root/ansible/hosts
interpreter_python = auto_silent
remote_user = root
log_path = /root/ansible/var/ansible.log
[inventory] [privilege_escalation] [paramiko_connection] [ssh_connection] [persistent_connection] [sudo_become_plugin] [selinux] [colors] [diff] [galaxy]

Ustawienie auto_silent usuwa ostrzeżenia o wersji Pythona z każdego przebiegu playbooków.

Pętle w playbookach oraz helpery

Przykład playbooka korzystącego z pętli:


– name: Enable users
Więcej…

Oryginalny wpis: wiki:ansible