#
ca8c7e98 |
| 02-Nov-2024 |
Jagpal Singh Gill <paligill@gmail.com> |
Implement cable monitor
Cable monitor consumes a cable configuration file which mentions which cables are expected to be connected. This configuration file would be staged by an external service run
Implement cable monitor
Cable monitor consumes a cable configuration file which mentions which cables are expected to be connected. This configuration file would be staged by an external service running in the DC. Cable monitor also consumes the Cable inventory from EM and compares that against the expected cables from configuration file. Based on this, it generates cable connected/disconnected events. For more information, refer to design https://gerrit.openbmc.org/c/openbmc/docs/+/74799.
Related PRs: https://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/74397
Tested: Testing has been performed with simulated configuration. ``` >> busctl tree xyz.openbmc_project.EntityManager `- /xyz `- /xyz/openbmc_project |- /xyz/openbmc_project/EntityManager `- /xyz/openbmc_project/inventory `- /xyz/openbmc_project/inventory/system `- /xyz/openbmc_project/inventory/system/cable |- /xyz/openbmc_project/inventory/system/cable/Yosemite_4_Tray_Cable | |- /xyz/openbmc_project/inventory/system/cable/Yosemite_4_Tray_Cable/TrayDetector1 | `- /xyz/openbmc_project/inventory/system/cable/Yosemite_4_Tray_Cable/TrayDetector2 `- /xyz/openbmc_project/inventory/system/cable/Yosemite_4_Tray_Cable_2 |- /xyz/openbmc_project/inventory/system/cable/Yosemite_4_Tray_Cable_2/TrayDetector3 `- /xyz/openbmc_project/inventory/system/cable/Yosemite_4_Tray_Cable_2/TrayDetector4
>> cat /var/lib/cablemonitor.d/cable-config.json { "ConnectedCables": ["Yosemite 4 Tray Cable", "Yosemite 4 Tray Cable 2"] }
>> busctl tree xyz.openbmc_project.EntityManager `- /xyz `- /xyz/openbmc_project |- /xyz/openbmc_project/EntityManager `- /xyz/openbmc_project/inventory `- /xyz/openbmc_project/inventory/system `- /xyz/openbmc_project/inventory/system/cable `- /xyz/openbmc_project/inventory/system/cable/Yosemite_4_Tray_Cable |- /xyz/openbmc_project/inventory/system/cable/Yosemite_4_Tray_Cable/TrayDetector1 `- /xyz/openbmc_project/inventory/system/cable/Yosemite_4_Tray_Cable/TrayDetector2
>> curl -k -H "X-Auth-Token: $token" -X GET https://${bmc}/redfish/v1/Systems/system/LogServices/EventLog/Entries { "@odata.id": "/redfish/v1/Systems/system/LogServices/EventLog/Entries", "@odata.type": "#LogEntryCollection.LogEntryCollection", "Description": "Collection of System Event Log Entries", "Members": [ ... { "@odata.id": "/redfish/v1/Systems/system/LogServices/EventLog/Entries/3", "@odata.type": "#LogEntry.v1_9_0.LogEntry", "AdditionalDataURI": "/redfish/v1/Systems/system/LogServices/EventLog/Entries/3/attachment", "Created": "2024-05-10T08:53:12.409+00:00", "EntryType": "Event", "Id": "3", "Message": "xyz.openbmc_project.State.Cable.CableDisconnected", "Modified": "2024-05-10T08:53:12.409+00:00", "Name": "System Event Log Entry", "Resolved": false, "Severity": "Warning" } ], "Members@odata.count": 2, "Name": "System Event Log Entries" }
>> curl -k -H "X-Auth-Token: $token" -X GET https://${bmc}/redfish/v1/Systems/system/LogServices/EventLog/Entries { "@odata.id": "/redfish/v1/Systems/system/LogServices/EventLog/Entries", "@odata.type": "#LogEntryCollection.LogEntryCollection", "Description": "Collection of System Event Log Entries", "Members": [ ... { "@odata.id": "/redfish/v1/Systems/system/LogServices/EventLog/Entries/3", "@odata.type": "#LogEntry.v1_9_0.LogEntry", "AdditionalDataURI": "/redfish/v1/Systems/system/LogServices/EventLog/Entries/3/attachment", "Created": "2024-05-10T08:53:12.409+00:00", "EntryType": "Event", "Id": "3", "Message": "xyz.openbmc_project.State.Cable.CableDisconnected", "Modified": "2024-05-10T08:54:13.691+00:00", "Name": "System Event Log Entry", "Resolved": true, "Severity": "Warning" }, { "@odata.id": "/redfish/v1/Systems/system/LogServices/EventLog/Entries/5", "@odata.type": "#LogEntry.v1_9_0.LogEntry", "AdditionalDataURI": "/redfish/v1/Systems/system/LogServices/EventLog/Entries/5/attachment", "Created": "2024-05-10T08:54:13.743+00:00", "EntryType": "Event", "Id": "5", "Message": "xyz.openbmc_project.State.Cable.CableConnected", "Modified": "2024-05-10T08:54:13.743+00:00", "Name": "System Event Log Entry", "Resolved": false, "Severity": "OK" } ], "Members@odata.count": 4, "Name": "System Event Log Entries" } ```
Change-Id: Ic0552962406a95cc46d4dd1d83d72e68e0bd28b4 Signed-off-by: Jagpal Singh Gill <paligill@gmail.com>
show more ...
|