ogerbron.satellite6_content_views

Gestion des Vues de Contenu

Satellite6-content_views est un rôle Ansible pour gérer facilement les vues de contenu dans RedHat Satellite 6.x, telles que :

  • Publier une nouvelle version de vue de contenu
  • Promouvoir une version vers un environnement
  • Supprimer les anciennes versions

Ce rôle utilise uniquement l'API HTTP de RedHat Satellite.

Exigences

Pour utiliser ce rôle, vous aurez besoin de :

  • Ansible > 2.0
  • Satellite 6.x
  • Autorisation d'accès HTTPS de votre machine Ansible à votre Satellite
  • Un utilisateur Satellite ayant le rôle d'administrateur

Mise en route

Voici quelques exemples de playbooks pour utiliser ce rôle.

Ce rôle attend un utilisateur Satellite avec des privilèges suffisants.

Publier une nouvelle version

Il peut être utile de mettre à jour automatiquement certaines vues de contenu, par exemple la vue de contenu de système d'exploitation de base. Satellite peut planifier des synchronisations des dépôts, mais le contenu synchronisé ne sera pas disponible pour les clients jusqu'à ce que l'administrateur publie une nouvelle version d'une vue de contenu contenant ces dépôts.

ATTENTION : Concernant les vues de contenu composites, cela mettra à jour les vues composites internes à leur dernière version avant la publication.

---
- 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

Publier et promouvoir une vue de contenu

Publiez une nouvelle version d'une vue de contenu et promouvez-la vers l'environnement satellite_env. Après qu'une nouvelle version d'une vue de contenu ait été créée, elle n'est disponible que dans l'environnement de cycle de vie Bibliothèque. Pour la rendre disponible dans d'autres environnements, une promotion de la version doit être effectuée.

---
- 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

Par défaut, la promotion suivra le chemin de l'environnement, et promouvra la vue de contenu à chaque environnement jusqu'à atteindre celui spécifié avec sat_env_name.

Par exemple, étant donné le chemin d'environnement suivant Bibliothèque -> Dev -> Test -> Production, dans l'exemple ci-dessus, mettre sat_env_name: Production effectuera :

  • Publier la nouvelle version dans la Bibliothèque
  • Promouvoir la nouvelle version vers l'environnement Dev
  • Promouvoir la nouvelle version vers l'environnement Test
  • Promouvoir la nouvelle version vers l'environnement Production

Promouvoir uniquement une vue de contenu

Promouvez la dernière version d'une vue de contenu vers l'environnement 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

Supprimer les anciennes vues de contenu

Lors de l'utilisation de Satellite 6, de nouvelles versions de vues de contenu sont souvent créées, notamment lors des tests de modules Puppet et de leur mise à disposition pour les clients. Satellite conserve par défaut les anciennes versions des vues de contenu pour pouvoir revenir à une version spécifique à l'avenir. Cependant, garder trop d'anciennes versions rend l'interface utilisateur de Satellite peu claire et ralentit les tâches en arrière-plan, car elles ont tendance à analyser plus de données.

Par défaut, toutes les versions de vues de contenu qui sont promues vers un environnement de cycle de vie et les 5 versions non promues les plus récentes sont conservées. Le nombre de versions conservées peut être ajusté en utilisant la variable 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

Variables du rôle

Voici une liste de toutes les variables par défaut pour ce rôle, qui sont également disponibles dans defaults/main.yml.

Nom de la variable Requis Par défaut Choix Commentaires
sat_hostname oui Aucun N/A Nom d'hôte Satellite, peut être une IP ou un DNS
sat_user oui Aucun N/A Nom d'utilisateur Satellite, doit avoir des privilèges d'administrateur
sat_password oui Aucun N/A Mot de passe Satellite pour le nom d'utilisateur
sat_org oui Aucun N/A Organisation Satellite dans laquelle se trouve la vue de contenu
sat_cv_name oui Aucun N/A Nom de la vue de contenu à publier
sat_publish non oui oui/non Si défini sur oui, cela publiera une nouvelle version
sat_remove_old_cv non non oui/non Si défini sur oui, cela supprimera les anciennes vues de contenu, utilisez la variable sat_keep_old_cv pour spécifier le nombre de vues de contenu à conserver
sat_keep_old_cv non 5 N/A Nombre d'anciennes vues de contenu à conserver
sat_promote non non oui/non Si défini sur oui, cela promouvra la vue de contenu vers l'environnement spécifié (avec la variable sat_env_name)
sat_follow_env_path non oui oui/non Si défini sur oui, cela promouvra vers tous les environnements contenus dans le chemin d'environnement jusqu'à atteindre sat_env_name
sat_env_name non Aucun N/A Environnement vers lequel promouvoir
sat_wait_task_retries non 60 N/A Ces variables peuvent être augmentées lorsque la promotion Satellite est longue. Puisque certaines vues de contenu peuvent prendre beaucoup de temps à être publiées, vous pouvez ajuster le nombre de tentatives et le délai. Le délai par défaut pour une tâche est sat_wait_task_retries x sat_wait_task_delay. Par défaut, 60 x 30 = 1800 secondes, ce qui signifie qu'Ansible attendra 30 minutes pour qu'une vue de contenu finisse d'être publiée/promue/supprimée.
sat_wait_task_delay non 30 N/A Délai entre deux vérifications des tâches
sat_publish_description non Publication automatisée depuis Ansible N/A Un message qui apparaîtra dans la description de la version
sat_promote_description non Promotion automatisée depuis Ansible N/A Un message qui apparaîtra dans la description de la promotion

À faire

  • Publier toutes les vues de contenu en même temps
  • Promouvoir une version spécifique d'une vue de contenu
  • Publier une vue de contenu seulement s'il y a de nouveaux paquets/modules Puppet
  • Optimiser la recherche de tâches avec des filtres précis
  • Ajouter un ensemble de tests

Licence

GPLv3

Informations sur l'auteur

Olivier Gerbron

À propos du projet

Role to manage content views in RedHat Satellite

Installer
ansible-galaxy install ogerbron.satellite6_content_views
Licence
gpl-3.0
Téléchargements
4.7k
Propriétaire
EM 👨‍🔧 @doctolib 🇫🇷🇬🇧 Triathlete 🏊🏻‍♂️🚴🏻🏃🏻