ogerbron.satellite6_content_views

Imagen

Estado de Construcción Rol de Ansible

Importante: Como me cambié de trabajo, ya no uso Red Hat Satellite, así que no puedo mantener este rol fácilmente (no tengo una licencia para utilizar Satellite). Pero siéntete libre de enviar PR para mejorar el rol, o usa tu propio repositorio. ¡Espero que lo disfrutes!

Gestión de Vistas de Contenido

Satellite6-content_views es un rol de Ansible para gestionar fácilmente las vistas de contenido en RedHat Satellite 6.x, tales como:

  • Publicar una nueva versión de vista de contenido
  • Promover una versión a un entorno
  • Eliminar versiones antiguas

Este rol solo utiliza la API HTTP de RedHat Satellite.

Requisitos

Para usar este rol, necesitarás:

  • Ansible > 2.0
  • Satellite 6.x
  • Autorización de acceso HTTPS desde tu máquina Ansible a tu Satellite
  • Un usuario de Satellite con rol de administrador

Comenzando

A continuación hay algunos ejemplos de playbooks para usar este rol.

Este rol espera que un usuario de Satellite tenga privilegios suficientes.

Publicar una nueva versión

A veces puede ser beneficioso actualizar automáticamente vistas de contenido específicas, por ejemplo, la vista de contenido del sistema operativo base. Satellite puede programar sincronizaciones de los repositorios, pero el contenido sincronizado no estará disponible para los clientes hasta que el administrador publique una nueva versión de una vista de contenido que contenga estos repositorios.

ADVERTENCIA: En cuanto a las vistas de contenido compuestas, esto actualizará las vistas compuestas interiores a su última versión antes de publicar.

---
- hosts: localhost
  connection: local
  vars:
    sat_hostname: satelliteurl.ejemplo.com
    sat_user: usuario_satellite
    sat_password: contraseña_satellite
    sat_org: organización_satellite
    sat_cv_name: nombre_vista_contenido
  roles:
    - satellite6-content_views

Publicar y promover una vista de contenido

Publica una nueva versión de una vista de contenido y promuévela al entorno satellite_env. Después de que se crea una nueva versión de una vista de contenido, solo está disponible en el Entorno de Ciclo de Vida de Biblioteca. Para hacerla disponible en otros entornos, se debe realizar una promoción de la versión.

---
- hosts: localhost
  connection: local
  vars:
    sat_hostname: satelliteurl.ejemplo.com
    sat_user: usuario_satellite
    sat_password: contraseña_satellite
    sat_org: organización_satellite
    sat_cv_name: nombre_vista_contenido
    sat_promote: 
    sat_env_name: satellite_env
  roles:
    - satellite6-content_views

Por defecto, la promoción seguirá la ruta del entorno y promoverá la vista de contenido a cada entorno hasta alcanzar el especificado con sat_env_name.

Por ejemplo, dada la siguiente ruta de entorno Biblioteca -> Desarrollo -> Pruebas -> Producción, en el ejemplo anterior, establecer sat_env_name: Producción hará lo siguiente:

  • Publicar nueva versión en Biblioteca
  • Promover nueva versión a entorno de Desarrollo
  • Promover nueva versión a entorno de Pruebas
  • Promover nueva versión a entorno de Producción

Solo promover una vista de contenido

Promover la última versión de una vista de contenido al entorno satellite_env.

---
- hosts: localhost
  connection: local
  vars:
    sat_hostname: satelliteurl.ejemplo.com
    sat_user: usuario_satellite
    sat_password: contraseña_satellite
    sat_org: organización_satellite
    sat_cv_name: nombre_vista_contenido
    sat_publish: no
    sat_promote: 
    sat_env_name: satellite_env
  roles:
    - satellite6-content_views

Eliminar vistas de contenido antiguas

Al trabajar con Satellite 6, se crean nuevas versiones de Vistas de Contenido con bastante frecuencia, especialmente al probar módulos de Puppet y tener que hacerlos disponibles para los clientes. Las versiones antiguas de las Vistas de Contenido son conservadas por Satellite por defecto para poder volver a esa versión específica en el futuro. Pero mantener demasiadas versiones antiguas hace que la interfaz de usuario de Satellite sea confusa y las tareas de fondo sean más lentas, ya que tienden a analizar más datos.

Por defecto, se mantienen todas las versiones de Vistas de Contenido que se promocionan a cualquier Entorno de Ciclo de Vida y las 5 versiones más nuevas no promovidas. El número de versiones mantenidas se puede ajustar utilizando la variable sat_keep_old_cv.

---
- hosts: localhost
  connection: local
  vars:
    sat_hostname: satelliteurl.ejemplo.com
    sat_user: usuario_satellite
    sat_password: contraseña_satellite
    sat_org: organización_satellite
    sat_cv_name: nombre_vista_contenido
    sat_publish: no
    sat_remove_old_cv: 
    sat_keep_old_cv: 5
  roles:
    - satellite6-content_views

Variables del Rol

Aquí hay una lista de todas las variables predeterminadas para este rol, que también están disponibles en defaults/main.yml.

Nombre de la Variable Requerido Predeterminado Opciones Comentarios
sat_hostname Ninguno N/A Nombre de host de Satellite, puede ser una IP o DNS
sat_user Ninguno N/A Nombre de usuario de Satellite, debe tener privilegios de administrador
sat_password Ninguno N/A Contraseña de Satellite para el nombre de usuario
sat_org Ninguno N/A Organización de Satellite en la que está la vista de contenido
sat_cv_name Ninguno N/A Nombre de la vista de contenido que queremos publicar
sat_publish no sí/no
verdadero/falso
Si se establece en sí, esto publicará una nueva versión
sat_remove_old_cv no no sí/no
verdadero/falso
Si se establece en sí, esto eliminará vistas de contenido antiguas, usa la variable sat_keep_old_cv para especificar cuántas vistas de contenido mantener
sat_keep_old_cv no 5 N/A Número de vistas de contenido antiguas a mantener
sat_promote no no sí/no
verdadero/falso
Si se establece en sí, esto promoverá la vista de contenido al entorno especificado (con la var sat_env_name)
sat_follow_env_path no sí/no
verdadero/falso
Si se establece en sí, esto promoverá a todos los entornos contenidos en la ruta del entorno hasta alcanzar sat_env_name (ver ejemplo Publicar y promover)
sat_env_name no Ninguno N/A Entorno al que promover
sat_wait_task_retries no 60 N/A Estas vars pueden aumentarse cuando la promoción de Satellite es larga. Dado que algunas vistas de contenido pueden tardar bastante tiempo en ser publicadas, puedes ajustar el número de reintentos y el retraso. El tiempo de espera predeterminado para una tarea es sat_wait_task_retries x sat_wait_task_delay. Por defecto, 60 x 30 = 1800 segundos, lo que significa que ansible esperará 30 minutos para que una vista de contenido termine de ser publicada/promovida/eliminada.
sat_wait_task_delay no 30 N/A Retraso entre dos verificaciones de tarea
sat_publish_description no Publicación automatizada desde Ansible N/A Un mensaje que aparecerá en la descripción de la versión
sat_promote_description no Promoción automatizada desde Ansible N/A Un mensaje que aparecerá en la descripción de la promoción

TODO

  • Publicar todas las vistas de contenido a la vez
  • Promover una versión específica de una vista de contenido
  • Publicar una vista de contenido solo si hay nuevos paquetes/módulos de puppet
  • Optimizar la búsqueda de tareas con filtros precisos
  • Agregar una serie de pruebas

Licencia

GPLv3

Información del Autor

Olivier Gerbron

Acerca del proyecto

Role to manage content views in RedHat Satellite

Instalar
ansible-galaxy install ogerbron.satellite6_content_views
Licencia
gpl-3.0
Descargas
4.7k
Propietario
EM 👨‍🔧 @doctolib 🇫🇷🇬🇧 Triathlete 🏊🏻‍♂️🚴🏻🏃🏻