Bug 1443693

Summary: failing to override "system.certificate_version" with a custom fact
Product: Red Hat Enterprise Linux 7 Reporter: John Sefler <jsefler>
Component: subscription-managerAssignee: Jiri Hnidek <jhnidek>
Status: CLOSED ERRATA QA Contact: John Sefler <jsefler>
Severity: high Docs Contact:
Priority: high    
Version: 7.4CC: jhnidek, khowell, redakkan, skallesh
Target Milestone: rcKeywords: Regression, Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: subscription-manager-1.19.10-1 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-08-01 19:23:41 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 2017-04-19 18:28:39 UTC
Description of problem:
This is a regression in behavior... The offending subscription-manager commit is f27dafb75bc8a2e20bd8ded0414344ea7b5eade9

Version-Release number of selected component (if applicable):
[root@jsefler-rhel7 ~]# rpm -q subscription-manager python-rhsm
subscription-manager-1.19.8-1.el7.x86_64
python-rhsm-1.19.5-1.el7.x86_64



How reproducible:


Steps to Reproduce:
[root@jsefler-rhel7 ~]# echo '{"system.certificate_version":"1.0"}' > /etc/rhsm/facts/custom.facts
[root@jsefler-rhel7 ~]# subscription-manager facts | grep certificate_version
system.certificate_version: 3.2


Actual results:
system.certificate_version: 3.2

Expected results:
system.certificate_version: 1.0


Additional info:
This does not affect all facts.  For example, a custom fact for "cpu.cpu_socket(s)" is working as expected...
[root@jsefler-rhel7 ~]# subscription-manager facts | grep cpu.cpu_socket
cpu.cpu_socket(s): 2
[root@jsefler-rhel7 ~]# echo '{"cpu.cpu_socket(s)":"1"}' > /etc/rhsm/facts/custom.facts
[root@jsefler-rhel7 ~]# subscription-manager facts | grep cpu.cpu_socket
cpu.cpu_socket(s): 1

Comment 3 Jiri Hnidek 2017-04-24 19:47:22 UTC
I can confirm this behavior in master too. Output from /var/log/rhsm/rhsm.log in upstream version shows that subscription-manager reads custom.facts twice:

2017-04-24 21:42:47,515 [INFO] subscription-manager:3061:MainThread @custom.py:85 - Loading custom facts from: /etc/rhsm/facts/custom.facts
2017-04-24 21:42:47,522 [INFO] subscription-manager:3061:MainThread @custom.py:85 - Loading custom facts from: /etc/rhsm/facts/custom.facts

but subscription-manager (version 1.17.15) reads it only once.

Comment 5 Shwetha Kallesh 2017-05-03 06:10:01 UTC
[root@dhcp71-191 ~]# subscription-manager version
server type: Red Hat Subscription Management
subscription management server: 0.9.51.21-1
subscription management rules: 5.15.1
subscription-manager: 1.19.12-1.el7
python-rhsm: 1.19.6-1.el7


[root@dhcp71-191 ~]# subscription-manager facts | grep certificate_version
system.certificate_version: 3.2


[root@dhcp71-191 ~]# echo '{"system.certificate_version":"1.0"}' > /etc/rhsm/facts/custom.facts[root@dhcp71-191 ~]# subscription-manager facts | grep certificate_versionsystem.certificate_version: 1.0

Comment 6 errata-xmlrpc 2017-08-01 19:23:41 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.

https://access.redhat.com/errata/RHBA-2017:2083