Bug 2017195 - subscription-manager-1.29.18-2 rhsmlib component has incorrect reference
Summary: subscription-manager-1.29.18-2 rhsmlib component has incorrect reference
Keywords:
Status: CLOSED DUPLICATE of bug 1995465
Alias: None
Product: Fedora
Classification: Fedora
Component: subscription-manager
Version: 35
Hardware: x86_64
OS: Linux
unspecified
low
Target Milestone: ---
Assignee: Chris Snyder
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-10-26 00:41 UTC by batinich1
Modified: 2021-11-04 06:36 UTC (History)
6 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2021-11-04 06:36:40 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github candlepin subscription-manager pull 2753 0 None Merged 1995465: Do not use deprecated collections.MutableMapping 2021-10-26 13:48:41 UTC

Description batinich1 2021-10-26 00:41:20 UTC
Description of problem:


Version-Release number of selected component (if applicable): subscription-manager-1.29.18-2.fc35.x86_64


How reproducible: Everytime


Steps to Reproduce:
1. Install subscription-manager-1.29.18-2
2. run subscription-manager register --org=MYORG --activationkey=MYKEY
3. Failure encountered

Actual results:
Traceback (most recent call last):
  File "/usr/sbin/subscription-manager", line 33, in <module>
    sys.exit(load_entry_point('subscription-manager==1.29.18', 'console_scripts', 'subscription-manager')())
  File "/usr/sbin/subscription-manager", line 25, in importlib_load_entry_point
    return next(matches).load()
  File "/usr/lib64/python3.10/importlib/metadata/__init__.py", line 162, in load
    module = import_module(match.group('module'))
  File "/usr/lib64/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/usr/lib64/python3.10/site-packages/subscription_manager/scripts/subscription_manager.py", line 64, in <module>
    from subscription_manager.injectioninit import init_dep_injection
  File "/usr/lib64/python3.10/site-packages/subscription_manager/injectioninit.py", line 20, in <module>
    from subscription_manager.cache import ProductStatusCache, EntitlementStatusCache, \
  File "/usr/lib64/python3.10/site-packages/subscription_manager/cache.py", line 34, in <module>
    from subscription_manager.jsonwrapper import PoolWrapper
  File "/usr/lib64/python3.10/site-packages/subscription_manager/jsonwrapper.py", line 18, in <module>
    from subscription_manager.utils import is_true_value
  File "/usr/lib64/python3.10/site-packages/subscription_manager/utils.py", line 36, in <module>
    from subscription_manager.certdirectory import Path
  File "/usr/lib64/python3.10/site-packages/subscription_manager/certdirectory.py", line 26, in <module>
    from rhsmlib.services import config
  File "/usr/lib64/python3.10/site-packages/rhsmlib/services/config.py", line 21, in <module>
    class Config(collections.MutableMapping):
AttributeError: module 'collections' has no attribute 'MutableMapping'


Expected results:
The system has been registered with UUID XXXX

Additional info:

Patches to fix:

PATCH #1

$ diff -u /usr/lib64/python3.10/site-packages/rhsmlib/services/config.py.orig /usr/lib64/python3.10/site-packages/rhsmlib/services/config.py
--- /usr/lib64/python3.10/site-packages/rhsmlib/services/config.py.orig 2021-07-15 10:50:10.000000000 -0700
+++ /usr/lib64/python3.10/site-packages/rhsmlib/services/config.py      2021-10-25 16:09:36.729813938 -0700
@@ -18,7 +18,7 @@
 import six


-class Config(collections.MutableMapping):
+class Config(collections.abc.MutableMapping):
     def __init__(self, parser=None, auto_persist=False):
         if parser:
             self._parser = parser
@@ -94,7 +94,7 @@
         return "%s" % result


-class ConfigSection(collections.MutableMapping):
+class ConfigSection(collections.abc.MutableMapping):
     def __init__(self, wrapper, parser, section, auto_persist=False):
         self._wrapper = wrapper
         self._parser = parser


# PATCH 2

$ diff -u  /usr/lib64/python3.10/site-packages/rhsmlib/facts/collection.py.orig  /usr/lib64/python3.10/site-packages/rhsmlib/facts/collection.py
--- /usr/lib64/python3.10/site-packages/rhsmlib/facts/collection.py.orig        2021-07-15 10:50:10.000000000 -0700
+++ /usr/lib64/python3.10/site-packages/rhsmlib/facts/collection.py     2021-10-25 15:46:36.095996793 -0700
@@ -20,7 +20,7 @@


 # TODO: Likely a bit much for this case
-class FactsDict(collections.MutableMapping):
+class FactsDict(collections.abc.MutableMapping):
     """A dict for facts that ignores items in 'graylist' on compares."""

     graylist = set(['cpu.cpu_mhz', 'lscpu.cpu_mhz'])

Comment 1 Pino Toscano 2021-10-26 13:48:42 UTC
This was already fixed upstream with:
https://github.com/candlepin/subscription-manager/pull/2753

There was no upstream release since then though.

Comment 2 Pino Toscano 2021-11-04 06:36:40 UTC

*** This bug has been marked as a duplicate of bug 1995465 ***


Note You need to log in before you can comment on or make changes to this bug.