ogerbron.satellite6_content_views
Ważne: Ponieważ przeszedłem do innej pracy, nie używam już Red Hat Satellite, dlatego nie mogę łatwo utrzymać tej roli (nie mam licencji na używanie Satellite). Ale czuj się swobodnie, aby przesyłać PR, aby poprawić tę rolę, lub użyj swojej własnej repozytorium. Mam nadzieję, że będziesz z tego korzystać!
Zarządzanie widokiem treści
Satellite6-content_views to rola Ansible, która ułatwia zarządzanie widokami treści w RedHat Satellite 6.x, takimi jak:
- Publikowanie nowej wersji widoku treści
- Promowanie wersji do środowiska
- Usuwanie starych wersji
Ta rola korzysta tylko z RedHat Satellite HTTP API.
Wymagania
Aby używać tej roli, będziesz potrzebować:
- Ansible > 2.0
- Satellite 6.x
- Autoryzacja dostępu HTTPS z Twojej maszyny Ansible do Twojego Satellite
- Użytkownik Satellite z rolą administratora
Jak zacząć
Poniżej znajduje się kilka przykładów playbooków do użycia tej roli.
Ta rola oczekuje użytkownika Satellite z wystarczającymi uprawnieniami.
Publikowanie nowej wersji
Czasami może być korzystne automatyczne aktualizowanie konkretnych widoków treści, na przykład widoku treści podstawowego systemu operacyjnego. Satellite może planować synchronizacje repozytoriów, ale zsynchronizowana treść nie będzie dostępna dla klientów, aż administrator opublikuje nową wersję widoku treści zawierającego te repozytoria.
OSTRZEŻENIE: W przypadku złożonych widoków treści, spowoduje to zaktualizowanie wewnętrznych złożonych widoków do ich najnowszej wersji przed publikowaniem.
---
- hosts: localhost
connection: local
vars:
sat_hostname: satelliteurl.example.com
sat_user: satellite_user
sat_password: satellite_password
sat_org: satellite_organization
sat_cv_name: content_view_name
roles:
- satellite6-content_views
Publikowanie i promowanie widoku treści
Opublikuj nową wersję widoku treści i promuj ją do środowiska satellite_env
.
Po utworzeniu nowej wersji widoku treści jest ona dostępna tylko w środowisku biblioteki.
Aby udostępnić ją w innych środowiskach, należy wykonać promocję wersji.
---
- hosts: localhost
connection: local
vars:
sat_hostname: satelliteurl.example.com
sat_user: satellite_user
sat_password: satellite_password
sat_org: satellite_organization
sat_cv_name: content_view_name
sat_promote: yes
sat_env_name: satellite_env
roles:
- satellite6-content_views
Domyślnie promowanie będzie podążać za ścieżką środowiska i promować widok treści do każdego środowiska, aż osiągnie to określone za pomocą sat_env_name
.
Na przykład, biorąc pod uwagę następującą ścieżkę środowiska Biblioteka -> Dev -> Testowanie -> Produkcja
w powyższym przykładzie, ustawienie sat_env_name: Produkcja
spowoduje:
- Publikowanie nowej wersji w Bibliotece
- Promowanie nowej wersji w środowisku Dev
- Promowanie nowej wersji w środowisku Testowanie
- Promowanie nowej wersji w środowisku Produkcja
Tylko promowanie widoku treści
Promuj ostatnią wersję widoku treści do środowiska satellite_env
.
---
- hosts: localhost
connection: local
vars:
sat_hostname: satelliteurl.example.com
sat_user: satellite_user
sat_password: satellite_password
sat_org: satellite_organization
sat_cv_name: content_view_name
sat_publish: no
sat_promote: yes
sat_env_name: satellite_env
roles:
- satellite6-content_views
Usuwanie starych widoków treści
Podczas pracy z Satellite 6 nowe wersje widoków treści są tworzone dosyć często, szczególnie przy testowaniu modułów Puppet i udostępnianiu ich klientom. Stare wersje widoków treści są domyślnie przechowywane przez Satellite, aby móc w przyszłości cofnąć się do tej konkretnej wersji. Jednak przechowywanie zbyt wielu starych wersji sprawia, że UI Satellite jest nieczytelne, a zadania tła są wolniejsze, ponieważ analizują więcej danych.
Domyślnie wszystkie wersje widoków treści, które są promowane do jakiegokolwiek Środowiska Cyklu Życia, oraz 5 najnowszych wersji niepromowanych są przechowywane.
Liczbę przechowywanych wersji można dostosować za pomocą zmiennej sat_keep_old_cv
.
---
- hosts: localhost
connection: local
vars:
sat_hostname: satelliteurl.example.com
sat_user: satellite_user
sat_password: satellite_password
sat_org: satellite_organization
sat_cv_name: content_view_name
sat_publish: no
sat_remove_old_cv: yes
sat_keep_old_cv: 5
roles:
- satellite6-content_views
Zmienne roli
Oto lista wszystkich domyślnych zmiennych dla tej roli, które są również dostępne w defaults/main.yml.
Nazwa zmiennej | Wymagana | Domyślna | Wybory | Uwagi |
---|---|---|---|---|
sat_hostname |
tak | Brak | N/A | Nazwa hosta Satellite, może być adresem IP lub DNS |
sat_user |
tak | Brak | N/A | Nazwa użytkownika Satellite, musi mieć uprawnienia administratora |
sat_password |
tak | Brak | N/A | Hasło do Satellite dla użytkownika |
sat_org |
tak | Brak | N/A | Organizacja Satellite, w której znajduje się widok treści |
sat_cv_name |
tak | Brak | N/A | Nazwa widoku treści, który chcemy opublikować |
sat_publish |
nie | tak | tak/nie prawda/fałsz |
Jeśli ustawione na tak, opublikuje nową wersję |
sat_remove_old_cv |
nie | nie | tak/nie prawda/fałsz |
Jeśli ustawione na tak, usunie stare widoki treści, użyj zmiennej sat_keep_old_cv , aby określić liczbę widoków treści do zachowania |
sat_keep_old_cv |
nie | 5 | N/A | Liczba starych widoków treści do zachowania |
sat_promote |
nie | nie | tak/nie prawda/fałsz |
Jeśli ustawione na tak, promuje widok treści do określonego środowiska (z zmienną sat_env_name ) |
sat_follow_env_path |
nie | tak | tak/nie prawda/fałsz |
Jeśli ustawione na tak, promuje do każdego środowiska zawartego w ścieżce środowiska, aż osiągnie sat_env_name (zobacz przykład Publikowanie i promowanie) |
sat_env_name |
nie | Brak | N/A | Środowisko do którego ma być promowane |
sat_wait_task_retries |
nie | 60 | N/A | Te zmienne mogą być zwiększone, gdy promocja Satellite trwa długo. Ponieważ niektóre widoki treści mogą zająć dużo czasu na publikację, można dostosować liczbę prób i opóźnienie. Domyślny czas oczekiwania na zadanie wynosi sat_wait_task_retries x sat_wait_task_delay . Domyślnie 60 x 30 = 1800 sekund, co oznacza, że ansible będzie czekać 30 minut na zakończenie publikacji/promocji/usunięcia widoku treści. |
sat_wait_task_delay |
nie | 30 | N/A | Opóźnienie między dwoma sprawdzeniami zadania |
sat_publish_description |
nie | Automatyczne publikowanie z Ansible | N/A | Wiadomość, która pojawi się w opisie wersji |
sat_promote_description |
nie | Automatyczna promocja z Ansible | N/A | Wiadomość, która pojawi się w opisie promocji |
TODO
- Publikuj wszystkie widoki treści jednocześnie
- Promuj konkretną wersję widoku treści
- Publikuj widok treści tylko wtedy, gdy są nowe pakiety/moduły puppet
- Optymalizuj wyszukiwanie zadań z dokładnymi filtrami
- Dodaj szereg testów
Licencja
GPLv3
Informacje o autorze
Olivier Gerbron
Role to manage content views in RedHat Satellite
ansible-galaxy install ogerbron.satellite6_content_views