Skip to content

tedge-agent ignores in progress workflows without a version after being updated #3305

@reubenmiller

Description

@reubenmiller

Describe the bug

The tedge-agent 1.4.0 ignores in-progress commands if the command does not contain any version information, i.e. the command instance was created by a tedge-agent version < 1.4.0.

This was discovered after updating the tedge-container-bundle project which uses a customer software_update workflow to perform a self-update of the container (which includes tedge-agent). The last release of the tedge-container-bundle uses thin-edge.io 1.3.1, and during the self-update process, when the new version of the container launch, which includes tedge-agent 1.4.0, the in-progress operation is being ignored. The operation will then remain in the state it was left in before the new container was spawned.

To Reproduce

A system test has been added to the thin-edge.io project which includes a workflow to reproduce this issue, so please refer to the PR for all the details. The process is roughly as follows:

  1. Install thin-edge.io 1.3.1

  2. Override the default software_update workflow which does a self-update of the tedge-agent

  3. Create a software update operation from the cloud

The above procedure will result in the software update operation being stuck in the EXECUTING state, and it will never complete.

Expected behavior

Command instances which don't have a version should still be respected by the tedge-agent, and the workflow matching the same name (as denoted by the operation = <name> field) should be used to continue processing the command instance.

Screenshots

Environment (please complete the following information):

Property Value
OS [incl. version] Any
Hardware [incl. revision] Any
System-Architecture Any
thin-edge.io version tedge 1.4.0
mosquitto version N/A

Additional context

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingtheme:workflowsTheme: Workflow engine topics

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions