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
- Идентификатор организации поставщика RHSMrhsm_activationkey
- ключ активации поставщика RHSMrhsm_server_hostname
- имя хоста для альтернативного поставщика RHSMrhsm_server_insecure
- отключение проверки сертификата при подключении к поставщику RHSM (логическое значение, по умолчанию false)rhsm_baseurl
- альтернативный базовый URL репозиториев пакетов, если не используется Red Hat CDNrhsm_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
Лицензия
Информация об авторе
Шон Майерс semyers@redhat.com
ansible-galaxy install oasis-roles/rhsm