oasis_roles.rhsm
此角色已弃用:请使用 oasis_roles.system Ansible 集合中的版本
RHSM
此角色将使用 subscription-manager
注册或注销系统,并可启用或禁用通过订阅提供的仓库。
要求
- Ansible 2.8或更高版本
- Red Hat Enterprise Linux 7或等效版本
- 有效的 Red Hat 订阅
角色变量
目前支持以下变量:
订阅管理
本节中的变量直接对应于 redhat_subscription 模块 中可用的参数。
rhsm_username
- access.redhat.com 或 Satellite (RHSM 提供者) 的用户名rhsm_password
- access.redhat.com 或 Satellite (RHSM 提供者) 的密码rhsm_org_id
- RHSM 提供者组织 IDrhsm_activationkey
- RHSM 提供者激活密钥rhsm_server_hostname
- 备用 RHSM 提供者的主机名rhsm_server_insecure
- 连接到 RHSM 提供者时禁用证书验证(布尔值,默认值为假)rhsm_baseurl
- 如果不使用 Red Hat CDN,则使用备用包仓库的基本 URLrhsm_server_proxy_hostname
- HTTP 代理主机名rhsm_server_proxy_port
- HTTP 代理端口rhsm_server_proxy_user
- HTTP 代理用户名rhsm_server_proxy_password
- HTTP 代理密码rhsm_auto_attach
- 如果注册成功,自动消耗可用的订阅(布尔值,默认值为假,需要 ansible >= 2.5)rhsm_environment
- 在目标组织中以特定环境注册。(与 Red Hat Satellite 6 或 Katello 一起使用)rhsm_pool
- 要消耗的特定池名称(可以使用正则表达式作为输入)。优先使用rhsm_pool_ids
,因为它更快。与rhsm_pool_ids
互斥。rhsm_pool_ids
- 要消耗的池 ID 列表,或包含池 ID 作为键和要消耗的资格数量作为值的字典列表。与rhsm_pool
互斥。rhsm_consumer_type
- 要注册的单元类型(默认为“system”)rhsm_consumer_name
- 要注册的系统名称(默认为系统主机名)rhsm_consumer_id
- 现有消费者 ID,以恢复之前的注册rhsm_force_register
- 即使系统已注册,仍注册该系统(布尔值,默认值为假)rhsm_syspurpose
- 用于填充 RHEL 8 系统上的syspurpose.json
文件的属性字典 (需要 ansible>=2.9)rhsm_unregister
- 如果为真,则注销系统。系统将被注销。如果为真,则不会尝试系统注册。(布尔值,默认值为假)
仓库管理
注意:
使用与仓库管理相关的变量可能导致角色报告失败,如果系统未注册。订阅任务在仓库管理任务之前运行,以确保在处理这些变量之前处于正确的注册状态。
rhsm_release
- 设置要使用的操作系统发行版本。请记得在值看起来像浮点数的发行版版本上加引号,例如,将值设置为类似"7.4"
的内容,而不是7.4
。值如6Server
和7Server
不需要加引号。rhsm_release_unset
- 取消设置要使用的操作系统发行版本(布尔值,默认值为假)rhsm_repositories
- 指定要启用/禁用的仓库,具体如下
如果同时设置了 rhsm_release
和 rhsm_release_unset
,将先执行 rhsm_release_unset
,然后再设置 rhsm_release
,并且在设置发行版时此角色将不再是幂等的。
要启用/禁用特定仓库:
rhsm_repositories:
enabled:
- enabled-repository
disabled:
- disabled-repository
在 disabled
中的仓库列表在处理 enabled
之前会被处理。
要幂等地只启用特定仓库并禁用所有其他仓库,支持将 disabled
设置为 '*'
:
rhsm_repositories:
disabled:
- '*'
enabled:
- enabled-repository-1
- enabled-repository-2
注意,仓库名称中的通配符是被支持的,例如:
rhsm_repositories:
disabled:
- '*'
enabled:
- 'enabled-repository*'
要设置要使用的 RHEL 仓库的特定次要版本:
rhsm_release: "7.1"
要默认使用最新可用的次要版本仓库:
rhsm_release_unset: true
依赖关系
需要支持安装和使用 subscription-manager
的系统,例如 Red Hat Enterprise Linux。
需要提升权限(sudo)才能使此角色正常工作。
示例剧本
此示例使用用户名和密码注册系统,自动附加,启用三个 RHEL 7 仓库,并显式将启用的仓库的发布版本设置为“7Server”。
- hosts: rhsm-servers
roles:
- role: rhsm
vars:
rhsm_username: your_username
rhsm_password: your_password
rhsm_auto_attach: true
rhsm_repositories:
only:
- rhel-7-server-rpms
- rhel-7-server-optional-rpms
- rhel-7-server-extras-rpms
rhsm_release: 7Server
此示例使用组织 ID 和激活密钥将系统注册到 Red Hat Satellite 6,并通过 ID 附加到特定池。
- hosts: rhsm-servers
roles:
- role: rhsm
vars:
rhsm_org_id: your_organization_id
rhsm_activationkey: activation_key
rhsm_pool_ids:
- poolid
rhsm_server_hostname: your.satellite6.hostname
为使 HTTPS 在作为 RHSM 提供者时正常工作,应首先安装 Satellite 6 或 Katello 主机的 CA 证书。
变化
rhsm_repositories.only
已弃用
在 Ansible 2.8 中引入 purge
参数之前,为了在启用某些仓库并禁用所有其他仓库时允许幂等操作,此角色支持以下语法,但现在已弃用:
rhsm_repositories:
only:
- enabled-repository-1
- enabled-repository-2
已添加对更惯用的 subscription-manager 使用的支持,因此此操作现在是幂等的:
rhsm_repositories:
disabled:
- '*'
enabled:
- enabled-repository-1
- enabled-repository-2
因此,为了“只有一种 -- 而且最好只有一种 -- 明显的方式来做到这一点”,rhsm_repositories
字典中的 only
键已弃用,未来版本中可能会移除对它的支持。为了向后兼容,目前仍在此角色中维护。
请注意,only
的使用仍与 rhsm_repositories
字典中的 enabled
或 disabled
互斥。
需要 Ansible >= 2.8
此角色使用了 rhsm_repository
Ansible 模块中的新功能。如果使用较旧版本的 Ansible,可以使用此角色的 2.0.0 版本。
# 示例 requirements.yaml 来安装版本 2.0.0
- name: oasis_roles.rhsm
version: 2.0.0
许可证
作者信息
Sean Myers semyers@redhat.com