ogerbron.satellite6_content_views
Wichtig: Da ich einen anderen Job angenommen habe, benutze ich Red Hat Satellite nicht mehr und kann diese Rolle daher nicht mehr einfach warten (ich habe keine Lizenz zur Nutzung von Satellite). Aber Sie können gerne PRs einreichen, um die Rolle zu verbessern, oder Ihr eigenes Repository verwenden. Ich hoffe, es wird Ihnen gefallen!
Verwaltung von Inhaltsansichten
Satellite6-content_views ist eine Ansible-Rolle, um Inhaltsansichten in RedHat Satellite 6.x einfach zu verwalten, wie zum Beispiel:
- Veröffentlichen einer neuen Version der Inhaltsansicht
- Fördern einer Version in eine Umgebung
- Löschen alter Versionen
Diese Rolle verwendet nur die RedHat Satellite HTTP API.
Voraussetzungen
Um diese Rolle zu verwenden, benötigen Sie:
- Ansible > 2.0
- Satellite 6.x
- HTTPS-Zugang von Ihrer Ansible-Maschine zu Ihrem Satellite
- Einen Satellite-Benutzer mit Administratorrechten
Erste Schritte
Hier sind einige Beispiel-Playbooks zur Verwendung dieser Rolle.
Diese Rolle erwartet einen Satellite-Benutzer mit ausreichenden Berechtigungen.
Veröffentlichen einer neuen Version
Manchmal kann es vorteilhaft sein, bestimmte Inhaltsansichten automatisch zu aktualisieren, zum Beispiel die Basis-Betriebssystem-Inhaltsansicht. Satellite kann Synchronisierungen der Repositories planen, aber die synchronisierten Inhalte sind für die Clients erst verfügbar, nachdem der Administrator eine neue Version einer Inhaltsansicht veröffentlicht hat, die diese Repositories enthält.
WARNUNG: Bei zusammengesetzten Inhaltsansichten werden die inneren zusammengesetzten Ansichten vor der Veröffentlichung auf die neueste Version aktualisiert.
---
- 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
Veröffentlichen und Fördern einer Inhaltsansicht
Veröffentlichen Sie eine neue Version einer Inhaltsansicht und fördern Sie sie in die Umgebung satellite_env
.
Nachdem eine neue Version einer Inhaltsansicht erstellt wurde, ist sie nur in der Bibliothek-Lifecycle-Umgebung verfügbar.
Um sie in anderen Umgebungen verfügbar zu machen, muss eine Förderung der Version erfolgen.
---
- 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
Standardmäßig folgt die Förderung dem Umgebungsweg und fördert die Inhaltsansicht in jede Umgebung, bis die mit sat_env_name
angegebene erreicht wird.
Beispielsweise würde im gegebenen Umgebungsweg Bibliothek -> Dev -> Testing -> Produktion
im obigen Beispiel mit sat_env_name: Produktion
folgendes erfolgen:
- Neue Version in Bibliothek veröffentlichen
- Neue Version in Dev-Umgebung fördern
- Neue Version in Testing-Umgebung fördern
- Neue Version in Produktions-Umgebung fördern
Nur eine Inhaltsansicht fördern
Fördern Sie die letzte Version einer Inhaltsansicht in die Umgebung 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
Alte Inhaltsansichten entfernen
Wenn Sie mit Satellite 6 arbeiten, werden häufig neue Versionen von Inhaltsansichten erstellt, insbesondere beim Testen von Puppet-Modulen, die für die Clients verfügbar gemacht werden müssen. Alte Versionen der Inhaltsansichten werden standardmäßig von Satellite aufbewahrt, um in der Zukunft zu dieser spezifischen Version zurückkehren zu können. Aber zu viele alte Versionen machen die Benutzeroberfläche von Satellite unübersichtlich und die Hintergrundaufgaben langsamer, da sie mehr Daten analysieren müssen.
Standardmäßig werden alle Inhaltsansichten, die in eine Lifecycle-Umgebung gefördert werden, und die 5 neuesten nicht geförderten Versionen aufbewahrt.
Die Anzahl der aufbewahrten Versionen kann mit der Variablen sat_keep_old_cv
angepasst werden.
---
- 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
Rollenvorlagen
Hier ist eine Liste aller Standardvariablen für diese Rolle, die auch in defaults/main.yml verfügbar sind.
Variablenname | Erforderlich | Standard | Auswahl | Kommentare |
---|---|---|---|---|
sat_hostname |
ja | None | N/A | Hostname von Satellite, kann eine IP oder DNS sein |
sat_user |
ja | None | N/A | Benutzername für Satellite, muss über Administratorrechte verfügen |
sat_password |
ja | None | N/A | Passwort für den Satellite-Benutzer |
sat_org |
ja | None | N/A | Satellite-Organisation, in der sich die Inhaltsansicht befindet |
sat_cv_name |
ja | None | N/A | Name der Inhaltsansicht, die veröffentlicht werden soll |
sat_publish |
nein | ja | ja/nein wahr/falsch |
Wenn auf ja gesetzt, wird eine neue Version veröffentlicht |
sat_remove_old_cv |
nein | nein | ja/nein wahr/falsch |
Wenn auf ja gesetzt, werden alte Inhaltsansichten entfernt, verwenden Sie die Variable sat_keep_old_cv , um die Anzahl der aufzubewahrenden Inhaltsansichten anzugeben |
sat_keep_old_cv |
nein | 5 | N/A | Anzahl der alten Inhaltsansichten, die aufbewahrt werden sollen |
sat_promote |
nein | nein | ja/nein wahr/falsch |
Wenn auf ja gesetzt, wird die Inhaltsansicht in die angegebene Umgebung (mit der Variable sat_env_name ) gefördert |
sat_follow_env_path |
nein | ja | ja/nein wahr/falsch |
Wenn auf ja gesetzt, wird in alle Umgebungen gefördert, die im Umgebungsweg enthalten sind, bis sat_env_name erreicht ist (siehe Beispiel Veröffentlichen und Fördern) |
sat_env_name |
nein | None | N/A | Umgebung, in die gefördert werden soll |
sat_wait_task_retries |
nein | 60 | N/A | Diese Variablen können erhöht werden, wenn die Förderung in Satellite lange dauert. Da einige Inhaltsansichten eine Weile brauchen, um veröffentlicht zu werden, können die Anzahl der Versuche und die Verzögerung angepasst werden. Die Standardzeitüberschreitung für eine Aufgabe beträgt sat_wait_task_retries x sat_wait_task_delay . Standardmäßig bedeutet 60 x 30 = 1800 Sekunden, dass Ansible 30 Minuten wartet, bis eine Inhaltsansicht veröffentlicht/fördert/gelöscht wird. |
sat_wait_task_delay |
nein | 30 | N/A | Verzögerung zwischen zwei Aufgabenüberprüfungen |
sat_publish_description |
nein | Automatisierte Veröffentlichung von Ansible | N/A | Eine Nachricht, die in der Versionsbeschreibung erscheint |
sat_promote_description |
nein | Automatisierte Förderung von Ansible | N/A | Eine Nachricht, die in der Förderbeschreibung erscheint |
TODO
- Alle Inhaltsansichten auf einmal veröffentlichen
- Eine bestimmte Version einer Inhaltsansicht fördern
- Eine Inhaltsansicht nur veröffentlichen, wenn es neue Pakete/Puppet-Module gibt
- Die Aufgabensuche mit genauen Filtern optimieren
- Eine Reihe von Tests hinzufügen
Lizenz
GPLv3
Autoreninformation
Olivier Gerbron
Role to manage content views in RedHat Satellite
ansible-galaxy install ogerbron.satellite6_content_views