0
2

More than 3 years have passed since last update.

RHELの register と auto-subscribe がエラーとなる様になった > 解消

Last updated at Posted at 2020-08-15

解消?

2020/08/18には問題が収まっている様子。
generic/rhel8 3.0.20
にて確認

問題

Red Hat Enterprise Linux Server VERSION 7.8 (Maipo) 環境にて、今まで成功していたサブスクリプションの登録が失敗する様になった。
2020/08/14ごろから?

対象

少なくとも以下で確認されたが、どのレベルでも同様と思える

  • vagrant box:
    • generic/rhel7 (virtualbox, 3.0.6)
    • generic/rhel7 (virtualbox, 3.0.24)
    • generic/rhel8 (virtualbox, 3.0.6)

RedHat公式のboxでない為の可能性もあるが。。

失敗する様になったAnsible Playbookのtask例

- name: Register by username/password and auto-subscribe to available content.
  redhat_subscription:
    username: "{{ lookup('env', 'REDHAT_SUBSCRIPTION_USERNAME' ) }}"
    password: "{{ lookup('env', 'REDHAT_SUBSCRIPTION_PASSWORD' ) }}"
    auto_attach: true
    force_register: true
  register: r
  until: r is succeeded

参考
https://qiita.com/hiroyuki_onodera/items/85c06d0d7a15aaea97a6

subscription-manager registerコマンドレベルで失敗

切り分けを行うと、subscription-manager registerコマンドレベルで以下の様に失敗していた。

RHEL7の場合

# subscription-manager register --username=USERNAME --password=PASSWORD --auto-attach 
Registering to: subscription.rhsm.redhat.com:443/subscription
The system has been registered with ID: 101cd601-31cf-4dd2-9ba8-a578c8c7ed92
The registered system name is: haicu3-rhel7
Traceback (most recent call last):
  File "/sbin/subscription-manager", line 9, in <module>
    load_entry_point('subscription-manager==1.24.26', 'console_scripts', 'subscription-manager')()
  File "/usr/lib64/python2.7/site-packages/subscription_manager/scripts/subscription_manager.py", line 86, in main
    return managercli.ManagerCLI().main()
  File "/usr/lib64/python2.7/site-packages/subscription_manager/managercli.py", line 2989, in main
    ret = CLI.main(self)
  File "/usr/lib64/python2.7/site-packages/subscription_manager/cli.py", line 183, in main
    return cmd.main()
  File "/usr/lib64/python2.7/site-packages/subscription_manager/managercli.py", line 536, in main
    return_code = self._do_command()
  File "/usr/lib64/python2.7/site-packages/subscription_manager/managercli.py", line 1398, in _do_command
    profile_mgr.update_check(self.cp, consumer['uuid'], True)
  File "/usr/lib64/python2.7/site-packages/subscription_manager/cache.py", line 468, in update_check
    return CacheManager.update_check(self, uep, consumer_uuid, force)
  File "/usr/lib64/python2.7/site-packages/subscription_manager/cache.py", line 183, in update_check
    raise Exception(_("Error updating system data on the server, see /var/log/rhsm/rhsm.log "
Exception: Error updating system data on the server, see /var/log/rhsm/rhsm.log for more details.

# echo $?
1

RedHatのサイトにて確認すると、システムの登録はされているが アタッチ済みサブスクリプション数 0 の状態であり、結果として yum repo が使用できない。

回避

registerはされているので、サブスクリプションのアタッチのみ別途実施

subscription-managerコマンドによる回避

RHEL7にて確認

# subscription-manager attach --auto
Installed Product Current Status:
Product Name: Red Hat Enterprise Linux Server
Status:       Subscribed

# echo $?
0

これでyumなどが使用できる様になった。
繰り返し実施しても正常終了

# subscription-manager attach --auto
All installed products are covered by valid entitlements. No need to update subscriptions at this time.
Installed Product Current Status:
Product Name: Red Hat Enterprise Linux Server
Status:       Subscribed

# echo $?
0

Ansible Playbookのtaskにおける回避例

- name: Register by username/password and auto-subscribe to available content.
  shell: |
    subscription-manager register \
    --username={{ lookup('env', 'REDHAT_SUBSCRIPTION_USERNAME' ) }} \
    --password={{ lookup('env', 'REDHAT_SUBSCRIPTION_PASSWORD' ) }}
    subscription-manager attach --auto
  register: r
  until: r is succeeded
0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2