Closed sophokles73 closed 5 months ago
We have also discussed this functionality with @dimitar-dimitrow, and we think it would be a must have addition to the update manager. We just need to see how to fit this on the roadmap.
Getting the device owner's approval could be done as a communication(MQTT) between UM and a software component running on HMI(Human Machine Interface). MQTT topics and payloads should be defined. Here are some open questions that could be used to better define them.
After a discussion with @k-gostev , we aligned on the following things:
We want to use Kanto's Update Manager mechanism in the Software Defined Vehicle context. In particular, we are thinking about implementing an Update Agent which can perform a firmware update of an OEM specific control unit (ECU).
In general, the process maps pretty well to the Update Agent's state machine. However, after having downloaded the firmware artifact(s) and before applying the update, we would need to obtain the driver's approval for actually performing the firmware update. This is because the vehicle might not be usable during the update process which might take up to several hours.
We already thought about implementing a custom component which monitors the Update Agent's desired state feedback topic and produces a (custom) message for the Update Agent once the driver approval has been gathered (the mechanism for doing so is out-of-scope here). However, given that this seems to be a common use case (not only in the SDV context), we wonder if it makes sense to add to the Update Agent state machine in a generic way.
WDYT?