ahuffman.satellite6_manage_content_views
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_versions 或 promote_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"
许可证
作者信息
关于项目
An Ansible Role to manage Satellite 6 Content Views
安装
ansible-galaxy install ahuffman.satellite6_manage_content_views
许可证
mit
下载
304