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.

Bug 807407

Summary: subscription-manager should NOT substitute "" for $releasever when attribute releaseVer is not set on consumer
Product: Red Hat Enterprise Linux 6 Reporter: John Sefler <jsefler>
Component: subscription-managerAssignee: William Poteat <wpoteat>
Status: CLOSED ERRATA QA Contact: Entitlement Bugs <entitlement-bugs>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: 6.3CC: khong, skallesh, spandey, wpoteat
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-06-20 13:08:28 UTC Type: ---
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: 738066    

Description John Sefler 2012-03-27 17:29:53 UTC
Description of problem:
When the consumer does not have a release attribute set ("releaseVer": null), the $releasever strings in the entitled content-namespaces should not be substituted.


Version-Release number of selected component (if applicable):
[root@jsefler-r63-server ~]# rpm -q subscription-manager
subscription-manager-0.99.12-1.git.1.2b349d3.el6.x86_64


How reproducible:


Steps to Reproduce:
[root@jsefler-r63-server ~]# subscription-manager register --username testuser1 --password password --org admin
The system has been registered with id: b8ec40ab-b4d4-4603-a589-d30ca82b63fe 
[root@jsefler-r63-server ~]# subscription-manager list --avail | grep "Awesome OS with unlimited virtual guests" -A2
Product Name:         	Awesome OS with unlimited virtual guests
Product Id:           	awesomeos-virt-unlimited 
Pool Id:              	8a90f81436542b200136542c1bd70468
--
Product Name:         	Awesome OS with unlimited virtual guests
Product Id:           	awesomeos-virt-unlimited 
Pool Id:              	8a90f81436542b200136542c1bf50470
[root@jsefler-r63-server ~]# subscription-manager subscribe --pool 8a90f81436542b200136542c1bf50470
Successfully consumed a subscription from the pool with id 8a90f81436542b200136542c1bf50470.
[root@jsefler-r63-server ~]# subscription-manager release
Release not set

^^^ NOTICE THAT WE HAVE NOT SET A RELEASE

[root@jsefler-r63-server ~]# openssl x509 -text -in /etc/pki/entitlement/1443544771030459564.pem | egrep 1.3.6.1.4.1.2312.9.2\..*\.1.6 -A1
            1.3.6.1.4.1.2312.9.2.1.1.6: 
                ../foo/path/always/$releasever
--
            1.3.6.1.4.1.2312.9.2.0.1.6: 
                ../foo/path/never
--
            1.3.6.1.4.1.2312.9.2.2.1.6: 
                ../foo/path/always
--
            1.3.6.1.4.1.2312.9.2.1111.1.6: 
                ../foo/path
[root@jsefler-r63-server ~]# 

^^^ NOTICE THAT THE OID FOR PRODUCTID 1 SPECIFIES A DOWNLOAD-URL /foo/path/always/$releasever THAT INCLUDES $releasever


[root@jsefler-r63-server ~]# cat /etc/yum.repos.d/redhat.repo 
#
# Certificate-Based Repositories
# Managed by (rhsm) subscription-manager
#
# If this file is empty and this system is subscribed consider 
# a "yum repolist" to refresh available repos
#

[content-label]
name = content
baseurl = https://cdn.redhat.com/foo/path
enabled = 1
gpgcheck = 1
gpgkey = https://cdn.redhat.com/foo/path/gpg/
sslverify = 1
sslcacert = /etc/rhsm/ca/redhat-uep.pem
sslclientkey = /etc/pki/entitlement/3832523306005009345-key.pem
sslclientcert = /etc/pki/entitlement/3832523306005009345.pem
metadata_expire = 0

[always-enabled-content]
name = always-enabled-content
baseurl = https://cdn.redhat.com/foo/path/always/
enabled = 1
gpgcheck = 1
gpgkey = https://cdn.redhat.com/foo/path/always/gpg
sslverify = 1
sslcacert = /etc/rhsm/ca/redhat-uep.pem
sslclientkey = /etc/pki/entitlement/3832523306005009345-key.pem
sslclientcert = /etc/pki/entitlement/3832523306005009345.pem
metadata_expire = 200

[never-enabled-content]
name = never-enabled-content
baseurl = https://cdn.redhat.com/foo/path/never
enabled = 0
gpgcheck = 1
gpgkey = https://cdn.redhat.com/foo/path/never/gpg
sslverify = 1
sslcacert = /etc/rhsm/ca/redhat-uep.pem
sslclientkey = /etc/pki/entitlement/3832523306005009345-key.pem
sslclientcert = /etc/pki/entitlement/3832523306005009345.pem
metadata_expire = 600


^^^ NOW NOTICE THAT THE THAT THE $releasever IS MISSING FROM THE baseurl = https://cdn.redhat.com/foo/path/always/ IN THE redhat.repo [always-enabled-content]

THIS IS A REGRESSION.

Expected:
baseurl = https://cdn.redhat.com/foo/path/always/$releasever



Additional info:
[root@jsefler-r63-server ~]# curl -k -u testuser1:password --stderr /dev/null https://jsefler-f14-candlepin:8443/candlepin/consumers/b8ec40ab-b4d4-4603-a589-d30ca82b63fe | python -m simplejson/tool | grep releaseVer
    "releaseVer": null, 
[root@jsefler-r63-server ~]#

Comment 2 William Poteat 2012-03-28 18:07:10 UTC
Master commit:

5f0e228180a37486114b429780cd501a53c64d58



No longer substitutes when no value exists [either null or empty string].

To force the changes to the redhat.repo file immediately 'yum repolist' needs to be run. This has been the case for some time now.

Comment 5 John Sefler 2012-04-10 22:58:31 UTC
Verifying Version...
[root@jsefler-r63-server ~]# rpm -q subscription-manager
subscription-manager-0.99.13-1.el6.x86_64


[root@jsefler-r63-server ~]# subscription-manager register --username testuser1 --password password --org admin
The system has been registered with id: 1ce9275e-01c6-4213-be00-12e229ffd7d3 
[root@jsefler-r63-server ~]# subscription-manager list --avail | grep "Awesome OS with unlimited virtual guests" -A2
Product Name:         	Awesome OS with unlimited virtual guests
Product Id:           	awesomeos-virt-unlimited 
Pool Id:              	8a90f814369993420136999444120468
--
Product Name:         	Awesome OS with unlimited virtual guests
Product Id:           	awesomeos-virt-unlimited 
Pool Id:              	8a90f814369993420136999444430470
[root@jsefler-r63-server ~]# subscription-manager subscribe --pool 8a90f814369993420136999444430470
Successfully consumed a subscription from the pool with id 8a90f814369993420136999444430470.
[root@jsefler-r63-server ~]# subscription-manager release
Release not set
[root@jsefler-r63-server ~]# curl -k -u testuser1:password --stderr /dev/null https://jsefler-f14-candlepin:8443/candlepin/consumers/1ce9275e-01c6-4213-be00-12e229ffd7d3 | python -m simplejson/tool | grep releaseVer
    "releaseVer": null, 


[root@jsefler-r63-server ~]# openssl x509 -text -in /etc/pki/entitlement/8815059544163451235.pem | egrep 1.3.6.1.4.1.2312.9.2\..*\.1.6 -A1
            1.3.6.1.4.1.2312.9.2.1.1.6: 
                ../foo/path/always/$releasever
--
            1.3.6.1.4.1.2312.9.2.0.1.6: 
                ../foo/path/never
--
            1.3.6.1.4.1.2312.9.2.2.1.6: 
                ../foo/path/always
--
            1.3.6.1.4.1.2312.9.2.1111.1.6: 
                ../foo/path
[root@jsefler-r63-server ~]# cat /etc/yum.repos.d/redhat.repo
#
# Certificate-Based Repositories
# Managed by (rhsm) subscription-manager
#
# If this file is empty and this system is subscribed consider 
# a "yum repolist" to refresh available repos
#

[content-label]
name = content
baseurl = https://cdn.redhat.com/foo/path
enabled = 1
gpgcheck = 1
gpgkey = https://cdn.redhat.com/foo/path/gpg/
sslverify = 1
sslcacert = /etc/rhsm/ca/redhat-uep.pem
sslclientkey = /etc/pki/entitlement/8815059544163451235-key.pem
sslclientcert = /etc/pki/entitlement/8815059544163451235.pem
metadata_expire = 0

[always-enabled-content]
name = always-enabled-content
baseurl = https://cdn.redhat.com/foo/path/always/$releasever
enabled = 1
gpgcheck = 1
gpgkey = https://cdn.redhat.com/foo/path/always/gpg
sslverify = 1
sslcacert = /etc/rhsm/ca/redhat-uep.pem
sslclientkey = /etc/pki/entitlement/8815059544163451235-key.pem
sslclientcert = /etc/pki/entitlement/8815059544163451235.pem
metadata_expire = 200

[never-enabled-content]
name = never-enabled-content
baseurl = https://cdn.redhat.com/foo/path/never
enabled = 0
gpgcheck = 1
gpgkey = https://cdn.redhat.com/foo/path/never/gpg
sslverify = 1
sslcacert = /etc/rhsm/ca/redhat-uep.pem
sslclientkey = /etc/pki/entitlement/8815059544163451235-key.pem
sslclientcert = /etc/pki/entitlement/8815059544163451235.pem
metadata_expire = 600
[root@jsefler-r63-server ~]# subscription-manager repos --list
+----------------------------------------------------------+
    Entitled Repositories in /etc/yum.repos.d/redhat.repo
+----------------------------------------------------------+
Repo Name:            	content                  
Repo Id:              	content-label            
Repo Url:             	https://cdn.redhat.com/foo/path
Enabled:              	1                        

Repo Name:            	always-enabled-content   
Repo Id:              	always-enabled-content   
Repo Url:             	https://cdn.redhat.com/foo/path/always/$releasever
Enabled:              	1                        

Repo Name:            	never-enabled-content    
Repo Id:              	never-enabled-content    
Repo Url:             	https://cdn.redhat.com/foo/path/never
Enabled:              	0                        

[root@jsefler-r63-server ~]# 

^^^ VERIFIED THAT A CONSUMER WITH null releaseVer DOES NOT SUBSTITUTE A VALUE FOR $releasever in the redhat.repo




______________________________________________________________________

[root@jsefler-r63-server ~]# subscription-manager release --set ""
Release set to: 
[root@jsefler-r63-server ~]# subscription-manager release
Release not set
[root@jsefler-r63-server ~]# curl -k -u testuser1:password --stderr /dev/null https://jsefler-f14-candlepin:8443/candlepin/consumers/1ce9275e-01c6-4213-be00-12e229ffd7d3 | python -m simplejson/tool | grep releaseVer
    "releaseVer": {
        "releaseVer": ""
[root@jsefler-r63-server ~]# yum -q repolist 2>/dev/null
[root@jsefler-r63-server ~]# cat /etc/yum.repos.d/redhat.repo
#
# Certificate-Based Repositories
# Managed by (rhsm) subscription-manager
#
# If this file is empty and this system is subscribed consider 
# a "yum repolist" to refresh available repos
#

[content-label]
name = content
baseurl = https://cdn.redhat.com/foo/path
enabled = 1
gpgcheck = 1
gpgkey = https://cdn.redhat.com/foo/path/gpg/
sslverify = 1
sslcacert = /etc/rhsm/ca/redhat-uep.pem
sslclientkey = /etc/pki/entitlement/8815059544163451235-key.pem
sslclientcert = /etc/pki/entitlement/8815059544163451235.pem
metadata_expire = 0

[always-enabled-content]
name = always-enabled-content
baseurl = https://cdn.redhat.com/foo/path/always/$releasever
enabled = 1
gpgcheck = 1
gpgkey = https://cdn.redhat.com/foo/path/always/gpg
sslverify = 1
sslcacert = /etc/rhsm/ca/redhat-uep.pem
sslclientkey = /etc/pki/entitlement/8815059544163451235-key.pem
sslclientcert = /etc/pki/entitlement/8815059544163451235.pem
metadata_expire = 200

[never-enabled-content]
name = never-enabled-content
baseurl = https://cdn.redhat.com/foo/path/never
enabled = 0
gpgcheck = 1
gpgkey = https://cdn.redhat.com/foo/path/never/gpg
sslverify = 1
sslcacert = /etc/rhsm/ca/redhat-uep.pem
sslclientkey = /etc/pki/entitlement/8815059544163451235-key.pem
sslclientcert = /etc/pki/entitlement/8815059544163451235.pem
metadata_expire = 600
[root@jsefler-r63-server ~]# subscription-manager repos --list
+----------------------------------------------------------+
    Entitled Repositories in /etc/yum.repos.d/redhat.repo
+----------------------------------------------------------+
Repo Name:            	content                  
Repo Id:              	content-label            
Repo Url:             	https://cdn.redhat.com/foo/path
Enabled:              	1                        

Repo Name:            	always-enabled-content   
Repo Id:              	always-enabled-content   
Repo Url:             	https://cdn.redhat.com/foo/path/always/$releasever
Enabled:              	1                        

Repo Name:            	never-enabled-content    
Repo Id:              	never-enabled-content    
Repo Url:             	https://cdn.redhat.com/foo/path/never
Enabled:              	0                        

[root@jsefler-r63-server ~]# 


^^^ VERIFIED THAT A CONSUMER WITH AN EMPTY STRING "" releaseVer DOES NOT SUBSTITUTE A VALUE FOR $releasever in the redhat.repo




______________________________________________________________________

[root@jsefler-r63-server ~]# subscription-manager release --set TEST_RELEASE
Release set to: TEST_RELEASE
[root@jsefler-r63-server ~]# subscription-manager release
Release: TEST_RELEASE
[root@jsefler-r63-server ~]# curl -k -u testuser1:password --stderr /dev/null https://jsefler-f14-candlepin:8443/candlepin/consumers/1ce9275e-01c6-4213-be00-12e229ffd7d3 | python -m simplejson/tool | grep releaseVer
    "releaseVer": {
        "releaseVer": "TEST_RELEASE"
[root@jsefler-r63-server ~]# yum -q repolist 2>/dev/null
[root@jsefler-r63-server ~]# cat /etc/yum.repos.d/redhat.repo
#
# Certificate-Based Repositories
# Managed by (rhsm) subscription-manager
#
# If this file is empty and this system is subscribed consider 
# a "yum repolist" to refresh available repos
#

[content-label]
name = content
baseurl = https://cdn.redhat.com/foo/path
enabled = 1
gpgcheck = 1
gpgkey = https://cdn.redhat.com/foo/path/gpg/
sslverify = 1
sslcacert = /etc/rhsm/ca/redhat-uep.pem
sslclientkey = /etc/pki/entitlement/8815059544163451235-key.pem
sslclientcert = /etc/pki/entitlement/8815059544163451235.pem
metadata_expire = 0

[always-enabled-content]
name = always-enabled-content
baseurl = https://cdn.redhat.com/foo/path/always/TEST_RELEASE
enabled = 1
gpgcheck = 1
gpgkey = https://cdn.redhat.com/foo/path/always/gpg
sslverify = 1
sslcacert = /etc/rhsm/ca/redhat-uep.pem
sslclientkey = /etc/pki/entitlement/8815059544163451235-key.pem
sslclientcert = /etc/pki/entitlement/8815059544163451235.pem
metadata_expire = 200

[never-enabled-content]
name = never-enabled-content
baseurl = https://cdn.redhat.com/foo/path/never
enabled = 0
gpgcheck = 1
gpgkey = https://cdn.redhat.com/foo/path/never/gpg
sslverify = 1
sslcacert = /etc/rhsm/ca/redhat-uep.pem
sslclientkey = /etc/pki/entitlement/8815059544163451235-key.pem
sslclientcert = /etc/pki/entitlement/8815059544163451235.pem
metadata_expire = 600
[root@jsefler-r63-server ~]# subscription-manager repos --list
+----------------------------------------------------------+
    Entitled Repositories in /etc/yum.repos.d/redhat.repo
+----------------------------------------------------------+
Repo Name:            	content                  
Repo Id:              	content-label            
Repo Url:             	https://cdn.redhat.com/foo/path
Enabled:              	1                        

Repo Name:            	always-enabled-content   
Repo Id:              	always-enabled-content   
Repo Url:             	https://cdn.redhat.com/foo/path/always/TEST_RELEASE
Enabled:              	1                        

Repo Name:            	never-enabled-content    
Repo Id:              	never-enabled-content    
Repo Url:             	https://cdn.redhat.com/foo/path/never
Enabled:              	0                        

[root@jsefler-r63-server ~]# 


^^^ VERIFIED THAT A CONSUMER WITH AN NON-NULL/NON-EMPTY STRING releaseVer DOES SUBSTITUTE A VALUE FOR $releasever in the redhat.repo




Moving to VERIFIED

Comment 7 errata-xmlrpc 2012-06-20 13:08:28 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, 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