No public key was provided for authenticating the artifact

This is the error log I got for when deploying my update. I believe that the error is somewhere related to the Download_Leave script.

  1. What might have been the issue?

  2. Also, do I need to make any configuration to use Download_Enter and Download_Leave scripts that are inside etc/mender/scripts directory ?

Here is my error log:

{“level”:“info”,“message”:“Running Mender client version: 2.3.0”,“timestamp”:“2020-09-24T16:51:00+01:00”}
{“level”:“info”,“message”:“State transition: update-fetch [Download_Enter] -\u003e update-store [Download_Enter]”,“timestamp”:“2020-09-24T16:51:03+01:00”}
{“level”:“info”,“message”:“No public key was provided for authenticating the artifact”,“timestamp”:“2020-09-24T16:51:04+01:00”}
{“level”:“info”,“message”:“State transition: update-store [Download_Enter] -\u003e update-after-store [Download_Leave]”,“timestamp”:"2020-09-24T16:51:11+01:0$
{“level”:“info”,“message”:“State transition: update-after-store [Download_Leave] -\u003e update-install [ArtifactInstall]”,“timestamp”:"2020-09-24T16:51:13+0$
{“level”:“error”,“message”:"transient error: error executing leave script for update-after-store state: error running leave state script(s) for Download_Leav$
{“level”:“info”,“message”:“State transition: update-after-store [Download_Leave] -\u003e cleanup [Error]”,“timestamp”:“2020-09-24T16:51:13+01:00”}
{“level”:“info”,“message”:“State transition: cleanup [Error] -\u003e update-status-report [none]”,“timestamp”:“2020-09-24T16:51:13+01:00”}

{“level”:“info”,“message”:“No public key was provided for authenticating the artifact”,“timestamp”:“2020-09-24T16:51:04+01:00”}

This just an information print, and should be harmless.

This seems to be your error, and indeed it seems that a Download_Leave script is failing.

Here is the full line for the Download_Leave error. Can you explain what problem is it addressing to ? I didn’t quite understand the version issue.

{“level”:“error”,“message”:“transient error: error executing leave script for update-after-store state: error running leave state script(s) for Download_Leave state: statescript: The version read from the version file in the statescript irectory does not match the versions supported by the client, please make sure the file is present and formatted correctly (supported: [2 3]; actual: 0).”,“timestamp”:“2020-09-24T16:51:13+01:00”}

There is a file that is normally created by Yocto or mender-convert in /etc/mender/scripts/version that contains the version number of state scripts supported. You can see how it’s created with mender-convert here.

You need to ensure that file exists with whatever mechanism you use to generate your build.

Drew