Bug 1972596

Summary: filter out bios_uuid field if the value is not in a UUID form
Product: Red Hat Satellite Reporter: Shimon Shtein <sshtein>
Component: RH Cloud - InventoryAssignee: Shimon Shtein <sshtein>
Status: CLOSED ERRATA QA Contact: Jameer Pathan <jpathan>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6.9.0CC: aruzicka, egolov
Target Milestone: 6.10.0Keywords: Triaged
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: tfm-rubygem-foreman_rh_cloud-4.0.22 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-11-16 14:11:58 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 Shimon Shtein 2021-06-16 10:01:39 UTC
Description of problem:

Since there is a possibility to override the "dmi::system::uuid" fact with any string in RHSM, the value that is reported by Satellite to the Inventory can be any string, which will fail validation on insert.


How reproducible:
Always


Steps to Reproduce:
1. Override the bios_uuid fact by placing a json file in /etc/subscription-manager/facts folder
2. Run subscription-manager facts and observe the new value there
3. Open Configure -> Inventory uploads page
4. Start report generation and uploading process
5. On the "uploading" page you can download the report and observe the "bios_uuid" value


Actual results:

The host will never appear on the Inventory


Expected results:

The host is uploaded to inventory without the bios_uuid value
Additional info:

Comment 1 Jameer Pathan 2021-07-19 05:39:00 UTC
Verified

verified with:
- Satellite 6.10.0 snap 8
- tfm-rubygem-foreman_rh_cloud-4.0.22-1.el7sat.noarch

Test steps:
1. Register a host with satellite.
2. Override dmi.system.uuid subscription manger fact of the registered host.
  - Create /etc/rhsm/facts/dmi_uuid.facts file and add new value for dmi.system.uuid as:
  - {"dmi.system.uuid": "invalid_dmi_uuid"}
3. force update fact values to satellite.(Run subscription-manager repos --list)
4. Generate inventory report.
5. Wait for some time and check if host is present on c.r.c

Observations:
- Inventory report didn't contain bios_uuid field.
- Host successfully uploaded to c.r.c inventory.

Comment 4 errata-xmlrpc 2021-11-16 14:11:58 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 (Moderate: Satellite 6.10 Release), 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/RHSA-2021:4702