ogerbron.satellite6_content_views

Bild

Build-Status Ansible Rolle

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

Über das Projekt

Role to manage content views in RedHat Satellite

Installieren
ansible-galaxy install ogerbron.satellite6_content_views
Lizenz
gpl-3.0
Downloads
4.7k
Besitzer
EM 👨‍🔧 @doctolib 🇫🇷🇬🇧 Triathlete 🏊🏻‍♂️🚴🏻🏃🏻