Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Optimized, deterministic intermediate desired state feedback messages from update agent #201

Closed
stoyan-zoubev opened this issue Oct 18, 2023 · 0 comments · Fixed by #204
Closed
Assignees
Labels
task Single unit of work
Milestone

Comments

@stoyan-zoubev
Copy link
Contributor

The current implementation of container update agent sends desired state feedback messages in a way that is dependent in the order of the containers to be updated.

Example: DOWNLOAD commmand for a desired state with one new container to be installed.
A. Container is not the last one in the list:

  1. CUA sends a feedback message with overall status DOWNLOADING, container action status DOWNLOADING when starting the creation process of the new container (container image is being downloaded).
  2. New container instance is created, then CUA sends a feedback message with overall status still DOWNLOADING, container action status DOWNLOAD_SUCCESS.
  3. The rest of the containers in the list of action do not need new container instances to be created. CUA almost immediately sends a feedback message with overall status DOWNLOAD_SUCCESS, container action status DOWNLOAD_SUCCESS to mark the completion of the DOWNLOAD command.

B. Container is the last one in the list.
In this case the second feedback message is skipped, CUA sends only messages 1 and 3 which is optimal.

The same is valid for the other commands too - UPDATE, ACTIVATE...

It is better to optimize the feedback messages. This will make testing easier and expected messages not dependent on the containers order.
Also unit tests shall be provided to cover the implementation. Such unit tests are currently missing completely.

@dimitar-dimitrow dimitar-dimitrow added the task Single unit of work label Oct 19, 2023
@dimitar-dimitrow dimitar-dimitrow added this to the M4 milestone Oct 19, 2023
stoyan-zoubev added a commit to SoftwareDefinedVehicle/kanto-container-management-fork that referenced this issue Oct 19, 2023
…te feedback messages

+ added unit tests for update agent command processing and feedback messages

Signed-off-by: Stoyan Zoubev <Stoyan.Zoubev@bosch.io>
stoyan-zoubev added a commit to SoftwareDefinedVehicle/kanto-container-management-fork that referenced this issue Nov 2, 2023
…te feedback messages

+ added unit tests for update agent command processing and feedback messages


Signed-off-by: Stoyan Zoubev <Stoyan.Zoubev@bosch.io>
stoyan-zoubev added a commit to SoftwareDefinedVehicle/kanto-container-management-fork that referenced this issue Nov 2, 2023
…te feedback messages

+ added unit tests for update agent command processing and feedback messages

Signed-off-by: Stoyan Zoubev <Stoyan.Zoubev@bosch.com>
k-gostev pushed a commit that referenced this issue Nov 2, 2023
…essages (#204)

+ added unit tests for update agent command processing and feedback messages

Signed-off-by: Stoyan Zoubev <Stoyan.Zoubev@bosch.com>
@k-gostev k-gostev closed this as completed Nov 2, 2023
k-gostev pushed a commit that referenced this issue Apr 30, 2024
…essages (#204)

+ added unit tests for update agent command processing and feedback messages

Signed-off-by: Stoyan Zoubev <Stoyan.Zoubev@bosch.com>
dimitar-dimitrow added a commit that referenced this issue May 10, 2024
[#234] Merge `dev-m5` branch into `main`
* [#51] Improve containerd client unit tests (#203)
* [#201] Optimized, deterministic intermediate desired state feedback messages (#204)
* [#208] Add file flag to the CLI create command (#209)
* [#191] Container remains Stopped after container-management service restart (#214)
* [#210] Remove command should accept more than one container ID (#212)
* [#196] Starting of constantly restarting container fails (#216)
* [#67] Implement signed images verification (#215)
* [#91] Provide unit tests covering signed images verification (#220)
* [#213] Add quiet flag, to the list command. (#221)
* [#217] CLI Remove command improvements (#224)

---------

Signed-off-by: Daniel Milchev fixed-term.daniel.milchev@bosch.io
Signed-off-by: Stoyan Zoubev <Stoyan.Zoubev@bosch.com>
Signed-off-by: Kristiyan Gostev <kristiyan.gostev@bosch.com>
Signed-off-by: Dimitar Dimitrov <dimitar.dimitrov3@bosch.com>
Co-authored-by: Daniel Milchev <fixed-term.daniel.milchev@bosch.io>
Co-authored-by: Stoyan Zoubev <Stoyan.Zoubev@bosch.io>
Co-authored-by: Dimitar Dimitrov <dimitar.dimitrov3@bosch.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
task Single unit of work
Projects
Status: Done
3 participants