Bug 2073551
| Summary: | subscription-manager release setting is not landing in the redhat.repo file | |||
|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 9 | Reporter: | John Sefler <jsefler> | |
| Component: | subscription-manager | Assignee: | Pino Toscano <ptoscano> | |
| Status: | CLOSED ERRATA | QA Contact: | Red Hat subscription-manager QE Team <rhsm-qe> | |
| Severity: | urgent | Docs Contact: | ||
| Priority: | unspecified | |||
| Version: | 9.0 | CC: | bfinger, candlepin-bugs, cdonnell, jcastran, pvlasin, redakkan | |
| Target Milestone: | rc | Keywords: | Regression, Triaged | |
| Target Release: | 9.0 | Flags: | pm-rhel:
mirror+
|
|
| Hardware: | Unspecified | |||
| OS: | Unspecified | |||
| Whiteboard: | ||||
| Fixed In Version: | subscription-manager-1.29.26-3.el9_0 | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | ||
| Clone Of: | ||||
| : | 2074110 (view as bug list) | Environment: | ||
| Last Closed: | 2022-05-17 15:58:31 UTC | Type: | Bug | |
| Regression: | --- | Mount Type: | --- | |
| Documentation: | --- | CRM: | ||
| Verified Versions: | Category: | --- | ||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
| Cloudforms Team: | --- | Target Upstream Version: | ||
| Embargoed: | ||||
| Bug Depends On: | ||||
| Bug Blocks: | 2074110 | |||
Pre-verification testing of build...
[root@kvm-06-guest40 ~]# rpm -q subscription-manager
subscription-manager-1.29.26-3.el9_0.x86_64
[root@kvm-06-guest40 ~]# rpm -q subscription-manager --changelog | grep 2073551 -B10
* Wed Apr 13 2022 Christopher Snyder <csnyder> 1.29.26-3
- refresh: clear also the release status (ptoscano)
- 2073551: clear the release cache on release change (ptoscano)
[root@kvm-06-guest40 ~]# subscription-manager register --auto-attach --serverurl=subscription.rhsm.stage.redhat.com
Registering to: subscription.rhsm.stage.redhat.com:443/subscription
Username: stage_rhsmqe_testuser01
Password:
The system has been registered with ID: 56097ef7-1801-4ed5-897a-4d81a68c5cc1
The registered system name is: kvm-06-guest40.hv2.lab.eng.bos.redhat.com
Installed Product Current Status:
Product Name: Red Hat Enterprise Linux for x86_64
Status: Subscribed
[root@kvm-06-guest40 ~]# grep '$releasever' /etc/yum.repos.d/redhat.repo | wc --lines
24 <===== 24 OF THE ENTITLED REPO PATHS USE A $releasever VARIABLE
[root@kvm-06-guest40 ~]# subscription-manager release --list
+-------------------------------------------+
Available Releases
+-------------------------------------------+
9
9.0
[root@kvm-06-guest40 ~]# subscription-manager release --set 9
Release set to: 9
[root@kvm-06-guest40 ~]# grep '$releasever' /etc/yum.repos.d/redhat.repo | wc --lines
0 <===== PASSED: THE $relasever VARIABLE HAS BEEN SUBSTITUTED
[root@kvm-06-guest40 ~]# subscription-manager release --unset
Release preference has been unset
[root@kvm-06-guest40 ~]# grep '$releasever' /etc/yum.repos.d/redhat.repo | wc --lines
24 <===== PASSED: THE $relasever VARIABLE HAS BEEN RESTORED AFTER RELEASE IS UNSET
[root@kvm-06-guest40 ~]# subscription-manager release --set 9.0
Release set to: 9.0
[root@kvm-06-guest40 ~]# grep '$releasever' /etc/yum.repos.d/redhat.repo | wc --lines
0 <===== PASSED: THE $relasever VARIABLE HAS BEEN SUBSTITUTED AGAIN
[root@kvm-06-guest40 ~]# subscription-manager release --set 8.3
No releases match '8.3'. Consult 'release --list' for a full listing.
[root@kvm-06-guest40 ~]# egrep '$releasever|9\.0' /etc/yum.repos.d/redhat.repo
baseurl = https://cdn.redhat.com/content/dist/rhel9/9.0/x86_64/appstream/os
baseurl = https://cdn.redhat.com/content/dist/rhel9/9.0/x86_64/baseos/source/SRPMS
baseurl = https://cdn.redhat.com/content/eus/rhel9/9.0/x86_64/appstream/source/SRPMS
baseurl = https://cdn.redhat.com/content/eus/rhel9/9.0/x86_64/baseos/os
baseurl = https://cdn.redhat.com/content/dist/rhel9/9.0/x86_64/baseos/debug
baseurl = https://cdn.redhat.com/content/eus/rhel9/9.0/x86_64/supplementary/os
baseurl = https://cdn.redhat.com/content/eus/rhel9/9.0/x86_64/baseos/debug
baseurl = https://cdn.redhat.com/content/eus/rhel9/9.0/x86_64/codeready-builder/os
baseurl = https://cdn.redhat.com/content/eus/rhel9/9.0/x86_64/appstream/debug
baseurl = https://cdn.redhat.com/content/dist/rhel9/9.0/x86_64/baseos/os
baseurl = https://cdn.redhat.com/content/dist/rhel9/9.0/x86_64/supplementary/os
baseurl = https://cdn.redhat.com/content/dist/rhel9/9.0/x86_64/supplementary/debug
baseurl = https://cdn.redhat.com/content/eus/rhel9/9.0/x86_64/baseos/source/SRPMS
baseurl = https://cdn.redhat.com/content/dist/rhel9/9.0/x86_64/appstream/debug
baseurl = https://cdn.redhat.com/content/eus/rhel9/9.0/x86_64/supplementary/source/SRPMS
baseurl = https://cdn.redhat.com/content/dist/rhel9/9.0/x86_64/codeready-builder/source/SRPMS
baseurl = https://cdn.redhat.com/content/dist/rhel9/9.0/x86_64/codeready-builder/debug
baseurl = https://cdn.redhat.com/content/eus/rhel9/9.0/x86_64/appstream/os
baseurl = https://cdn.redhat.com/content/eus/rhel9/9.0/x86_64/codeready-builder/debug
baseurl = https://cdn.redhat.com/content/eus/rhel9/9.0/x86_64/codeready-builder/source/SRPMS
baseurl = https://cdn.redhat.com/content/dist/rhel9/9.0/x86_64/codeready-builder/os
baseurl = https://cdn.redhat.com/content/eus/rhel9/9.0/x86_64/supplementary/debug
baseurl = https://cdn.redhat.com/content/dist/rhel9/9.0/x86_64/appstream/source/SRPMS
baseurl = https://cdn.redhat.com/content/dist/rhel9/9.0/x86_64/supplementary/source/SRPMS
^^^
^^^
^^^
^^^
PASSED: All 24 REPO PATHS WITH $releasever HAVE BEEN SUBSTITUTED WITH THE MOST RECENTLY SET RELEASE VALUE
Additional pre-verification for the refresh command...
[root@kvm-06-guest40 ~]# cat /var/lib/rhsm/cache/releasever.json
{"releaseVer": "9.0"}
[root@kvm-06-guest40 ~]# subscription-manager refresh
All local data refreshed
[root@kvm-06-guest40 ~]# cat /var/lib/rhsm/cache/releasever.json
cat: /var/lib/rhsm/cache/releasever.json: No such file or directory
[root@kvm-06-guest40 ~]# yum repolist --disablerepo=beaker*
Updating Subscription Management repositories.
repo id repo name
rhel-9-for-x86_64-appstream-rpms Red Hat Enterprise Linux 9 for x86_64 - AppStream (RPMs)
rhel-9-for-x86_64-baseos-rpms Red Hat Enterprise Linux 9 for x86_64 - BaseOS (RPMs)
[root@kvm-06-guest40 ~]# cat /var/lib/rhsm/cache/releasever.json
{"releaseVer": "9.0"}
PASSED: THE REFRESH COMMAND CLEARS THE CACHED releasever AND SUBSEQUENT CALLS TO YUM RE-CASHED THE PREVIOUSLY SET RELEASE
Verified:Tested against fixed in version subscription-manager-1.29.26-3.el9_0
** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **
This System is reserved by jsefler.
Beaker Test information:
HOSTNAME=kvm-07-guest35.hv2.lab.eng.bos.redhat.com
JOBID=6510027
RECIPEID=11797274
RESULT_SERVER=
DISTRO=RHEL-9.0.0-20220414.2
ARCHITECTURE=x86_64
** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** **
[root@kvm-07-guest35 ~]# rpm -q subscription-manager
subscription-manager-1.29.26-3.el9_0.x86_64
[root@kvm-07-guest35 ~]#
[root@kvm-07-guest35 ~]# rpm -q subscription-manager --changelog | grep 2073551 -B10
* Wed Apr 13 2022 Christopher Snyder <csnyder> 1.29.26-3
- refresh: clear also the release status (ptoscano)
- 2073551: clear the release cache on release change (ptoscano)
[root@kvm-07-guest35 ~]#
[root@kvm-07-guest35 ~]# grep '$releasever' /etc/yum.repos.d/redhat.repo | wc --lines
24
[root@kvm-07-guest35 ~]#
[root@kvm-07-guest35 ~]# subscription-manager release --list
+-------------------------------------------+
Available Releases
+-------------------------------------------+
9
9.0
[root@kvm-07-guest35 ~]#
[root@kvm-07-guest35 ~]# subscription-manager release --set=9.0
Release set to: 9.0
[root@kvm-07-guest35 ~]#
[root@kvm-07-guest35 ~]# grep '$releasever' /etc/yum.repos.d/redhat.repo | wc --lines
0
[root@kvm-07-guest35 ~]#
[root@kvm-07-guest35 ~]# subscription-manager release --unset
Release preference has been unset
[root@kvm-07-guest35 ~]#
[root@kvm-07-guest35 ~]# grep '$releasever' /etc/yum.repos.d/redhat.repo | wc --lines
24
[root@kvm-07-guest35 ~]#
[root@kvm-07-guest35 ~]# cat /var/lib/rhsm/cache/releasever.json
{"releaseVer": ""}
[root@kvm-07-guest35 ~]#
[root@kvm-07-guest35 ~]# subscription-manager refresh
All local data refreshed
[root@kvm-07-guest35 ~]#
[root@kvm-07-guest35 ~]# cat /var/lib/rhsm/cache/releasever.json
cat: /var/lib/rhsm/cache/releasever.json: No such file or directory
[root@kvm-07-guest35 ~]#
VERIFIED: nightly compose RHEL-9.0.0-20220414.2 includes subscription-manager-1.29.26-3.el9_0 which includes the fix for bug 2073551 as demonstrated above and comment 5
(In reply to John Sefler from comment #8) I accidentally excluded the registration step. Inserting it below... > ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** > This System is reserved by jsefler. > > Beaker Test information: > HOSTNAME=kvm-07-guest35.hv2.lab.eng.bos.redhat.com > JOBID=6510027 > RECIPEID=11797274 > RESULT_SERVER= > DISTRO=RHEL-9.0.0-20220414.2 > ARCHITECTURE=x86_64 > > ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** > [root@kvm-07-guest35 ~]# rpm -q subscription-manager > subscription-manager-1.29.26-3.el9_0.x86_64 > [root@kvm-07-guest35 ~]# > [root@kvm-07-guest35 ~]# rpm -q subscription-manager --changelog | grep > 2073551 -B10 > * Wed Apr 13 2022 Christopher Snyder <csnyder> 1.29.26-3 > - refresh: clear also the release status (ptoscano) > - 2073551: clear the release cache on release change (ptoscano) > [root@kvm-07-guest35 ~]# [root@kvm-07-guest35 ~]# subscription-manager register --auto-attach --serverurl=subscription.rhsm.stage.redhat.com Registering to: subscription.rhsm.stage.redhat.com:443/subscription Username: stage_rhsmqe_testuser01 Password: The system has been registered with ID: 20476c8e-7371-4d8b-abf4-f05ea8fdfbea The registered system name is: kvm-07-guest35.hv2.lab.eng.bos.redhat.com Installed Product Current Status: Product Name: Red Hat Enterprise Linux for x86_64 Status: Subscribed > [root@kvm-07-guest35 ~]# grep '$releasever' /etc/yum.repos.d/redhat.repo | wc --lines > 24 > [root@kvm-07-guest35 ~]# > [root@kvm-07-guest35 ~]# subscription-manager release --list > +-------------------------------------------+ > Available Releases > +-------------------------------------------+ > 9 > 9.0 > [root@kvm-07-guest35 ~]# > [root@kvm-07-guest35 ~]# subscription-manager release --set=9.0 > Release set to: 9.0 > [root@kvm-07-guest35 ~]# > [root@kvm-07-guest35 ~]# grep '$releasever' /etc/yum.repos.d/redhat.repo | wc --lines > 0 > [root@kvm-07-guest35 ~]# > [root@kvm-07-guest35 ~]# subscription-manager release --unset > Release preference has been unset > [root@kvm-07-guest35 ~]# > [root@kvm-07-guest35 ~]# grep '$releasever' /etc/yum.repos.d/redhat.repo | wc --lines > 24 > [root@kvm-07-guest35 ~]# > [root@kvm-07-guest35 ~]# cat /var/lib/rhsm/cache/releasever.json > {"releaseVer": ""} > [root@kvm-07-guest35 ~]# > [root@kvm-07-guest35 ~]# subscription-manager refresh > All local data refreshed > [root@kvm-07-guest35 ~]# > [root@kvm-07-guest35 ~]# cat /var/lib/rhsm/cache/releasever.json > cat: /var/lib/rhsm/cache/releasever.json: No such file or directory > [root@kvm-07-guest35 ~]# > > > VERIFIED: nightly compose RHEL-9.0.0-20220414.2 includes subscription-manager-1.29.26-3.el9_0 which includes the fix for bug 2073551 as demonstrated above and comment 5 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 (new packages: subscription-manager), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2022:3984 |
Description of problem: On an RC compose of RHEL9 with a GA product subscription attached, subscription-manager release --list correctly reports the available listing file. However, when using subscription-manager --set to pin the release repo paths to a specific cdn path, the "$releasever" variable in the repo paths is NOT getting replaced by the release setting. This is a regression from RHEL8 GA behavior. Version-Release number of selected component (if applicable): [root@kvm-04-guest22 ~]# subscription-manager version server type: Red Hat Subscription Management subscription management server: 3.2.22-1 subscription management rules: 5.41 subscription-manager: 1.29.26-2.el9_0 How reproducible: Steps to Reproduce: Register a RHEL9 RC compose and auto-attach a RHEL subscription (not shown) then... [root@kvm-04-guest22 ~]# subscription-manager list --installed +-------------------------------------------+ Installed Product Status +-------------------------------------------+ Product Name: Red Hat Enterprise Linux for x86_64 Product ID: 479 Version: 9.0 Arch: x86_64 Status: Subscribed Status Details: Starts: 07/26/2021 Ends: 04/15/2022 [root@kvm-04-guest22 ~]# subscription-manager release --list +-------------------------------------------+ Available Releases +-------------------------------------------+ 9 9.0 [root@kvm-04-guest22 ~]# subscription-manager release --set=9.0 Release set to: 9.0 [root@kvm-04-guest22 ~]# grep '$releasever' /etc/yum.repos.d/redhat.repo | wc --lines 24 <======= FAILED: Expected zero [root@kvm-04-guest22 ~]# grep '$releasever' /etc/yum.repos.d/redhat.repo baseurl = https://cdn.redhat.com/content/dist/rhel9/$releasever/x86_64/codeready-builder/source/SRPMS baseurl = https://cdn.redhat.com/content/dist/rhel9/$releasever/x86_64/baseos/source/SRPMS baseurl = https://cdn.redhat.com/content/dist/rhel9/$releasever/x86_64/codeready-builder/os baseurl = https://cdn.redhat.com/content/dist/rhel9/$releasever/x86_64/appstream/debug baseurl = https://cdn.redhat.com/content/eus/rhel9/$releasever/x86_64/codeready-builder/debug baseurl = https://cdn.redhat.com/content/dist/rhel9/$releasever/x86_64/appstream/os baseurl = https://cdn.redhat.com/content/eus/rhel9/$releasever/x86_64/baseos/os baseurl = https://cdn.redhat.com/content/eus/rhel9/$releasever/x86_64/baseos/debug baseurl = https://cdn.redhat.com/content/dist/rhel9/$releasever/x86_64/baseos/os baseurl = https://cdn.redhat.com/content/eus/rhel9/$releasever/x86_64/codeready-builder/os baseurl = https://cdn.redhat.com/content/dist/rhel9/$releasever/x86_64/supplementary/debug baseurl = https://cdn.redhat.com/content/dist/rhel9/$releasever/x86_64/appstream/source/SRPMS baseurl = https://cdn.redhat.com/content/eus/rhel9/$releasever/x86_64/appstream/os baseurl = https://cdn.redhat.com/content/eus/rhel9/$releasever/x86_64/supplementary/source/SRPMS baseurl = https://cdn.redhat.com/content/dist/rhel9/$releasever/x86_64/baseos/debug baseurl = https://cdn.redhat.com/content/eus/rhel9/$releasever/x86_64/baseos/source/SRPMS baseurl = https://cdn.redhat.com/content/eus/rhel9/$releasever/x86_64/supplementary/os baseurl = https://cdn.redhat.com/content/dist/rhel9/$releasever/x86_64/supplementary/source/SRPMS baseurl = https://cdn.redhat.com/content/eus/rhel9/$releasever/x86_64/appstream/debug baseurl = https://cdn.redhat.com/content/eus/rhel9/$releasever/x86_64/codeready-builder/source/SRPMS baseurl = https://cdn.redhat.com/content/eus/rhel9/$releasever/x86_64/supplementary/debug baseurl = https://cdn.redhat.com/content/dist/rhel9/$releasever/x86_64/codeready-builder/debug baseurl = https://cdn.redhat.com/content/dist/rhel9/$releasever/x86_64/supplementary/os baseurl = https://cdn.redhat.com/content/eus/rhel9/$releasever/x86_64/appstream/source/SRPMS ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ FAILED: Expected all of the $releasever variables in the paths above to be substituted with the "9.0" value that I set using "subscription-manager --set=9.0" Actual results: above Expected results: all occurrences of $releasever in /etc/yum.repos.d/redhat.repo should be substituted with the set release value. Additional info: Notice that this cache file appears to be stale and once removed, the $releasever variable is substituted.... [root@kvm-04-guest22 ~]# cat /var/lib/rhsm/cache/releasever.json {"releaseVer": null} <===== FAILED: Should not be null after I set a release value [root@kvm-04-guest22 ~]# grep '$releasever' /etc/yum.repos.d/redhat.repo | wc --lines 24 [root@kvm-04-guest22 ~]# rm -f /var/lib/rhsm/cache/releasever.json [root@kvm-04-guest22 ~]# subscription-manager release --set=9.0 Release set to: 9.0 [root@kvm-04-guest22 ~]# grep '$releasever' /etc/yum.repos.d/redhat.repo | wc --lines 0 [root@kvm-04-guest22 ~]# subscription-manager release --unset Release preference has been unset [root@kvm-04-guest22 ~]# grep '$releasever' /etc/yum.repos.d/redhat.repo | wc --lines 0 [root@kvm-04-guest22 ~]# rm -f /var/lib/rhsm/cache/releasever.json [root@kvm-04-guest22 ~]# subscription-manager release --unset Release preference has been unset [root@kvm-04-guest22 ~]# grep '$releasever' /etc/yum.repos.d/redhat.repo | wc --lines 24 The addtional info above shows that the cache file /var/lib/rhsm/cache/releasever.json is not being updated to reflect the release setting/unsetting thereby failing to update the redhat.repo paths.