ahuffman.satellite6_manage_content_views

ahuffman.satellite6_manage_content_views

This is an Ansible role for managing the publication and promotion of content views and composite content views in Satellite6.

Role Variables

Variable Name Required Description Default Value Type
sat6_fqdn yes The full domain name of your Satellite6 server. "" string
sat6_user yes Username for Satellite6 with permissions to manage content views (view, read, delete, publish, promote). "" string
sat6_pass yes Password for the sat6_user. It's best to store this securely in an Ansible vault. "" string
sat6_organization yes Name of the Satellite6 organization where the content views are located. "" string
sat6_max_task_retries no Maximum retry attempts to check a task’s status in Satellite6. "240" integer
sat6_retry_delay no Delay time in seconds before retrying the task status checks in Satellite6. "30" integer
sat6_content_views yes List of content views to manage with this role. Check the sat6_content_views - Dictionary fields section. [] list of dictionaries
sat6_content_view_show_stats no Whether to display a summary of actions performed on content views. True boolean

sat6_content_views - Dictionary fields

Variable Name Required Description Default Value Type
name yes Name of the content view to manage. N/A string
create_on_missing no Not implemented yet False boolean
publish_new_version no Set to True to publish a new version of the content view. False boolean
publish_description no Description of changes when publishing a new version. "" string
publish_force_yum_metadata_regeneration no Whether to force regeneration of yum metadata when publishing. False boolean
promote_to no List of environments to promote the new content view to. [] list
promote_description no Description of changes when promoting a content view. "" string
promote_force_yum_metadata_regeneration no Whether to force regeneration of yum metadata when promoting to an environment. False boolean
promote_remove_previous_version no Whether to remove the old version of the content view when promoting a new version. False boolean
keep_content_view_versions_count no Number of content view versions to keep. Use with caution with other options to avoid issues. '' integer
promote_bypass_environment_path no Bypass normal path restrictions when promoting to a lifecycle environment. False boolean
remove_content_view_versions no List of content view versions to remove. [] list
components yes Settings for composite content views — only needed for composite views. n/a dictionary

sat6_content_views.components - Dictionary fields

Variable Name Required Description Default Value Type
publish_all yes Set to True to publish new versions of all content views in a composite view. False boolean
content_views no List of content view names and versions for the composite content view. n/a list of dictionaries

sat6_content_views.components.content_views - Dictionary fields

Variable Name Required Description Default Value Type
name yes Name of the content view in the composite view. n/a string
version yes Version number of the content view to publish with in the composite view. n/a string

Special Statistical Reporting Variable

Variable Name Description Type
sat6_content_view_stats Summary of all actions completed by this role. Useful for external tasks (e.g., email). list

Playbook Example Use-Cases

---
- name: "Automated Satellite6 content view publish and promote"
  hosts: "localhost"
  gather_facts: False
  tasks:
    - name: "Manage Content Views"
      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: "Latest content from Red Hat CDN"
            promote_to:
              - "RHEL7-Prod"
            promote_force_yum_metadata_regeneration: True
            promote_bypass_environment_path: True
          - name: "RHEL6"
            publish_new_version: True
            promote_to:
              - "RHEL6-Dev"
              - "RHEL6-QA"
              - "RHEL6-Prod"
            promote_remove_previous_version: True
          - name: "RHEL7-HA Clustering"
            remove_content_view_versions:
              - "1.0"
              - "2.0"
              - "3.0"
          - name: "RHEL7 composite"
            publish_new_version: True
            components:
              publish_all: True
            promote_to:
              - "RHEL7-Dev"
          - name: "RHEL7 composite2"
            publish_new_version: True
            publish_description: "Published by Ansible"
            promote_description: "Promoted by 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"
          - name: "RHEL7"
            keep_content_view_versions_count: "2"

License

MIT

Author Information

Andrew J. Huffman

Informazioni sul progetto

An Ansible Role to manage Satellite 6 Content Views

Installa
ansible-galaxy install ahuffman.satellite6_manage_content_views
Licenza
mit
Download
304
Proprietario