Both the base and the LCD panels are concurrently maintainable on Everest. This epic covers both the backend and bmcweb work needed to enable this function.
High-level flow:
The Redfish API to perform CM is to use the "ReadyToRemove" redfish property. This is already done in the assembly schema for the TOD battery.
To prepare FRU for removal, user sets the ReadyToRemove property to true. bmcweb code calls into the VPD manager's "deleteFruVpd" API to mark the FRU as absent and remove any CCIN information from D-Bus. This will cause EM to detect that the FRU is gone and any sensors app to stop monitoring the sensors on the panel.
After the FRU is "replaced", user sets "ReadyToRemove" to false, bmcweb should trigger the singleFruCollect API to recollect FRU VPD and set the CCIN back on D-Bus. Any EM configs dependent on the CCIN should then be re-enabled.
Open questions:
The base panel has LEDs that are on the panel and the LED driver for those LEDs is on the panel as well. How do we (do we need to?) restore LED states post a CM?
Both the base and the LCD panels are concurrently maintainable on Everest. This epic covers both the backend and bmcweb work needed to enable this function.
High-level flow:
Open questions: