Bug 1889637

Summary: dmidecode is returning Not Settable
Product: Red Hat Enterprise Linux 7 Reporter: Kenny Tordeurs <ktordeur>
Component: dmidecodeAssignee: lijiang
Status: NEW --- QA Contact: Jiri Dluhos <jdluhos>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 7.8CC: rvr
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Kenny Tordeurs 2020-10-20 09:04:09 UTC
Description of problem:

dmidecode is not "Not Settable" for hosts causing subscription-manager to malfunction. (all physical hosts are considered identical overwriting each others profiles)

# dmidecode | grep -i uuid
~~~
        UUID: Not Settable
~~~

# dmidecode -u | awk '
BEGIN { in1 = 0; hd = 0 }
/, DMI type / { in1 = 0 }
/Strings:/ { hd = 0 }
{ if (hd == 2) { printf "%s-%s\n", $1 $2, $3 $4 $5 $6 $7 $8; hd = 0 } }
{ if (hd == 1) { printf "UUID: %s-%s-%s-", $9 $10 $11 $12, $13 $14, $15 $16; hd = 2 } }
/, DMI type 1,/ { in1 = 1 }
/Header and Data:/ { if (in1 != 0) { hd = 1 } }'
~~~
UUID: 00000000-0000-0000-0000-000000000000
~~~


Version-Release number of selected component (if applicable):
# grep dmidecode installed-rpms 
~~~
dmidecode-3.2-3.el7.x86_64                                  Wed May 13 08:48:34 2020
python-dmidecode-3.12.2-4.el7.x86_64                        Wed May 13 08:48:50 2020
~~~

How reproducible:
Uncertain as the issue happens with following hardware:

Vendor: American Megatrends Inc.
Manufacturer: Supermicro
Product Name: SYS-2028TP-HTR

Steps to Reproduce:
1.
2.
3.

Actual results:
# dmidecode | grep -i uuid
~~~
        UUID: Not Settable
~~~

Expected results:
UUID to be set

Additional info:
Workaround is to manually set a uuid fact for subscription-manager.

# echo '{"dmi.system.uuid": "a2d759f2-7c4b-4142-bca9-3e1770cce354"}' > /etc/rhsm/facts/dmi.system.uuid.facts
Confirm it is set with:
# subscription-manager facts | grep -i uuid