Bug 1840859

Summary: subscription-manager repo-override --remove-all is failing to remove overrides from redhat.repo
Product: Red Hat Enterprise Linux 8 Reporter: John Sefler <jsefler>
Component: subscription-managerAssignee: candlepin-bugs
Status: CLOSED ERRATA QA Contact: Red Hat subscription-manager QE Team <rhsm-qe>
Severity: high Docs Contact:
Priority: urgent    
Version: 8.3CC: arpandey, csnyder, redakkan, wpoteat
Target Milestone: rcKeywords: Regression, Triaged
Target Release: 8.3   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-11-04 01:39:09 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:

Description John Sefler 2020-05-27 17:55:49 UTC
Description of problem:
After successfully adding repo-overrides (that are not normally present in the redhat.repo), attempts to remove them using subscription-manager will fail.

This is a regression from former releases of RHEL8, RHEL7, RHEL6.


Version-Release number of selected component (if applicable):
[root@kvm-05-guest05 ~]# subscription-manager version
server type: Red Hat Subscription Management
subscription management server: 3.1.11-1
subscription management rules: 5.39
subscription-manager: 1.27.4


How reproducible:


Steps to Reproduce:
[root@kvm-05-guest05 ~]# subscription-manager register --username=stage_auto_testuser --auto-attach
Registering to: subscription.rhsm.stage.redhat.com:443/subscription
Password: 
The system has been registered with ID: af198649-ec9f-4056-85f7-8afc5ecb804b
The registered system name is: kvm-05-guest05.hv2.lab.eng.bos.redhat.com
Installed Product Current Status:
Product Name: Red Hat Enterprise Linux for x86_64 Beta
Status:       Subscribed

[root@kvm-05-guest05 ~]# subscription-manager repos --list-enabled
+----------------------------------------------------------+
    Available Repositories in /etc/yum.repos.d/redhat.repo
+----------------------------------------------------------+
Repo ID:   rhel-8-for-x86_64-baseos-beta-rpms
Repo Name: Red Hat Enterprise Linux 8 for x86_64 - BaseOS Beta (RPMs)
Repo URL:  https://cdn.redhat.com/content/beta/rhel8/8/x86_64/baseos/os
Enabled:   1

Repo ID:   rhel-8-for-x86_64-appstream-beta-rpms
Repo Name: Red Hat Enterprise Linux 8 for x86_64 - AppStream Beta (RPMs)
Repo URL:  https://cdn.redhat.com/content/beta/rhel8/8/x86_64/appstream/os
Enabled:   1

[root@kvm-05-guest05 ~]# grep rhel-8-for-x86_64-baseos-beta-rpms /etc/yum.repos.d/redhat.repo -A 12
[rhel-8-for-x86_64-baseos-beta-rpms]
name = Red Hat Enterprise Linux 8 for x86_64 - BaseOS Beta (RPMs)
baseurl = https://cdn.redhat.com/content/beta/rhel8/8/x86_64/baseos/os
enabled = 1
gpgcheck = 1
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta,file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
sslverify = 1
sslcacert = /etc/rhsm/ca/redhat-uep.pem
sslclientkey = /etc/pki/entitlement/7102100560580078773-key.pem
sslclientcert = /etc/pki/entitlement/7102100560580078773.pem
metadata_expire = 86400
enabled_metadata = 1

[root@kvm-05-guest05 ~]# subscription-manager repo-override --repo=rhel-8-for-x86_64-baseos-beta-rpms --add=exclude:foo-bar
[root@kvm-05-guest05 ~]# subscription-manager repo-override --repo=rhel-8-for-x86_64-baseos-beta-rpms --add=enabled:0
[root@kvm-05-guest05 ~]# subscription-manager repo-override --repo=rhel-8-for-x86_64-baseos-beta-rpms --add=retries:5
[root@kvm-05-guest05 ~]# subscription-manager repo-override --list
Repository: rhel-8-for-x86_64-baseos-beta-rpms
  enabled: 0
  exclude: foo-bar
  retries: 5

[root@kvm-05-guest05 ~]# grep rhel-8-for-x86_64-baseos-beta-rpms /etc/yum.repos.d/redhat.repo -A 14
[rhel-8-for-x86_64-baseos-beta-rpms]
name = Red Hat Enterprise Linux 8 for x86_64 - BaseOS Beta (RPMs)
baseurl = https://cdn.redhat.com/content/beta/rhel8/8/x86_64/baseos/os
enabled = 0              <============= PASS: THE EXPECTED OVERRIDE HAS BEEN APPLIED
gpgcheck = 1
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta,file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
sslverify = 1
sslcacert = /etc/rhsm/ca/redhat-uep.pem
sslclientkey = /etc/pki/entitlement/7102100560580078773-key.pem
sslclientcert = /etc/pki/entitlement/7102100560580078773.pem
metadata_expire = 86400
enabled_metadata = 1
exclude = foo-bar        <============= PASS: THE EXPECTED OVERRIDE HAS BEEN APPLIED
retries = 5              <============= PASS: THE EXPECTED OVERRIDE HAS BEEN APPLIED

[root@kvm-05-guest05 ~]# subscription-manager repo-override --remove-all
[root@kvm-05-guest05 ~]# subscription-manager repo-override --list
This system does not have any content overrides applied to it.

[root@kvm-05-guest05 ~]# grep rhel-8-for-x86_64-baseos-beta-rpms /etc/yum.repos.d/redhat.repo -A 14
[rhel-8-for-x86_64-baseos-beta-rpms]
name = Red Hat Enterprise Linux 8 for x86_64 - BaseOS Beta (RPMs)
baseurl = https://cdn.redhat.com/content/beta/rhel8/8/x86_64/baseos/os
enabled = 1             <============= PASS: THE OVERRIDE HAS BEEN REMOVED AND SET BACK TO ITS ORIGINAL VALUE
gpgcheck = 1
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta,file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
sslverify = 1
sslcacert = /etc/rhsm/ca/redhat-uep.pem
sslclientkey = /etc/pki/entitlement/7102100560580078773-key.pem
sslclientcert = /etc/pki/entitlement/7102100560580078773.pem
metadata_expire = 86400
enabled_metadata = 1
exclude = foo-bar       <============= FAIL: OVERRIDE HAS NOT BEEN REMOVED
retries = 5             <============= FAIL: OVERRIDE HAS NOT BEEN REMOVED

BANG!  The added overrides are NOT being removed from redhat.repo

Moreover... if i try to explicitly remove them using subscription-manager, this fails too

[root@kvm-05-guest05 ~]# subscription-manager repo-override --repo=rhel-8-for-x86_64-baseos-beta-rpms --remove=retries
[root@kvm-05-guest05 ~]# subscription-manager repo-override --repo=rhel-8-for-x86_64-baseos-beta-rpms --remove=exclude
[root@kvm-05-guest05 ~]#
[root@kvm-05-guest05 ~]# grep rhel-8-for-x86_64-baseos-beta-rpms /etc/yum.repos.d/redhat.repo -A 14
[rhel-8-for-x86_64-baseos-beta-rpms]
name = Red Hat Enterprise Linux 8 for x86_64 - BaseOS Beta (RPMs)
baseurl = https://cdn.redhat.com/content/beta/rhel8/8/x86_64/baseos/os
enabled = 1
gpgcheck = 1
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta,file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
sslverify = 1
sslcacert = /etc/rhsm/ca/redhat-uep.pem
sslclientkey = /etc/pki/entitlement/7102100560580078773-key.pem
sslclientcert = /etc/pki/entitlement/7102100560580078773.pem
metadata_expire = 86400
enabled_metadata = 1
exclude = foo-bar
retries = 5

Actual results:
  above

Expected results:
  after removing the repo-overrides, they should be removed from redhat.repo

Additional info:
  even if I trigger a yum transaction, the overrides remain in place.

Comment 3 Archana Pandey 2020-06-26 13:13:48 UTC
Before verification reproducing issue on subscription-manager-1.27.4-1.el8.x86_64 

Version-Release number of selected component (if applicable):
[root@kvm-04-guest23 ~]# subscription-manager version
server type: Red Hat Subscription Management
subscription management server: 2.9.27-1
subscription management rules: 5.39
subscription-manager: 1.27.4
[root@kvm-04-guest23 ~]# 

steps for issue reproduction:
[root@kvm-04-guest23 ~]# subscription-manager repos --list-enabled
+----------------------------------------------------------+
    Available Repositories in /etc/yum.repos.d/redhat.repo
+----------------------------------------------------------+
Repo ID:   rhel-8-for-x86_64-baseos-beta-rpms
Repo Name: Red Hat Enterprise Linux 8 for x86_64 - BaseOS Beta (RPMs)
Repo URL:  https://cdn.redhat.com/content/beta/rhel8/8/x86_64/baseos/os
Enabled:   1

Repo ID:   rhel-8-for-x86_64-appstream-beta-rpms
Repo Name: Red Hat Enterprise Linux 8 for x86_64 - AppStream Beta (RPMs)
Repo URL:  https://cdn.redhat.com/content/beta/rhel8/8/x86_64/appstream/os
Enabled:   1

[root@kvm-04-guest23 ~]# grep rhel-8-for-x86_64-baseos-beta-rpms /etc/yum.repos.d/redhat.repo -A 12
[rhel-8-for-x86_64-baseos-beta-rpms]
name = Red Hat Enterprise Linux 8 for x86_64 - BaseOS Beta (RPMs)
baseurl = https://cdn.redhat.com/content/beta/rhel8/8/x86_64/baseos/os
enabled = 1
gpgcheck = 1
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta,file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
sslverify = 1
sslcacert = /etc/rhsm/ca/redhat-uep.pem
sslclientkey = /etc/pki/entitlement/428818756025172792-key.pem
sslclientcert = /etc/pki/entitlement/428818756025172792.pem
metadata_expire = 86400
enabled_metadata = 1

[root@kvm-04-guest23 ~]# subscription-manager repo-override --repo=rhel-8-for-x86_64-baseos-beta-rpms --add=enabled:0
[root@kvm-04-guest23 ~]# subscription-manager repo-override --repo=rhel-8-for-x86_64-baseos-beta-rpms --add=retries:5
[root@kvm-04-guest23 ~]# subscription-manager repo-override --list
Repository: rhel-8-for-x86_64-baseos-beta-rpms
  enabled: 0
  retries: 5

[root@kvm-04-guest23 ~]# 
[root@kvm-04-guest23 ~]# grep rhel-8-for-x86_64-baseos-beta-rpms /etc/yum.repos.d/redhat.repo -A 13
[rhel-8-for-x86_64-baseos-beta-rpms]
name = Red Hat Enterprise Linux 8 for x86_64 - BaseOS Beta (RPMs)
baseurl = https://cdn.redhat.com/content/beta/rhel8/8/x86_64/baseos/os
enabled = 0                         <<<<<<<<<<<<<<<<<<<<<<<< override  successful
gpgcheck = 1
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta,file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
sslverify = 1
sslcacert = /etc/rhsm/ca/redhat-uep.pem
sslclientkey = /etc/pki/entitlement/428818756025172792-key.pem
sslclientcert = /etc/pki/entitlement/428818756025172792.pem
metadata_expire = 86400
enabled_metadata = 1
retries = 5                         <<<<<<<<<<<<<<<<<<<<<<<<<<   override  successful

[root@kvm-04-guest23 ~]# subscription-manager repo-override --remove-all
[root@kvm-04-guest23 ~]# subscription-manager repo-override --list
This system does not have any content overrides applied to it.
[root@kvm-04-guest23 ~]# 

[root@kvm-04-guest23 ~]# grep rhel-8-for-x86_64-baseos-beta-rpms /etc/yum.repos.d/redhat.repo -A 13
[rhel-8-for-x86_64-baseos-beta-rpms]
name = Red Hat Enterprise Linux 8 for x86_64 - BaseOS Beta (RPMs)
baseurl = https://cdn.redhat.com/content/beta/rhel8/8/x86_64/baseos/os
enabled = 1                     <<<<<<<<<<<<<<<<<< override removed, original value restored
gpgcheck = 1
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta,file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
sslverify = 1
sslcacert = /etc/rhsm/ca/redhat-uep.pem
sslclientkey = /etc/pki/entitlement/428818756025172792-key.pem
sslclientcert = /etc/pki/entitlement/428818756025172792.pem
metadata_expire = 86400
enabled_metadata = 1
retries = 5                         <<<<<<<<<<<<<<<<<<<<<<<<<< override not removed

Actual results:
  above

Expected results:
  after removing the repo-overrides, they should be removed from redhat.repo

======================================================================================================================

Verifying issue on subscription-manager-1.27.8-1.el8.x86_64 

Version-Release number of selected component (if applicable):
Beaker Test information:
                         HOSTNAME=kvm-04-guest23.hv2.lab.eng.bos.redhat.com
                            JOBID=4383478
                         RECIPEID=8486495
                    RESULT_SERVER=
                           DISTRO=RHEL-8.3.0-20200626.n.0
                     ARCHITECTURE=x86_64

[root@kvm-04-guest23 ~]# subscription-manager version
server type: This system is currently not registered.
subscription management server: 2.9.27-1
subscription management rules: 5.39
subscription-manager: 1.27.8-1.el8

steps for issue verification:

[root@kvm-04-guest23 ~]# subscription-manager register --username=issue-1840859   --auto-attach
Registering to: subscription.rhsm.stage.redhat.com:443/subscription
Password: 
The system has been registered with ID: 5c2e1b59-0ca6-4901-a1a1-52eff568cf3e
The registered system name is: kvm-04-guest23.hv2.lab.eng.bos.redhat.com
Installed Product Current Status:
Product Name: Red Hat Enterprise Linux for x86_64 Beta
Status:       Subscribed

Product Name: Red Hat CodeReady Linux Builder for x86_64 Beta
Status:       Subscribed

[root@kvm-04-guest23 ~]# subscription-manager repos --list-enabled
+----------------------------------------------------------+
    Available Repositories in /etc/yum.repos.d/redhat.repo
+----------------------------------------------------------+
Repo ID:   rhel-8-for-x86_64-baseos-beta-rpms
Repo Name: Red Hat Enterprise Linux 8 for x86_64 - BaseOS Beta (RPMs)
Repo URL:  https://cdn.redhat.com/content/beta/rhel8/8/x86_64/baseos/os
Enabled:   1

Repo ID:   rhel-8-for-x86_64-appstream-beta-rpms
Repo Name: Red Hat Enterprise Linux 8 for x86_64 - AppStream Beta (RPMs)
Repo URL:  https://cdn.redhat.com/content/beta/rhel8/8/x86_64/appstream/os
Enabled:   1

[root@kvm-04-guest23 ~]# 
[root@kvm-04-guest23 ~]# grep rhel-8-for-x86_64-baseos-beta-rpms /etc/yum.repos.d/redhat.repo -A 12
[rhel-8-for-x86_64-baseos-beta-rpms]
name = Red Hat Enterprise Linux 8 for x86_64 - BaseOS Beta (RPMs)
baseurl = https://cdn.redhat.com/content/beta/rhel8/8/x86_64/baseos/os
enabled = 1
gpgcheck = 1
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta,file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
sslverify = 1
sslcacert = /etc/rhsm/ca/redhat-uep.pem
sslclientkey = /etc/pki/entitlement/3994089279466137518-key.pem
sslclientcert = /etc/pki/entitlement/3994089279466137518.pem
metadata_expire = 86400
enabled_metadata = 1

[root@kvm-04-guest23 ~]# subscription-manager repo-override --repo=rhel-8-for-x86_64-baseos-beta-rpms --add=exclude:foo-bar
[root@kvm-04-guest23 ~]# subscription-manager repo-override --repo=rhel-8-for-x86_64-baseos-beta-rpms --add=enabled:0
[root@kvm-04-guest23 ~]# subscription-manager repo-override --repo=rhel-8-for-x86_64-baseos-beta-rpms --add=retries:5
[root@kvm-04-guest23 ~]# subscription-manager repo-override --list
Repository: rhel-8-for-x86_64-baseos-beta-rpms
  enabled: 0
  exclude: foo-bar
  retries: 5

[root@kvm-04-guest23 ~]# 
[root@kvm-04-guest23 ~]# grep rhel-8-for-x86_64-baseos-beta-rpms /etc/yum.repos.d/redhat.repo -A 14
[rhel-8-for-x86_64-baseos-beta-rpms]
name = Red Hat Enterprise Linux 8 for x86_64 - BaseOS Beta (RPMs)
baseurl = https://cdn.redhat.com/content/beta/rhel8/8/x86_64/baseos/os
enabled = 0                          <<<<<<<<<<<<<<<<<<<<<< value override successful
gpgcheck = 1
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta,file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
sslverify = 1
sslcacert = /etc/rhsm/ca/redhat-uep.pem
sslclientkey = /etc/pki/entitlement/3994089279466137518-key.pem
sslclientcert = /etc/pki/entitlement/3994089279466137518.pem
metadata_expire = 86400
enabled_metadata = 1
exclude = foo-bar	         <<<<<<<<<<<<<<<<<<<<<<<<<< value override successful
retries = 5 		         <<<<<<<<<<<<<<<<<<<<<<<<<< value override successful
 
Now removing override
[root@kvm-04-guest23 ~]# subscription-manager repo-override --remove-all
[root@kvm-04-guest23 ~]# subscription-manager repo-override --list
This system does not have any content overrides applied to it.
[root@kvm-04-guest23 ~]# grep rhel-8-for-x86_64-baseos-beta-rpms /etc/yum.repos.d/redhat.repo -A 14
[rhel-8-for-x86_64-baseos-beta-rpms]
name = Red Hat Enterprise Linux 8 for x86_64 - BaseOS Beta (RPMs)
baseurl = https://cdn.redhat.com/content/beta/rhel8/8/x86_64/baseos/os
enabled = 1		         <<<<<<<<<<<<<<<<<<<<<<<<<< override removed, original value restored
gpgcheck = 1
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta,file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
sslverify = 1
sslcacert = /etc/rhsm/ca/redhat-uep.pem
sslclientkey = /etc/pki/entitlement/3994089279466137518-key.pem
sslclientcert = /etc/pki/entitlement/3994089279466137518.pem
metadata_expire = 86400
enabled_metadata = 1
				 <<<<<<<<<<<<<<<<<<<<<<<<<< override removed successfully
[certsys-beta-for-rhel-8-x86_64-source-rpms]
name = Red Hat Certificate System Beta for RHEL 8 x86_64 (Source RPMs)
[root@kvm-04-guest23 ~]# 

======== Removing over-rides explicitly using subscription-manager========

[root@kvm-04-guest23 ~]# subscription-manager repo-override --repo=rhel-8-for-x86_64-baseos-beta-rpms --add=exclude:foo-bar
[root@kvm-04-guest23 ~]# subscription-manager repo-override --repo=rhel-8-for-x86_64-baseos-beta-rpms --add=enabled:0
[root@kvm-04-guest23 ~]# subscription-manager repo-override --repo=rhel-8-for-x86_64-baseos-beta-rpms --add=retries:5
[root@kvm-04-guest23 ~]# 
[root@kvm-04-guest23 ~]# subscription-manager repo-override --list
Repository: rhel-8-for-x86_64-baseos-beta-rpms
  enabled: 0
  exclude: foo-bar
  retries: 5

[root@kvm-04-guest23 ~]# subscription-manager repo-override --repo=rhel-8-for-x86_64-baseos-beta-rpms --remove=enabled
[root@kvm-04-guest23 ~]# subscription-manager repo-override --repo=rhel-8-for-x86_64-baseos-beta-rpms --remove=retries
[root@kvm-04-guest23 ~]# subscription-manager repo-override --repo=rhel-8-for-x86_64-baseos-beta-rpms --remove=exclude
[root@kvm-04-guest23 ~]# subscription-manager repo-override --list
This system does not have any content overrides applied to it.

[root@kvm-04-guest23 ~]# grep rhel-8-for-x86_64-baseos-beta-rpms /etc/yum.repos.d/redhat.repo -A 14
[rhel-8-for-x86_64-baseos-beta-rpms]
name = Red Hat Enterprise Linux 8 for x86_64 - BaseOS Beta (RPMs)
baseurl = https://cdn.redhat.com/content/beta/rhel8/8/x86_64/baseos/os
enabled = 1                         <<<<<<<<<<<<<<<<<<<<<<<<<< override removed successfully
gpgcheck = 1
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta,file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
sslverify = 1
sslcacert = /etc/rhsm/ca/redhat-uep.pem
sslclientkey = /etc/pki/entitlement/3994089279466137518-key.pem
sslclientcert = /etc/pki/entitlement/3994089279466137518.pem
metadata_expire = 86400
enabled_metadata = 1 
                                    <<<<<<<<<<<<<<<<<<<<<<<<<< override removed successfully
[certsys-beta-for-rhel-8-x86_64-source-rpms]
name = Red Hat Certificate System Beta for RHEL 8 x86_64 (Source RPMs) 




Actual Result:
  after removing the repo-overrides, they got  removed from redhat.repo successfully

Expected Result:
  after removing the repo-overrides, they should be removed from redhat.repo 

Test Passed

Comment 6 errata-xmlrpc 2020-11-04 01:39:09 UTC
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 (subscription-manager bug fix and enhancement update), 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-2020:4460