ahuffman.satellite6_manage_content_views

Rol de Ansible

ahuffman.satellite6_manage_content_views

Un rol de Ansible para gestionar la publicación y promoción de vistas de contenido de Satellite6 y vistas de contenido compuestas.

Variables del Rol

Nombre de la Variable Requerido Descripción Valor por Defecto Tipo
sat6_fqdn Nombre de dominio totalmente calificado de tu servidor Satellite6. "" cadena
sat6_user Usuario de Satellite6 con derechos para ver/leer/eliminar/publicar/promover vistas de contenido. "" cadena
sat6_pass Contraseña del sat6_user. Se recomienda almacenar este valor encriptado en un vault de Ansible. "" cadena
sat6_organization Nombre de la Organización de Satellite6 donde residen las vistas de contenido. "" cadena
sat6_max_task_retries no Número máximo de intentos para verificar el estado de una tarea en Satellite 6. Se usa con sat6_retry_delay "240" entero
sat6_retry_delay no Tiempo de espera en segundos entre los intentos de verificar el estado de la tarea de Satellite6. Se usa con sat6_max_task_retries. Por ejemplo, sat6_max_task_retries * sat6_retry_delay / 60 = 120 (1 hora). Así es como esperaremos que se complete una publicación, promoción, creación o eliminación de una vista de contenido. "30" entero
sat6_content_views Lista de vistas de contenido sobre las que actuar con el rol. Consulta la sección sat6_content_views - Campos de diccionario para más detalles. [] lista de diccionarios
sat6_content_view_show_stats no Si mostrar o no un resumen de las acciones que completó el rol en tus vistas de contenido True booleano

sat6_content_views - Campos de Diccionario

Nombre de la Variable Requerido Descripción Valor por Defecto Tipo
name Nombre de la vista de contenido a gestionar. N/A cadena
create_on_missing no No implementado aún False booleano
publish_new_version no Publica una nueva versión de la vista de contenido si es True. False booleano
publish_description no Descripción de los cambios en la vista de contenido durante la publicación de una nueva versión. Cuando se usa con una vista de contenido compuesta, las vistas de contenido subyacentes también se publicarán con esta descripción si se usa components.publish_all: True. "" cadena
publish_force_yum_metadata_regeneration no Si forzar o no la regeneración de metadatos de yum al publicar una nueva versión de vista de contenido False booleano
promote_to no Lista de entornos/rutas de ciclo de vida para promover la nueva vista de contenido. Saltaremos la promoción a cualquier entorno enumerado donde la vista de contenido ya ha sido promovida. [] lista
promote_description no Descripción de los cambios en la promoción de la vista de contenido durante la promoción. Cuando se usa con una vista de contenido compuesta, las vistas de contenido subyacentes también se promoverán con esta descripción si se usa components.publish_all: True. "" cadena
promote_force_yum_metadata_regeneration no Si forzar o no la regeneración de metadatos de yum al promover una vista de contenido a un entorno/ruta del ciclo de vida. False booleano
promote_remove_previous_version no Si eliminar o no la versión anterior de la vista de contenido al promover una nueva versión. Esto requiere que ya hayas promovido versiones a todos los entornos de ciclo de vida donde la versión anterior había sido promovida (es decir, la versión anterior no puede seguir asociada a entornos de ciclo de vida). Esta restricción es la misma si utilizas la API de Satellite6, UI o CLI. False booleano
keep_content_view_versions_count no Número de versiones de la vista de contenido a mantener. No usar al especificar remove_content_view_versions o promote_remove_previous_version, ya que probablemente fallará o creará resultados semi-impredecibles. '' entero
promote_bypass_environment_path no Forzar la promoción a un entorno/ruta de ciclo de vida fuera de las restricciones normales de rutas (es decir, saltar las rutas/entornos anteriores) False booleano
remove_content_view_versions no Eliminar lista de versiones específicas de vistas de contenido, que corresponden al número de versión (columna "Versión" de la pestaña "Versiones" de la vista de contenido de Satellite6). Esto requiere que las versiones solicitadas para eliminar no estén asociadas con ningún entorno de ciclo de vida actualmente, incluyendo Library, que es un requisito de Satellite6. Si deseas eliminar una versión de vista de contenido asociada con el entorno de ciclo de vida Library, elimínala de ese entorno primero. [] lista
components Configuraciones para vistas de contenido compuestas. Requerido solo cuando se trabaja con vistas de contenido compuestas n/a diccionario

sat6_content_views.components - Campos de Diccionario

Nombre de la Variable Requerido Descripción Valor por Defecto Tipo
publish_all Si publicar o no nuevas versiones de todas las vistas de contenido en una vista de contenido compuesta False booleano
content_views no Lista de nombres y versiones de vistas de contenido para publicar la vista de contenido compuesta n/a lista de diccionarios

sat6_content_views.components.content_views - Campos de Diccionario

Nombre de la Variable Requerido Descripción Valor por Defecto Tipo
name Nombre de la vista de contenido en la vista de contenido compuesta n/a cadena
version Número de versión de la vista de contenido en la vista compuesta para publicar la vista compuesta n/a cadena

Variable Especial de Reporte Estadístico

Nombre de la Variable Descripción Tipo
sat6_content_view_stats Un resumen de todas las acciones completadas por este rol. Esto permite que tareas fuera de este rol, como una tarea para enviar una notificación por correo electrónico o registrar resultados en otro lugar, obtengan los valores del resumen. lista

Ejemplos de Uso en Playbook

---
- name: "Publicación y promoción automatizada de vistas de contenido de Satellite6"
  hosts: "localhost"
  gather_facts: False
  tasks:
    - name: "Gestionar Vistas de Contenido"
      vars_files:
        - "vars/secrets.yml"
      include_role:
        name: "ansible-satellite6_manage_content_views"
      vars:
        sat6_fqdn: "huff-satellite.huffnet.org"
        sat6_user: "admin"
        sat6_pass: "{{ vaulted_sat6_pass }}"
        sat6_organization: "Huffnet"
        sat6_content_views:
          - name: "RHEL7"
            publish_new_version: True
            publish_description: "Último contenido de Red Hat CDN"
            promote_to:
              - "RHEL7-Prod"
            promote_force_yum_metadata_regeneration: True
            promote_bypass_environment_path: True
          # Publicar nueva versión, promover a todos los entornos del ciclo de vida, eliminar antigua versión de vista de contenido
          - name: "RHEL6"
            publish_new_version: True
            promote_to:
              - "RHEL6-Dev"
              - "RHEL6-QA"
              - "RHEL6-Prod"
            promote_remove_previous_version: True
          # Eliminar versiones específicas de vistas de contenido
          - name: "RHEL7-HA Clustering"
            remove_content_view_versions:
              - "1.0"
              - "2.0"
              - "3.0"
          # publicar nuevas versiones de todas las vistas de contenido en una vista compuesta y no eliminar la versión anterior de la vista compuesta, y promover a Dev
          - name: "RHEL7 composite"
            publish_new_version: True
            components:
              publish_all: True
            promote_to:
              - "RHEL7-Dev"
          # publicar versiones específicas de vistas de contenido en una vista compuesta con descripciones de publicación y promoción, eliminar la versión anterior de la vista compuesta, y promover a 2 entornos del ciclo de vida
          - name: "RHEL7 composite2"
            publish_new_version: True
            publish_description: "Publicado por Ansible"
            promote_description: "Promovido por Ansible"
            promote_remove_previous_version: True
            components:
              publish_all: False
              content_views:
                - name: "RHEL7"
                  version: "3.0"
                - name: "RHEL7-HA Clustering"
                  version: "5.0"
            promote_to:
              - "RHEL7-Dev"
              - "RHEL7-QA"
          # Mantener solo 2 versiones de vista de contenido y eliminar el resto (se puede usar con funciones de promoción y publicación si se desea)
          - name: "RHEL7"
            keep_content_view_versions_count: "2"

Licencia

MIT

Información del Autor

Andrew J. Huffman

Acerca del proyecto

An Ansible Role to manage Satellite 6 Content Views

Instalar
ansible-galaxy install ahuffman.satellite6_manage_content_views
Licencia
mit
Descargas
304
Propietario