Client control maps pause -> fail, reboots anyway

Mender version: 3.3.0 runtime: go1.19.3
Ubuntu 18.04.6 LTS 4.15.0-192-generic x86_64

Flow:

  • Set client control map to state: ArtifactInstall_Enter - id: hardcoded - priority: 0 - action: pause
  • Trigger deployment, artifact downloads successfully and pauses before installation as expected
  • Set client control map to state: ArtifactInstall_Enter - id: hardcoded - priority: 0 - action: fail

Expected behavior:
Upgrade fails, device does not reboot

Actual behavior:

Dec 21 15:54:00 my-device mender[10784]: time="2022-12-21T15:54:00Z" level=info msg="Received an update control map via D-Bus: {\"states\": {\"ArtifactInstall_Enter\": {\"action\": \"fail\"}}, \"id\": \"01234567-89

Dec 21 15:54:00 my-device mender[10784]: time="2022-12-21T15:54:00Z" level=info msg="Forced wake-up from sleep"
Dec 21 15:54:00 my-device mender[10784]: time="2022-12-21T15:54:00Z" level=info msg="State transition: mender-update-control-pause [none] -> mender-update-control [none]"
Dec 21 15:54:00 my-device mender[10784]: time="2022-12-21T15:54:00Z" level=info msg="Update Control: Forced update failure in update-install state"

Dec 21 15:54:00 my-device mender[10784]: time="2022-12-21T15:54:00Z" level=error msg="transient error: Forced a failed update"
Dec 21 15:54:00 my-device mender[10784]: time="2022-12-21T15:54:00Z" level=error msg="transient error: Forced a failed update"
Dec 21 15:54:00 my-device mender[10784]: time="2022-12-21T15:54:00Z" level=info msg="State transition: mender-update-control [none] -> rollback [ArtifactRollback]"

Dec 21 15:54:00 my-device mender[10784]: time="2022-12-21T15:54:00Z" level=info msg="Performing rollback"
Dec 21 15:54:00 my-device mender[10784]: time="2022-12-21T15:54:00Z" level=info msg="No update available, so no rollback needed."
Dec 21 15:54:00 my-device mender[10784]: time="2022-12-21T15:54:00Z" level=info msg="State transition: rollback [ArtifactRollback] -> rollback-reboot [ArtifactRollbackReboot_Enter]"
Dec 21 15:54:00 my-device mender[10784]: time="2022-12-21T15:54:00Z" level=info msg="Rebooting device(s) after rollback"
Dec 21 15:54:00 my-device mender[10784]: time="2022-12-21T15:54:00Z" level=info msg="Mender rebooting from inactive partition: /dev/sda3"

Yes, this is a known issue. If the type of update normally reboots, then the client does so just to be safe. In this case it happens even though nothing has been installed, so it is a bug, albeit a pretty harmless one.