Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 2175689

Summary: [RFE] Support custom facts for structured information
Product: [Community] Candlepin (Migrated to Jira) Reporter: Nagoor Shaik <nshaik>
Component: candlepinAssignee: candlepin-bugs
Status: CLOSED WONTFIX QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 4.2CC: candlepin-bugs, fperalta, nmoumoul, redakkan
Target Milestone: ---Keywords: Bugfix, FutureFeature, NeedsTestCase, PrioBumpPM
Target Release: ---   
Hardware: All   
OS: All   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2024-02-02 14:07:45 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 Nagoor Shaik 2023-03-06 10:48:17 UTC
Description of problem:
Creating a custom nested RHSM facts, candlepin is unable to process it properly

Version-Release number of selected component (if applicable):
candlepin-4.2

How reproducible:
100%

Steps to Reproduce:
1. Register a machine to Customer Portal
2. Create nested custom facts as below 

# cat /etc/rhsm/facts/nested.facts 
{
"sys_environment": {
  "dc_name": "HQ",
  "rack_name": "B1CQ2"
  },
"sys_owner": {
  "server_owner": "Adam",
  "expiry": "12-17-2030"
  }
}

# subscription-manager facts | grep sys_
sys_environment: {'dc_name': 'HQ', 'rack_name': 'B1CQ2'}
sys_owner: {'server_owner': 'Adam', 'expiry': '12-17-2030'}

3. Try to update the facts, which fails as below

 # subscription-manager facts --update 

Runtime Error com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize value of type `java.lang.String` from Object value (token `JsonToken.START_OBJECT`)
 at [Source: (org.candlepin.servlet.filter.logging.TeeHttpServletRequest$1); line: 1, column: 9167] (through reference chain: org.candlepin.dto.api.server.v1.ConsumerDTO["facts"]->java.util.LinkedHashMap["sys_environment"]) at com.fasterxml.jackson.databind.exc.MismatchedInputException.from:59 (HTTP error code 400: Bad Request)


Actual results:
Nested facts are not working which should be usual case for storing structured information in facts

Expected results:
Nested facts should be supported

Additional info:

Comment 9 Nikos Moumoulidis 2024-02-02 14:07:45 UTC
Thank you for your interest in Candlepin. We have evaluated this request, and while we recognize that it is a valid request, we do not expect this to be implemented in the product in the foreseeable future. This is due to other priorities for the project, and not a reflection on the request itself. We are therefore closing this out as WONTFIX. If you have any concerns about this feel free to re-open this bug, or open a new bug with more up to date details.

Comment 10 Red Hat Bugzilla 2024-06-02 04:25:04 UTC
The needinfo request[s] on this closed bug have been removed as they have been unresolved for 120 days