Note: This bug is displayed in read-only format because
the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Description of problem:
After a consumer is deleted on the server, a call to subscription-manager list --avail will report "Consumer UUID has been deleted". Then after restoring the /etc/pki/consumer.old, the same call to subscription-manager list --avail throws "argument of type 'NoneType' is not iterable".
Version-Release number of selected component (if applicable):
[root@jsefler-r63-server ~]# rpm -q subscription-manager
subscription-manager-0.99.8-1.git.8.cc12bc5.el6.x86_64
[root@jsefler-f14-candlepin candlepin]# git show-ref | grep master
f8a4c7e8da230a0de0723f7ef185bbf5e3609397 refs/heads/master
How reproducible:
Steps to Reproduce:
[root@jsefler-r63-server ~]# subscription-manager register --username testuser1 --password password --org admin --force
The system has been registered with id: 8511a2a6-c2ec-4612-8186-af932a3b97cf
[root@jsefler-r63-server ~]# subscription-manager identity
Current identity is: 8511a2a6-c2ec-4612-8186-af932a3b97cf
name: jsefler-r63-server.usersys.redhat.com
org name: Admin Owner
org id: 8a90f81435c17da90135c17e01240007
[root@jsefler-r63-server ~]# grep hostname /etc/rhsm/rhsm.conf
# Server hostname:
hostname=jsefler-f14-candlepin.usersys.redhat.com
proxy_hostname=
[root@jsefler-r63-server ~]# curl -k -u testuser1:password --request DELETE https://jsefler-f14-candlepin.usersys.redhat.com:8443/candlepin/consumers/8511a2a6-c2ec-4612-8186-af932a3b97cf
[root@jsefler-r63-server ~]# subscription-manager identity
Consumer 8511a2a6-c2ec-4612-8186-af932a3b97cf has been deleted
[root@jsefler-r63-server ~]# subscription-manager list --avail
Consumer 8511a2a6-c2ec-4612-8186-af932a3b97cf has been deleted
[root@jsefler-r63-server ~]# ls /etc/pki/
CA consumer entitlement java nssdb product rpm-gpg rsyslog tls
[root@jsefler-r63-server ~]# service rhsmcertd restart
Stopping rhsmcertd [ OK ]
Starting rhsmcertd 240 1440 [ OK ]
[root@jsefler-r63-server ~]# ls /etc/pki/
CA consumer.old entitlement java nssdb product rpm-gpg rsyslog tls
[root@jsefler-r63-server ~]# mv /etc/pki/consumer.old/ /etc/pki/consumer
[root@jsefler-r63-server ~]# subscription-manager identity
Consumer 8511a2a6-c2ec-4612-8186-af932a3b97cf has been deleted
[root@jsefler-r63-server ~]# subscription-manager list --avail
argument of type 'NoneType' is not iterable
[root@jsefler-r63-server ~]#
^^^ expected that last call to subscription-manager list --avail to again report "Consumer 8511a2a6-c2ec-4612-8186-af932a3b97cf has been deleted"
[root@jsefler-r63-server ~]# tail -f /var/log/rhsm/rhsm.log
2012-02-28 15:05:19,290 [INFO] @connection.py:384 - Using certificate authentication: key = /etc/pki/consumer/key.pem, cert = /etc/pki/consumer/cert.pem, ca = /etc/rhsm/ca/, insecure = False
2012-02-28 15:05:19,290 [INFO] @connection.py:395 - Connection Built: host: jsefler-f14-candlepin.usersys.redhat.com, port: 8443, handler: /candlepin
2012-02-28 15:05:19,292 [INFO] @cache.py:154 - Checking current system info against cache: /var/lib/rhsm/facts/facts.json
2012-02-28 15:05:19,293 [ERROR] @cache.py:144 - Unable to read cache: /var/lib/rhsm/facts/facts.json
2012-02-28 15:05:19,787 [DEBUG] @cert_sorter.py:106 - Sorting product and entitlement cert status for: 2012-02-28 20:05:19.787068+00:00
2012-02-28 15:05:19,833 [DEBUG] @cert_sorter.py:159 - Installed product IDs: ['100000000000060', '1000000000000023', '1144', '100000000000011', '100000000000010', '100000000000013', '100000000000012', '100000000000015', '27060', '69', '917571', '1', '37069', '37068', '37080', '37065', '37067', '37060', '37062', '100000000000006', '100000000000007', '100000000000004', '100000000000005', '100000000000002', '100000000000003', '100000000000000', '100000000000001', '100000000000020', '100000000000022', '100000000000009', '100000000000008', '37090', '37070']
2012-02-28 15:05:19,834 [DEBUG] @cert_sorter.py:112 - valid entitled products: []
2012-02-28 15:05:19,834 [DEBUG] @cert_sorter.py:113 - expired entitled products: []
2012-02-28 15:05:19,834 [DEBUG] @cert_sorter.py:114 - partially entitled products: []
2012-02-28 15:05:19,834 [DEBUG] @cert_sorter.py:115 - unentitled products: ['100000000000006', '1000000000000023', '1144', '100000000000011', '100000000000010', '100000000000013', '100000000000012', '100000000000015', '27060', '69', '37090', '1', '37069', '37068', '37080', '37065', '37067', '37060', '37062', '100000000000060', '100000000000007', '100000000000004', '100000000000005', '100000000000002', '100000000000003', '100000000000000', '100000000000001', '100000000000020', '100000000000022', '100000000000009', '100000000000008', '917571', '37070']
2012-02-28 15:05:19,835 [DEBUG] @cert_sorter.py:116 - future products: []
2012-02-28 15:05:19,835 [DEBUG] @cert_sorter.py:117 - partial stacks: []
2012-02-28 15:05:19,835 [DEBUG] @cert_sorter.py:118 - valid stacks: []
2012-02-28 15:05:19,836 [ERROR] @managercli.py:94 - exception caught in subscription-manager
2012-02-28 15:05:19,836 [ERROR] @managercli.py:95 - argument of type 'NoneType' is not iterable
Traceback (most recent call last):
File "/usr/sbin/subscription-manager", line 79, in <module>
sys.exit(abs(main() or 0))
File "/usr/sbin/subscription-manager", line 70, in main
return managercli.CLI().main()
File "/usr/share/rhsm/subscription_manager/managercli.py", line 1603, in main
return cmd.main()
File "/usr/share/rhsm/subscription_manager/managercli.py", line 265, in main
return_code = self._do_command()
File "/usr/share/rhsm/subscription_manager/managercli.py", line 1435, in _do_command
self.facts, self.options.all, on_date)
File "/usr/share/rhsm/subscription_manager/managerlib.py", line 323, in getAvailableEntitlements
dlist = list_pools(cpserver, consumer_uuid, facts, get_all, active_on)
File "/usr/share/rhsm/subscription_manager/managerlib.py", line 296, in list_pools
facts.update_check(uep, consumer_uuid)
File "/usr/share/rhsm/subscription_manager/cache.py", line 155, in update_check
if self.has_changed() or force:
File "/usr/share/rhsm/subscription_manager/facts.py", line 72, in has_changed
if key not in cached_facts:
TypeError: argument of type 'NoneType' is not iterable
I suspect the reason this happens is because the rhsmcertd restart causes the deleted system.uuid to be removed from the system facts (which I believe is the right thing to do). Then the manual restoring of /etc/pki/consumer.old to /etc/pki/consumer creates a situation where the consumer cert no longer matches the system facts. This is demonstrated below.
[root@jsefler-r63-server ~]# subscription-manager facts --list | grep system.uuid
dmi.system.uuid: a2e71856-6778-7975-772a-21750aa3eeb0
system.uuid: 7ff4cf62-ce2f-4911-a180-60ba9369d5c1
[root@jsefler-r63-server ~]# subscription-manager list --avail
Consumer 7ff4cf62-ce2f-4911-a180-60ba9369d5c1 has been deleted
[root@jsefler-r63-server ~]# service rhsmcertd restart
Stopping rhsmcertd [ OK ]
Starting rhsmcertd 240 1440 [ OK ]
[root@jsefler-r63-server ~]# subscription-manager facts --list | grep system.uuid
dmi.system.uuid: a2e71856-6778-7975-772a-21750aa3eeb0
[root@jsefler-r63-server ~]# mv /etc/pki/consumer.old/ /etc/pki/consumer
[root@jsefler-r63-server ~]# subscription-manager list --avail
argument of type 'NoneType' is not iterable
[root@jsefler-r63-server ~]#
Overall I think this is a really low priority bug and probably an invalid test scenario.
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.
http://rhn.redhat.com/errata/RHBA-2012-0804.html