I am currently using a test setup with mender 2.5.0 self-hosted.
Since some weeks a device is missing. We had a setup with 4 devices. But now only 3 are shown as active, no devices are shown in pending or rejected.
The missing device is powered on and located at a customer. I have no access to their network. The device’s display shows the artifact name installed of the previous update (D07-01-2021).
I checked the deployment log of all the deployments using the previous artifact D07-01-2021. Even in the deployment log I only see 3 devices listed.
In the log of the device auth container:
> time="2021-01-14T10:22:50Z" level=warning msg="Failed to extract identity from header: malformed authorization data" file=entry.go func="logrus.(*Entry).Warnf" line=354 request_id=9f104def-6eff-4
> 7a3-a613-1a713262206d
> time="2021-01-14T10:22:50Z" level=warning msg="dev auth: unauthorized: dev auth: unauthorized" file=response_helpers.go func=rest_utils.restErrWithLogMsg line=108 request_id=9f104def-6eff-47a3-a6
> 13-1a713262206d
> time="2021-01-14T10:22:50Z" level=info msg="401 70147μs POST /api/devices/v1/authentication/auth_requests HTTP/1.1 - Go-http-client/1.1" byteswritten=110 file=entry.go func="logrus.(*Entry).Print
> " line=300 method=POST path=/api/devices/v1/authentication/auth_requests qs= request_id=9f104def-6eff-47a3-a613-1a713262206d responsetime=0.070147571 status=401 ts="2021-01-14 10:22:50.068210523
> +0000 UTC" type=http
I have tried to cleanup the decomissioning log
docker exec menderproduction_mender-device-auth_1 /usr/bin/deviceauth maintenance --decommissioning-cleanup
I have checked the mongo database: db.devices.find()
There are 4 devices in there, The missing device is listed as
{ "_id" : "5217c8c5-0138-4a81-a045-ebea2e6250ff", "pubkey" : "-----BEGIN PUBLIC KEY-----<omitted>\n-----END PUBLIC KEY-----\n", "id_data" : "{\"mac\":\"b8:27:eb:4f:77:8e\"}", "id_data_struct" : { "mac" : "b8
:27:eb:4f:77:8e" }, "id_data_sha256" : BinData(0,"cujtc9bEOR2a3+nxpZHVLs0SsBkpqOpruCBcnTpMAyo="), "status" : "noauth", "created_ts" : ISODate("2020-11-08T19:10:00.239Z"), "updated_ts" : ISODate("
2020-12-22T09:13:03.572Z"), "api_limits" : { "bursts" : null, "quota" : { "max_calls" : 0, "interval_sec" : 0 } } }
The updated_ts timestamp is very old. I am sure that we have updated the device at least in 2021. The previous artifact D07-01-2021 after all was deployed successfully.
What would happen if the device RTC has failed?
How can I see what ‘malformed authorization data’ was sent, and why it has been rejected?