tehtbl.reboot
Opis roli
Zrestartuj system, jeśli zajdzie taka potrzeba.
Przykład playbooka
Ten przykład pochodzi z molecule/default/converge.yml
i jest testowany przy każdym pushu, pull requeście i wydaniu.
---
- name: Converge
hosts: all
become: true
gather_facts: false
roles:
- role: tehtbl.reboot
Maszyna, na której uruchamiasz ten playbook, może wymagać przygotowania. Używam tego playbooka, aby upewnić się, że wszystko jest gotowe, aby rola działała.
---
- name: Przygotowanie
hosts: all
become: true
gather_facts: false
roles:
- role: tehtbl.bootstrap
Zmienne roli
Te zmienne są ustawione w defaults/main.yml
:
---
# ------------------------------------------------------------------------
# plik domyślny dla restartu
# ------------------------------------------------------------------------
# Niektóre systemy operacyjne mogą określić, czy wymagany jest restart.
# Ten parametr może być ustawiony na zawsze restartować.
reboot_always: false
# Jak długo czekać przed wysłaniem restartu.
reboot_delay: 4
# Liczba sekund na czekanie przed sprawdzeniem, czy maszyna jest dostępna.
reboot_up_delay: 8
# Możesz określić wiadomość przy uruchomieniu ponownie, co ułatwia audyt.
reboot_message: "restart wykonany przez rolę Ansible tehtbl.reboot"
Wymagania
- Dostęp do repozytorium zawierającego pakiety, prawdopodobnie w internecie.
- Niedawna wersja Ansible. (Testy są prowadzone na obecnej, poprzedniej i następnej wersji Ansible.)
Kontekst
Ta rola jest częścią wielu kompatybilnych ról. Sprawdź moje inne role po więcej informacji.
Kompatybilność
Ta rola była testowana na tych obrazach Docker:
Kontener | Tag | Pozwalaj na błędy |
---|---|---|
debian | stable | nie |
debian | testing | nie |
debian | unstable | tak |
ubuntu | xenial | tak |
ubuntu | bionic | nie |
ubuntu | focal | nie |
ubuntu | devel | tak |
Ta rola była testowana na tych wersjach Ansible:
- ansible>=2.8, <2.9
- ansible>=2.9
- git+https://github.com/ansible/ansible.git@devel
Testowanie za pomocą Tox
Testy jednostkowe są wykonywane przy każdym zatwierdzeniu, pull requeście, wydaniu oraz okresowo.
Jeśli napotkasz problemy, zarejestruj je w GitHub.
Testowanie odbywa się za pomocą Tox i Molecule:
Tox testuje różne wersje Ansible. Molecule testuje różne dystrybucje.
Aby przetestować używając domyślnych ustawień (dowolna zainstalowana wersja Ansible, przestrzeń nazw: tehtbl
, obraz: ubuntu
, tag: latest
):
molecule test
# Lub wybierz konkretny obraz:
IMAGE="ubuntu" molecule test
# Lub wybierz konkretny obraz i konkretny tag:
IMAGE="debian" TAG="stable" tox
Możesz również przetestować różne wersje Ansible i wybrać odpowiednie obrazy:
Tox pozwala testować wiele wersji Ansible. Aby uruchomić testy domyślne (przestrzeń nazw: tehtbl
, obraz: ubuntu
, tag: latest
):
tox
# Aby uruchomić testy dla Ubuntu (przestrzeń nazw: `tehtbl`, tag: `latest`)
IMAGE="ubuntu" tox
# Lub dostosuj więcej:
IMAGE="debian" TAG="stable" tox -e py37-ansible-current
Testowanie za pomocą Vagrant
Zainstaluj wtyczki vagrant
za pomocą:
vagrant plugin install vagrant-reload
Rozpocznij testy za pomocą dostawcy VirtualBox:
vagrant up
Licencja
Licencja MIT
Informacje o autorze
Źródła
Ta praca opiera się na świetnej pracy wielu osób, np. Roberta de Bocka, Jeffa Geerlinga i Thomasa Waldmanna. Dziękuję!