tehtbl.bootstrap
Opis Roli
Przygotuj swoje systemy Debian i Ubuntu do pracy z Ansible.
Przykładowy Playbook
Ten przykład pochodzi z molecule/default/converge.yml
i jest testowany przy każdym wypuszczeniu, pull requeście oraz aktualizacji.
---
- name: Zbieżność
hosts: all
become: true
gather_facts: false
roles:
- role: tehtbl.bootstrap
Maszyna, na której to uruchamiasz, może potrzebować przygotowania. Używam tego playbooka, aby upewnić się, że wszystko jest gotowe do działania roli.
---
- name: Przygotowanie
hosts: all
become: true
gather_facts: false
Zmienne Roli
Te zmienne są ustawione w defaults/main.yml
:
---
# ------------------------------------------------------------------------
# plik domyślny dla bootstrap
# ------------------------------------------------------------------------
# Użytkownik do łączenia z maszynami.
bootstrap_user: root
# Zainstalowane oprogramowanie wspierające moduły oznaczone jako "preview" (np. mysql_db).
# "yes", "no" lub brak ustawienia są poprawne.
bootstrap_preview: true
# Czy chcesz czekać na dostępność hosta?
bootstrap_wait_for_host: false
# Liczba sekund, które chcesz czekać podczas testu połączenia przed niepowodzeniem.
bootstrap_timeout: 3
# Liczba prób podczas instalacji
bootstrap_retries: 3
Wymagania
- Dostęp do repozytorium zawierającego pakiety, prawdopodobnie w Internecie.
- Nowsza wersja Ansible. (Testy są przeprowadzane na bieżącej, poprzedniej i następnej wersji Ansible.)
Kontekst
Ta rola jest częścią wielu zgodnych ról. Zobacz moje inne role, aby uzyskać więcej informacji.
Zgodność
Ta rola była testowana na tych obrazach Docker:
kontener | tag | zezwól 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ą przeprowadzane przy każdym commicie, pull requeście, wydaniu oraz okresowo.
Jeśli znajdziesz problemy, zgłoś je na GitHubie
Testowanie odbywa się przy użyciu Tox i Molecule:
Tox testuje wiele wersji Ansible. Molecule testuje wiele dystrybucji.
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 tag:
IMAGE="debian" TAG="stable" tox
Możesz także testować wiele wersji Ansible i wybierać odpowiednie obrazy:
Tox pozwala na testowanie wielu wersji Ansible. Aby uruchomić domyślne testy (przestrzeń nazw: tehtbl
, obraz: ubuntu
, tag: latest
):
tox
# Aby uruchomić 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
Uruchom testy za pomocą dostawcy VirtualBox:
vagrant up
Licencja
Licencja MIT
Informacje o autorze
Źródła
Ta praca opiera się na doskonałej pracy wielu osób, np. Roberta de Bocka, Jeffa Geerlinga i Tomasza Waldmanna. Dziękuję!