rhsm

Эта роль устарела: Пожалуйста, используйте версию из oasis_roles.system Ansible Collection

Статус сборки

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
  • rhsm_activationkey - ключ активации поставщика RHSM
  • rhsm_server_hostname - имя хоста для альтернативного поставщика RHSM
  • rhsm_server_insecure - отключение проверки сертификата при подключении к поставщику RHSM (логическое значение, по умолчанию false)
  • rhsm_baseurl - альтернативный базовый URL репозиториев пакетов, если не используется Red Hat CDN
  • rhsm_server_proxy_hostname - имя хоста HTTP-прокси
  • rhsm_server_proxy_port - порт HTTP-прокси
  • rhsm_server_proxy_user - имя пользователя HTTP-прокси
  • rhsm_server_proxy_password - пароль HTTP-прокси
  • rhsm_auto_attach - автоматически использовать доступные подписки, если регистрация успешна (логическое значение, по умолчанию false, требует ansible >= 2.5)
  • rhsm_environment - зарегистрироваться в конкретной среде в целевой организации. (Используется с Red Hat Satellite 6 или Katello)
  • rhsm_pool - конкретное имя пула для использования (можно использовать regex). Используйте rhsm_pool_ids, когда это возможно, так как это значительно быстрее. Взаимно исключается с rhsm_pool_ids
  • rhsm_pool_ids - список идентификаторов пулов для использования или список словарей с идентификаторами пулов в качестве ключей и количеством прав на использование в качестве значений. Взаимно исключается с rhsm_pool
  • rhsm_consumer_type - тип единицы для регистрации (по умолчанию "system")
  • rhsm_consumer_name - имя системы для регистрации (по умолчанию имя хоста системы)
  • rhsm_consumer_id - существующий идентификатор потребителя для возобновления предыдущей регистрации
  • rhsm_force_register - зарегистрировать систему, даже если она уже зарегистрирована (логическое значение, по умолчанию false)
  • rhsm_syspurpose - Словарь атрибутов для заполнения файла syspurpose.json на системах RHEL 8 (Требуется ansible>=2.9)
  • rhsm_unregister - аннулировать регистрацию системы, если true. Система будет аннулирована. Попытка регистрации системы не будет проведена, если это true. (логическое значение, по умолчанию false)

Управление репозиториями

Примечание:

Использование переменных, связанных с управлением репозиториями, может привести к ошибкам, если система не зарегистрирована. Задачи подписки выполняются до задач управления репозиториями, чтобы обеспечить правильный статус регистрации перед обработкой этих переменных.

  • rhsm_release - Установите, какую версию операционной системы использовать. Не забудьте заключить в кавычки версии, которые выглядят как числа с плавающей запятой для парсера YAML, например: установите значение на что-то вроде "7.4", а не 7.4. Значения типа 6Server и 7Server не требуют кавычек.
  • rhsm_release_unset - Снять установленную версию операционной системы для использования (логическое значение, по умолчанию false)
  • 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: ваш_имя_пользователя
    rhsm_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

Этот пример регистрирует систему в Red Hat Satellite 6, используя идентификатор организации и ключ активации, и прикрепляется к конкретному пулу по ID.

- hosts: rhsm-servers
  roles:
    - role: rhsm
  vars:
    rhsm_org_id: ваш_идентификатор_организации
    rhsm_activationkey: ключ_активации
    rhsm_pool_ids:
      - poolid
    rhsm_server_hostname: ваш.satellite6.hostname

Сертификаты CA для хоста Satellite 6 или Katello должны быть установлены сначала, чтобы HTTPS работал при использовании в качестве поставщика RHSM.

Изменения

rhsm_repositories.only устарел

Перед введением параметра purge в модуль rhsm_repository в Ansible 2.8, для обеспечения идемпотентной работы при включении некоторых репозиториев и отключении всех остальных поддерживался следующий синтаксис, который теперь устарел:

rhsm_repositories:
  only:
    - enabled-repository-1
    - enabled-repository-2

Поддержка более идиоматического использования subscription-manager была добавлена в роль, поэтому эта операция теперь идемпотентна:

rhsm_repositories:
  disabled:
    - '*'
  enabled:
    - enabled-repository-1
    - enabled-repository-2

В результате, чтобы была "одна - и, желательно, только одна - очевидная способ выполнить это," ключ only в словаре rhsm_repositories устарел, и поддержка его может быть удалена в будущем выпуске этой роли. В настоящее время он поддерживается в этой роли для обратной совместимости.

Обратите внимание, что использование only по-прежнему взаимно исключается с использованием enabled или disabled в словаре rhsm_repositories.

Требуется Ansible >= 2.8

В этой роли используются новые функции модуля rhsm_repository Ansible. Если используется более старая версия Ansible, можно использовать версию 2.0.0 этой роли.

# пример requirements.yaml для установки версии 2.0.0
- name: oasis_roles.rhsm
  version: 2.0.0

Лицензия

GPLv3

Информация об авторе

Шон Майерс semyers@redhat.com

О проекте

Role to automate subscription-manager usage.

Установить
ansible-galaxy install oasis-roles/rhsm
Лицензия
gpl-3.0
Загрузки
160259
Владелец