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
Role to manage content views in RedHat Satellite
ansible-galaxy install ogerbron.satellite6_content_views