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 提供者组织 ID
  • rhsm_activationkey - RHSM 提供者激活密钥
  • rhsm_server_hostname - 备用 RHSM 提供者的主机名
  • rhsm_server_insecure - 连接到 RHSM 提供者时禁用证书验证(布尔值,默认值为假)
  • rhsm_baseurl - 如果不使用 Red Hat CDN,则使用备用包仓库的基本 URL
  • rhsm_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。值如 6Server7Server 不需要加引号。
  • rhsm_release_unset - 取消设置要使用的操作系统发行版本(布尔值,默认值为假)
  • rhsm_repositories - 指定要启用/禁用的仓库,具体如下

如果同时设置了 rhsm_releaserhsm_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 字典中的 enableddisabled 互斥。

需要 Ansible >= 2.8

此角色使用了 rhsm_repository Ansible 模块中的新功能。如果使用较旧版本的 Ansible,可以使用此角色的 2.0.0 版本。

# 示例 requirements.yaml 来安装版本 2.0.0
- name: oasis_roles.rhsm
  version: 2.0.0

许可证

GPLv3

作者信息

Sean Myers semyers@redhat.com

关于项目

Role to automate subscription-manager usage.

安装
ansible-galaxy install oasis_roles.rhsm
许可证
gpl-3.0
下载
160.5k
拥有者