feat(site-explorer): backfill system Ethernet interfaces from Expecte…#1710
feat(site-explorer): backfill system Ethernet interfaces from Expecte…#1710vinodchitraliNVIDIA wants to merge 1 commit into
Conversation
91ad220 to
43979d9
Compare
poroh
left a comment
There was a problem hiding this comment.
If generation of machine ID needs to have information from expected machine it should take it directly from the source. Site explorer report should provide ground truth collected from the devices.
Patching data structures to satisfy downstream data processing requirements should only be done if we cannot change downstream data processing.
|
@poroh 's comment makes sense to me. So far we avoid patching manipulating the If patching also makes sense for other types of reports (and I think it could!), then I'd be interested to see it applied in a more generic fashion (not "just host NICs"). E.g. specify a bit of JSON and a JSON path in the endpointexplorationreport and then apply his. |
43979d9 to
1535eb9
Compare
In certain platforms we have bug. Expecting no fixes coming from BMC team. BUt will be fixed next platforms. Hence this fallback. |
I'm not saying that we shouldn't fix it. I'm saying that we shouldn't fix it by patching Redfish-collected data by user generated data from expected machines. If we need this for correct machine ID generation just pass expected machine data to ID generation function and use information there. Make it explicit, without any surprises to somebody who will take a look at the exploration report and will not understand where it comes from. |
…dMachine.host_nics When Redfish does not expose System EthernetInterfaces for a host endpoint, synthesize them from the operator-supplied ExpectedMachine.host_nics so downstream logic (e.g. MachineId generation and nic-type classification) continues to work. The backfill only runs when the system's ethernet_interfaces list is empty and the endpoint is not a DPU, switch, or power shelf, so any Redfish-reported data is preserved as-is. Each synthesized entry uses the operator-provided nic_type in its id when available, and falls back to a positional id otherwise.
1535eb9 to
6950a3b
Compare
|
🌿 Preview your docs: https://nvidia-preview-pull-request-1710.docs.buildwithfern.com/infra-controller |
Its not machine ID. Its for Host nic booting. adding operator provided host nic to redfish tree inventory However i moved the logic |
…dMachine.host_nics
When Redfish does not expose System EthernetInterfaces for a host endpoint, synthesize them from the operator-supplied ExpectedMachine.host_nics so downstream logic (e.g. MachineId generation and nic-type classification) continues to work.
The backfill only runs when the system's ethernet_interfaces list is empty and the endpoint is not a DPU, switch, or power shelf, so any Redfish-reported data is preserved as-is. Each synthesized entry uses the operator-provided nic_type in its id when available, and falls back to a positional id otherwise.
Description
Type of Change
Related Issues (Optional)
Breaking Changes
Testing
Additional Notes