ogerbron.satellite6_content_views
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: sí
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: sí
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: sí
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 |
sí | Ninguno | N/A | Nombre de host de Satellite, puede ser una IP o DNS |
sat_user |
sí | Ninguno | N/A | Nombre de usuario de Satellite, debe tener privilegios de administrador |
sat_password |
sí | Ninguno | N/A | Contraseña de Satellite para el nombre de usuario |
sat_org |
sí | Ninguno | N/A | Organización de Satellite en la que está la vista de contenido |
sat_cv_name |
sí | Ninguno | N/A | Nombre de la vista de contenido que queremos publicar |
sat_publish |
no | sí | 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í | 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
Role to manage content views in RedHat Satellite
ansible-galaxy install ogerbron.satellite6_content_views