ahuffman.satellite6_manage_content_views

Ansible 角色

ahuffman.satellite6_manage_content_views

一个用来管理发布和提升 Satellite6 内容视图及复合内容视图的 Ansible 角色。

角色变量

变量名称 必需 描述 默认值 类型
sat6_fqdn 你的 Satellite6 服务器的完全限定域名。 "" 字符串
sat6_user 具有查看/读取/删除/发布/提升内容视图权限的 Satellite6 用户。 "" 字符串
sat6_pass sat6_user 的密码。建议将此值加密存储在 Ansible vault 中。 "" 字符串
sat6_organization 存在内容视图的 Satellite6 组织名称。 "" 字符串
sat6_max_task_retries 检查 Satellite 6 中任务状态的最大尝试次数。与 sat6_retry_delay 一起使用。 "240" 整数
sat6_retry_delay 在重试 Satellite6 任务状态检查之间的延迟时间(秒)。与 sat6_max_task_retries 一起使用。例如,sat6_max_task_retries * sat6_retry_delay / 60 = 120(1 小时)。这是等待内容视图的发布、提升、创建或删除完成的时间。 "30" 整数
sat6_content_views 角色需要操作的内容视图列表。有关详细信息,请参见 sat6_content_views - 字典字段 部分。 [] 字典列表
sat6_content_view_show_stats 是否显示角色在内容视图上执行操作的摘要。 True 布尔

sat6_content_views - 字典字段

变量名称 必需 描述 默认值 类型
name 要管理的内容视图名称。 N/A 字符串
create_on_missing 尚未实现 False 布尔
publish_new_version 如果为 True 则发布新内容视图版本。 False 布尔
publish_description 在发布新版本的过程中对内容视图更改的描述。当与复合内容视图一起使用时,基础内容视图也将使用此描述发布(如果使用 components.publish_all: True)。 "" 字符串
publish_force_yum_metadata_regeneration 是否在发布新内容视图版本时强制生成 yum 元数据。 False 布尔
promote_to 要提升到的生命周期环境/路径列表。将跳过已经提升的列出环境。 [] 列表
promote_description 在提升内容视图过程中内容视图提升更改的描述。当与复合内容视图一起使用时,基础内容视图也将使用此描述提升(如果使用 components.publish_all: True)。 "" 字符串
promote_force_yum_metadata_regeneration 是否在将内容视图提升到生命周期环境/路径时强制生成 yum 元数据。 False 布尔
promote_remove_previous_version 在提升新版本内容视图时是否移除前一个内容视图版本。要求你已经将版本提升到之前版本已经提升的所有生命周期环境(即,前一个版本不能仍然与生命周期环境关联)。此限制在使用 Satellite6 API、UI 或 CLI 时相同。 False 布尔
keep_content_view_versions_count 要保留的内容视图版本数量。当指定 remove_content_view_versionspromote_remove_previous_version 时请勿使用,因为这可能会失败或产生半不可预测的结果。 '' 整数
promote_bypass_environment_path 强制提升到生命周期环境/路径,超出正常路径限制(即,跳过之前的路径/环境)。 False 布尔
remove_content_view_versions 移除指定的内容视图版本列表,这些版本对应于版本号(“版本”列的 Satellite6 内容视图的“版本”标签表)。这要求请求删除的版本当前不与任何生命周期环境关联,包括 Library,这也是 Satellite6 的要求。如果要删除与 Library 生命周期环境关联的内容视图版本,请先将其从该环境中移除。 [] 列表
components 复合内容视图的设置。仅在处理复合内容视图时需要。 n/a 字典

sat6_content_views.components - 字典字段

变量名称 必需 描述 默认值 类型
publish_all 是否在复合内容视图中发布所有内容视图的新版本。 False 布尔
content_views 要与复合内容视图一起发布的内容视图版本名称和版本的列表。 n/a 字典列表

sat6_content_views.components.content_views - 字典字段

变量名称 必需 描述 默认值 类型
name 复合内容视图中的内容视图名称。 n/a 字符串
version 在复合内容视图中发布复合内容视图所用的内容视图版本号。 n/a 字符串

特殊统计报告变量

变量名称 描述 类型
sat6_content_view_stats 此角色已完成的所有操作的摘要。这允许在此角色外部的任务,例如发送电子邮件通知或将结果记录到其他地方,以获取摘要值。 列表

Playbook 示例用例

---
- name: "自动化 Satellite6 内容视图发布和提升"
  hosts: "localhost"
  gather_facts: False
  tasks:
    - name: "管理内容视图"
      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: "来自 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"
          # 在复合视图中发布所有内容视图的新版本,不移除之前的复合内容视图版本,并提升到 Dev
          - name: "RHEL7 composite"
            publish_new_version: True
            components:
              publish_all: True
            promote_to:
              - "RHEL7-Dev"
          # 在复合内容视图中发布特定的内容视图版本,并附带发布和提升描述,移除之前的复合内容视图版本,并提升到两个生命周期环境
          - name: "RHEL7 composite2"
            publish_new_version: True
            publish_description: "由 Ansible 发布"
            promote_description: "由 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"
          # 仅保留 2 个内容视图版本,并移除其余版本(可以根据需要与提升和发布功能一起使用)
          - name: "RHEL7"
            keep_content_view_versions_count: "2"

许可证

MIT

作者信息

Andrew J. Huffman

安装
ansible-galaxy install ahuffman.satellite6_manage_content_views
许可证
mit
下载
304