System update stuck at 99%

Hello,

I have recently dived in to mender. I am using a raspberrypiCm3, I was following the tutorial to perform a system update.
I was able to deploy the release(mender-artifact). The machine rebooted and came back up
but the dashboard is stuck at 99% When I looked into the logs I found
error reporting update status: reporting status failed: Put https:///api/devices/v1/deployments/device/deployments/c85b7043-e9a7-4111-ba7a-6fd8830f4ac4/status: http: no Host in request URL

There are other warnings as well. Which I am not so sure about
2020-07-16 20:51:43 +0000 UTC warning: UpdatePollIntervalSeconds is not defined
2020-07-16 20:51:43 +0000 UTC warning: RetryPollIntervalSeconds is not defined
2020-07-16 20:51:43 +0000 UTC warning: RetryPollIntervalSeconds is not defined
Finally the log said
dial tcp: lookup hosted.mender.io on 192.168.1.1:53: dial udp 192.168.1.1:53: connect: network is unreachable

The network is up. I am able to perform a ping and curl requests. So what could be the reason behind this?
My Mender.conf file. I have removed my tenantToken on purpose. But the rest of it is intact.

{
    "ClientProtocol": "https",
    "ArtifactVerifyKey": "",
    "HttpsClient": {
        "Certificate": "",
        "Key": "",
        "SkipVerify": false
    },
    "RootfsPartA": "/dev/mmcblk0p2",
    "RootfsPartB": "/dev/mmcblk0p3",
    "DeviceTypeFile": "/var/lib/mender/device_type",
    "UpdatePollIntervalSeconds": 5,
    "InventoryPollIntervalSeconds": 5,
    "RetryPollIntervalSeconds": 30,
    "StateScriptTimeoutSeconds": 0,
    "StateScriptRetryTimeoutSeconds": 0,
    "StateScriptRetryIntervalSeconds": 0,
    "ModuleTimeoutSeconds": 0,
    "ServerCertificate": "",
    "ServerURL": "",
    "UpdateLogPath": "",
    "TenantToken": 
    "Servers": [
        {
            "ServerURL": "https://hosted.mender.io"
        }
    ]
}

Do I have update my mender.conf file?

Hi @thesillywhat, welcome to Mender Hub.

It looks like your mender.conf in the updated image is indeed incorrect. Your ServerURL is blank. How did you generate this file? I think having both the ServerURL and the Servers settings does not work so unless you are explicitly setting up multiple servers for migration, I would remove the Servers setting and update ServerURL.

Drew

@drewmoseley I am just following the documentation at https://docs.mender.io/hosted/get-started/deploy-a-system-update

So I did not make any changes to mender.conf file. These files were generated by default.
my URL is https://hosted.mender.io Should I just add that?

Also, is there any other documentation I should be looking at?

Hi @thesillywhat apologies. My earlier assertion about the ServerURL setting was incorrect.

I just ran through the full instructions starting with Deploy an application update as that is a prerequisite for running the system updates. In my case it succeeded without issue so I guess we need to figure out what is different in your setup.

Did you start with the application update instructions and use our pre-provided image?

When you do the system update, can you provide a serial log from the Raspberry Pi device when running “sudo journalctl -u mender-client --follow”?

Drew

Hello @drewmoseley,
I am able to perform a application update successfully. Its the system update that I am failing at.

Here are the steps that I am performing.

  1. This is the image I am downloading 2020-05-27-raspios-buster-lite-armhf-raspberrypi3-mender-2.3.0b1.img.xz
  2. I then flash two devices: device A is my golden device and device B is my mender device.
  3. I then edit the config.txt to add some overlay files to make my custom screen work.
  4. I create a mender-artifact using the golden device.
  5. Deploy the artifact on device B. (This is where I am getting stuck at)

The output of journalctl was too large. Maybe because I have tried it so many times now. So I am re-imaging the devices will provided you the log file as soon as possible

How are you doing step 4? Are you use the mender-artifact snapshot or just removing the SDCard and imaging it?

Also, there is an issue with using mender-converted images as input. I have a PR for that here: https://github.com/mendersoftware/mender-convert/pull/224.

If you can try that one and see if it helps, that would be great.
Drew

for step 4. I am using an Ubuntu workstation and running the mender-artifact command from that location. following the steps from tutorial. But I understand what you are saying.
Will try it out and let you know.

Hello @drewmoseley,

Good Morning, I have good news finally. So I was able to deploy a system update successfully.
Here are the steps that I performed.

  1. I flashed the image that was mentioned in documentation. Installed mender client on golden device
  2. Created a mender-artifact of the golden device(By using mender Artifact from my ubuntu workstation)
  3. Deployed system update using that artifact on the golden device.

So What I am trying to understand is, what was different in the earlier process?
Edit1: Removed some content as the answer is present in the documentation. I just have to finish reading it

@thesillywhat I would also like to understand what was different in the earlier process. It’s unclear what you have done here.

When you say you " Created a mender-artifact of the golden device(By using mender Artifact from my ubuntu workstation)" I’m not clear what that means. Can you provide exact commands that you invoked to generate this? Include please a description of the hardware; ie what disk contains the target OS image, where it is connected, etc.

Drew

Sure, Will do that. The more I try to explain, it feels like I am creating a labyrinth.

So, I have managed to create a png image of what I had done.

So I am using Raspberry-pi compute module 3 flashing it with the image provided in diagram above.
My workstation is Ubuntu 18.04
and the mender-artifact command is

mender-artifact write rootfs-image \
    -f ssh://"${USER}@${IP_ADDRESS}" \
    -t "${DEVICE_TYPE}" \
    -n system-v1 \
    -o system-v1.mender \
    -S "${SSH_ARGS}"

Does the diagram make any sense?

Yes, that makes sense and I don’t see anything wrong with it. It’s difficult to say why the original setup had issues. If you are able to reproduce it, logs from your “Raspberrypi-Cme Mender-Client” machine would be useful.
Drew

I have been able to reproduce the issue. I am currently getting the log file ready.

Here is the log

/////////Before Update///////////////////////////
Jul 21 20:54:10 raspberrypi mender[349]: time="2020-07-21T20:54:10+01:00" level=info msg="State transition: check-wait [Idle] -> inventory-update [Sync]"
Jul 21 20:54:11 raspberrypi mender[349]: time="2020-07-21T20:54:11+01:00" level=info msg="State transition: inventory-update [Sync] -> check-wait [Idle]"
Jul 21 20:54:11 raspberrypi mender[349]: time="2020-07-21T20:54:11+01:00" level=info msg="State transition: check-wait [Idle] -> update-check [Sync]"
Jul 21 20:54:11 raspberrypi mender[349]: time="2020-07-21T20:54:11+01:00" level=info msg="Correct request for getting image from: https://s3.amazonaws.com/hosted-mender-artifacts/5f1073eb5e317ee189da5420/a593978c-1aaa-4c28-81ed-a7ed21e4d8fa?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAQWI25QR6NDTJ7DLD%2F20200721%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20200721T195411Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&response-content-type=application%2Fvnd.mender-artifact&X-Amz-Signature=090c763da68d7f5b8a0093224166ae99534f32e109bc60c9c28f2d0d5107d672 [name: system-v1; devices: [raspberrypi3]]"
Jul 21 20:54:11 raspberrypi mender[349]: time="2020-07-21T20:54:11+01:00" level=info msg="State transition: update-check [Sync] -> update-fetch [Download_Enter]"
Jul 21 20:54:11 raspberrypi mender[349]: time="2020-07-21T20:54:11+01:00" level=info msg="Running Mender client version: 2.3.0"
Jul 21 20:54:12 raspberrypi mender[349]: time="2020-07-21T20:54:12+01:00" level=info msg="State transition: update-fetch [Download_Enter] -> update-store [Download_Enter]"
Jul 21 20:54:12 raspberrypi mender[349]: time="2020-07-21T20:54:12+01:00" level=info msg="No public key was provided for authenticating the artifact"
Jul 21 20:54:12 raspberrypi mender[349]: time="2020-07-21T20:54:12+01:00" level=info msg="Opening device \"/dev/mmcblk0p2\" for writing"
Jul 21 20:54:12 raspberrypi mender[349]: time="2020-07-21T20:54:12+01:00" level=info msg="Native sector size of block device /dev/mmcblk0p2 is 512 bytes. Mender will write in chunks of 1048576 bytes"
Jul 21 21:03:32 raspberrypi mender[349]: time="2020-07-21T21:03:32+01:00" level=info msg="All bytes were successfully written to the new partition"
Jul 21 21:03:32 raspberrypi mender[349]: time="2020-07-21T21:03:32+01:00" level=info msg="The optimized block-device writer wrote a total of 3565 frames, where 27 frames did need to be rewritten (i.e., skipped)"
Jul 21 21:03:33 raspberrypi mender[349]: time="2020-07-21T21:03:33+01:00" level=info msg="Wrote 3737124864/3737124864 bytes to the inactive partition"
Jul 21 21:03:33 raspberrypi mender[349]: time="2020-07-21T21:03:33+01:00" level=info msg="State transition: update-store [Download_Enter] -> update-after-store [Download_Leave]"
Jul 21 21:03:34 raspberrypi mender[349]: time="2020-07-21T21:03:34+01:00" level=info msg="State transition: update-after-store [Download_Leave] -> update-install [ArtifactInstall]"
Jul 21 21:03:34 raspberrypi mender[349]: time="2020-07-21T21:03:34+01:00" level=info msg="Enabling partition with new image installed to be a boot candidate: 2"
Jul 21 21:03:34 raspberrypi mender[349]: time="2020-07-21T21:03:34+01:00" level=info msg="State transition: update-install [ArtifactInstall] -> reboot [ArtifactReboot_Enter]"
Jul 21 21:03:34 raspberrypi mender[349]: time="2020-07-21T21:03:34+01:00" level=info msg="Rebooting device(s)"
Jul 21 21:03:34 raspberrypi mender[349]: time="2020-07-21T21:03:34+01:00" level=info msg="Mender rebooting from active partition: /dev/mmcblk0p3"

///////After Reboot////////////////////////
Jul 21 15:58:38 raspberrypi mender[354]: time="2020-07-21T15:58:38+01:00" level=info msg="State transition: init [none] -> after-reboot [ArtifactReboot_Leave]"
Jul 21 15:58:42 raspberrypi mender[354]: time="2020-07-21T15:58:42+01:00" level=info msg="State transition: after-reboot [ArtifactReboot_Leave] -> after-reboot [ArtifactReboot_Leave]"
Jul 21 15:58:42 raspberrypi mender[354]: time="2020-07-21T15:58:42+01:00" level=info msg="State transition: after-reboot [ArtifactReboot_Leave] -> update-commit [ArtifactCommit_Enter]"
Jul 21 15:58:43 raspberrypi mender[354]: time="2020-07-21T15:58:43+01:00" level=error msg="Failed to report status: Put https:///api/devices/v1/deployments/device/deployments/312b2d92-8b0f-49b7-8657-cb50289b6c69/status: http: no Host in request URL"
Jul 21 15:58:43 raspberrypi mender[354]: time="2020-07-21T15:58:43+01:00" level=error msg="error reporting update status: reporting status failed: Put https:///api/devices/v1/deployments/device/deployments/312b2d92-8b0f-49b7-8657-cb50289b6c69/status: http: no Host in request URL"
Jul 21 15:58:43 raspberrypi mender[354]: time="2020-07-21T15:58:43+01:00" level=error msg="Failed to send status report to server: transient error: reporting status failed: Put https:///api/devices/v1/deployments/device/deployments/312b2d92-8b0f-49b7-8657-cb50289b6c69/status: http: no Host in request URL"
Jul 21 15:58:43 raspberrypi mender[354]: time="2020-07-21T15:58:43+01:00" level=info msg="State transition: update-commit [ArtifactCommit_Enter] -> update-pre-commit-status-report-retry [ArtifactCommit_Enter]"
Jul 21 15:58:43 raspberrypi mender[354]: time="2020-07-21T15:58:43+01:00" level=warning msg="UpdatePollIntervalSeconds is not defined"
Jul 21 15:58:43 raspberrypi mender[354]: time="2020-07-21T15:58:43+01:00" level=warning msg="RetryPollIntervalSeconds is not defined"
Jul 21 15:58:43 raspberrypi mender[354]: time="2020-07-21T15:58:43+01:00" level=warning msg="RetryPollIntervalSeconds is not defined"
Jul 21 21:09:18 raspberrypi mender[354]: time="2020-07-21T21:09:18+01:00" level=info msg="State transition: update-pre-commit-status-report-retry [ArtifactCommit_Enter] -> update-commit [ArtifactCommit_Enter]"
Jul 21 21:09:18 raspberrypi mender[354]: time="2020-07-21T21:09:18+01:00" level=error msg="Failed to report status: Put https:///api/devices/v1/deployments/device/deployments/312b2d92-8b0f-49b7-8657-cb50289b6c69/status: http: no Host in request URL"
Jul 21 21:09:18 raspberrypi mender[354]: time="2020-07-21T21:09:18+01:00" level=error msg="error reporting update status: reporting status failed: Put https:///api/devices/v1/deployments/device/deployments/312b2d92-8b0f-49b7-8657-cb50289b6c69/status: http: no Host in request URL"
Jul 21 21:09:18 raspberrypi mender[354]: time="2020-07-21T21:09:18+01:00" level=error msg="Failed to send status report to server: transient error: reporting status failed: Put https:///api/devices/v1/deployments/device/deployments/312b2d92-8b0f-49b7-8657-cb50289b6c69/status: http: no Host in request URL"
Jul 21 21:09:18 raspberrypi mender[354]: time="2020-07-21T21:09:18+01:00" level=info msg="State transition: update-commit [ArtifactCommit_Enter] -> update-pre-commit-status-report-retry [ArtifactCommit_Enter]"
Jul 21 21:09:18 raspberrypi mender[354]: time="2020-07-21T21:09:18+01:00" level=warning msg="UpdatePollIntervalSeconds is not defined"
Jul 21 21:09:18 raspberrypi mender[354]: time="2020-07-21T21:09:18+01:00" level=warning msg="RetryPollIntervalSeconds is not defined"
Jul 21 21:09:18 raspberrypi mender[354]: time="2020-07-21T21:09:18+01:00" level=warning msg="RetryPollIntervalSeconds is not defined"
Jul 21 21:14:18 raspberrypi mender[354]: time="2020-07-21T21:14:18+01:00" level=info msg="State transition: update-pre-commit-status-report-retry [ArtifactCommit_Enter] -> update-commit [ArtifactCommit_Enter]"
Jul 21 21:14:18 raspberrypi mender[354]: time="2020-07-21T21:14:18+01:00" level=error msg="Failed to report status: Put https:///api/devices/v1/deployments/device/deployments/312b2d92-8b0f-49b7-8657-cb50289b6c69/status: http: no Host in request URL"
Jul 21 21:14:18 raspberrypi mender[354]: time="2020-07-21T21:14:18+01:00" level=error msg="error reporting update status: reporting status failed: Put https:///api/devices/v1/deployments/device/deployments/312b2d92-8b0f-49b7-8657-cb50289b6c69/status: http: no Host in request URL"
Jul 21 21:14:19 raspberrypi mender[354]: time="2020-07-21T21:14:18+01:00" level=error msg="Failed to send status report to server: transient error: reporting status failed: Put https:///api/devices/v1/deployments/device/deployments/312b2d92-8b0f-49b7-8657-cb50289b6c69/status: http: no Host in request URL"
Jul 21 21:14:19 raspberrypi mender[354]: time="2020-07-21T21:14:19+01:00" level=info msg="State transition: update-commit [ArtifactCommit_Enter] -> update-pre-commit-status-report-retry [ArtifactCommit_Enter]"
Jul 21 21:14:19 raspberrypi mender[354]: time="2020-07-21T21:14:19+01:00" level=warning msg="UpdatePollIntervalSeconds is not defined"
Jul 21 21:14:19 raspberrypi mender[354]: time="2020-07-21T21:14:19+01:00" level=warning msg="RetryPollIntervalSeconds is not defined"
Jul 21 21:14:19 raspberrypi mender[354]: time="2020-07-21T21:14:19+01:00" level=warning msg="RetryPollIntervalSeconds is not defined"
Jul 21 21:19:19 raspberrypi mender[354]: time="2020-07-21T21:19:19+01:00" level=info msg="State transition: update-pre-commit-status-report-retry [ArtifactCommit_Enter] -> update-commit [ArtifactCommit_Enter]"
Jul 21 21:19:19 raspberrypi mender[354]: time="2020-07-21T21:19:19+01:00" level=error msg="Failed to report status: Put https:///api/devices/v1/deployments/device/deployments/312b2d92-8b0f-49b7-8657-cb50289b6c69/status: http: no Host in request URL"
Jul 21 21:19:19 raspberrypi mender[354]: time="2020-07-21T21:19:19+01:00" level=error msg="error reporting update status: reporting status failed: Put https:///api/devices/v1/deployments/device/deployments/312b2d92-8b0f-49b7-8657-cb50289b6c69/status: http: no Host in request URL"
Jul 21 21:19:19 raspberrypi mender[354]: time="2020-07-21T21:19:19+01:00" level=error msg="Failed to send status report to server: transient error: reporting status failed: Put https:///api/devices/v1/deployments/device/deployments/312b2d92-8b0f-49b7-8657-cb50289b6c69/status: http: no Host in request URL"
Jul 21 21:19:19 raspberrypi mender[354]: time="2020-07-21T21:19:19+01:00" level=info msg="State transition: update-commit [ArtifactCommit_Enter] -> update-pre-commit-status-report-retry [ArtifactCommit_Enter]"
Jul 21 21:19:19 raspberrypi mender[354]: time="2020-07-21T21:19:19+01:00" level=warning msg="UpdatePollIntervalSeconds is not defined"
Jul 21 21:19:19 raspberrypi mender[354]: time="2020-07-21T21:19:19+01:00" level=warning msg="RetryPollIntervalSeconds is not defined"
Jul 21 21:19:19 raspberrypi mender[354]: time="2020-07-21T21:19:19+01:00" level=warning msg="RetryPollIntervalSeconds is not defined"
Jul 21 21:24:19 raspberrypi mender[354]: time="2020-07-21T21:24:19+01:00" level=info msg="State transition: update-pre-commit-status-report-retry [ArtifactCommit_Enter] -> update-commit [ArtifactCommit_Enter]"
Jul 21 21:24:20 raspberrypi mender[354]: time="2020-07-21T21:24:19+01:00" level=error msg="Failed to report status: Put https:///api/devices/v1/deployments/device/deployments/312b2d92-8b0f-49b7-8657-cb50289b6c69/status: http: no Host in request URL"
Jul 21 21:24:20 raspberrypi mender[354]: time="2020-07-21T21:24:20+01:00" level=error msg="error reporting update status: reporting status failed: Put https:///api/devices/v1/deployments/device/deployments/312b2d92-8b0f-49b7-8657-cb50289b6c69/status: http: no Host in request URL"
Jul 21 21:24:20 raspberrypi mender[354]: time="2020-07-21T21:24:20+01:00" level=error msg="Failed to send status report to server: transient error: reporting status failed: Put https:///api/devices/v1/deployments/device/deployments/312b2d92-8b0f-49b7-8657-cb50289b6c69/status: http: no Host in request URL"
Jul 21 21:24:20 raspberrypi mender[354]: time="2020-07-21T21:24:20+01:00" level=info msg="State transition: update-commit [ArtifactCommit_Enter] -> update-pre-commit-status-report-retry [ArtifactCommit_Enter]"
Jul 21 21:24:20 raspberrypi mender[354]: time="2020-07-21T21:24:20+01:00" level=warning msg="UpdatePollIntervalSeconds is not defined"
Jul 21 21:24:20 raspberrypi mender[354]: time="2020-07-21T21:24:20+01:00" level=warning msg="RetryPollIntervalSeconds is not defined"
Jul 21 21:24:20 raspberrypi mender[354]: time="2020-07-21T21:24:20+01:00" level=warning msg="RetryPollIntervalSeconds is not defined"
Jul 21 21:29:20 raspberrypi mender[354]: time="2020-07-21T21:29:20+01:00" level=info msg="State transition: update-pre-commit-status-report-retry [ArtifactCommit_Enter] -> update-commit [ArtifactCommit_Enter]"
Jul 21 21:29:20 raspberrypi mender[354]: time="2020-07-21T21:29:20+01:00" level=error msg="Failed to report status: Put https:///api/devices/v1/deployments/device/deployments/312b2d92-8b0f-49b7-8657-cb50289b6c69/status: http: no Host in request URL"
Jul 21 21:29:20 raspberrypi mender[354]: time="2020-07-21T21:29:20+01:00" level=error msg="error reporting update status: reporting status failed: Put https:///api/devices/v1/deployments/device/deployments/312b2d92-8b0f-49b7-8657-cb50289b6c69/status: http: no Host in request URL"
Jul 21 21:29:20 raspberrypi mender[354]: time="2020-07-21T21:29:20+01:00" level=error msg="Failed to send status report to server: transient error: reporting status failed: Put https:///api/devices/v1/deployments/device/deployments/312b2d92-8b0f-49b7-8657-cb50289b6c69/status: http: no Host in request URL"
Jul 21 21:29:20 raspberrypi mender[354]: time="2020-07-21T21:29:20+01:00" level=info msg="State transition: update-commit [ArtifactCommit_Enter] -> update-pre-commit-status-report-retry [ArtifactCommit_Enter]"
Jul 21 21:29:20 raspberrypi mender[354]: time="2020-07-21T21:29:20+01:00" level=warning msg="UpdatePollIntervalSeconds is not defined"
Jul 21 21:29:20 raspberrypi mender[354]: time="2020-07-21T21:29:20+01:00" level=warning msg="RetryPollIntervalSeconds is not defined"
Jul 21 21:29:20 raspberrypi mender[354]: time="2020-07-21T21:29:20+01:00" level=warning msg="RetryPollIntervalSeconds is not defined"
Jul 21 21:34:20 raspberrypi mender[354]: time="2020-07-21T21:34:20+01:00" level=info msg="State transition: update-pre-commit-status-report-retry [ArtifactCommit_Enter] -> update-commit [ArtifactCommit_Enter]"
Jul 21 21:34:21 raspberrypi mender[354]: time="2020-07-21T21:34:21+01:00" level=error msg="Failed to report status: Put https:///api/devices/v1/deployments/device/deployments/312b2d92-8b0f-49b7-8657-cb50289b6c69/status: http: no Host in request URL"
Jul 21 21:34:21 raspberrypi mender[354]: time="2020-07-21T21:34:21+01:00" level=error msg="error reporting update status: reporting status failed: Put https:///api/devices/v1/deployments/device/deployments/312b2d92-8b0f-49b7-8657-cb50289b6c69/status: http: no Host in request URL"
Jul 21 21:34:21 raspberrypi mender[354]: time="2020-07-21T21:34:21+01:00" level=error msg="Failed to send status report to server: transient error: reporting status failed: Put https:///api/devices/v1/deployments/device/deployments/312b2d92-8b0f-49b7-8657-cb50289b6c69/status: http: no Host in request URL"
Jul 21 21:34:21 raspberrypi mender[354]: time="2020-07-21T21:34:21+01:00" level=info msg="State transition: update-commit [ArtifactCommit_Enter] -> update-pre-commit-status-report-retry [ArtifactCommit_Enter]"
Jul 21 21:34:21 raspberrypi mender[354]: time="2020-07-21T21:34:21+01:00" level=warning msg="UpdatePollIntervalSeconds is not defined"
Jul 21 21:34:21 raspberrypi mender[354]: time="2020-07-21T21:34:21+01:00" level=warning msg="RetryPollIntervalSeconds is not defined"
Jul 21 21:34:21 raspberrypi mender[354]: time="2020-07-21T21:34:21+01:00" level=warning msg="RetryPollIntervalSeconds is not defined"
Jul 21 21:39:21 raspberrypi mender[354]: time="2020-07-21T21:39:21+01:00" level=info msg="State transition: update-pre-commit-status-report-retry [ArtifactCommit_Enter] -> update-commit [ArtifactCommit_Enter]"
Jul 21 21:39:21 raspberrypi mender[354]: time="2020-07-21T21:39:21+01:00" level=error msg="Failed to report status: Put https:///api/devices/v1/deployments/device/deployments/312b2d92-8b0f-49b7-8657-cb50289b6c69/status: http: no Host in request URL"
Jul 21 21:39:21 raspberrypi mender[354]: time="2020-07-21T21:39:21+01:00" level=error msg="error reporting update status: reporting status failed: Put https:///api/devices/v1/deployments/device/deployments/312b2d92-8b0f-49b7-8657-cb50289b6c69/status: http: no Host in request URL"
Jul 21 21:39:21 raspberrypi mender[354]: time="2020-07-21T21:39:21+01:00" level=error msg="Failed to send status report to server: transient error: reporting status failed: Put https:///api/devices/v1/deployments/device/deployments/312b2d92-8b0f-49b7-8657-cb50289b6c69/status: http: no Host in request URL"
Jul 21 21:39:21 raspberrypi mender[354]: time="2020-07-21T21:39:21+01:00" level=info msg="State transition: update-commit [ArtifactCommit_Enter] -> update-pre-commit-status-report-retry [ArtifactCommit_Enter]"
Jul 21 21:39:21 raspberrypi mender[354]: time="2020-07-21T21:39:21+01:00" level=warning msg="UpdatePollIntervalSeconds is not defined"
Jul 21 21:39:21 raspberrypi mender[354]: time="2020-07-21T21:39:21+01:00" level=warning msg="RetryPollIntervalSeconds is not defined"
Jul 21 21:39:21 raspberrypi mender[354]: time="2020-07-21T21:39:21+01:00" level=warning msg="RetryPollIntervalSeconds is not defined"
Jul 21 21:44:22 raspberrypi mender[354]: time="2020-07-21T21:44:21+01:00" level=info msg="State transition: update-pre-commit-status-report-retry [ArtifactCommit_Enter] -> update-commit [ArtifactCommit_Enter]"
Jul 21 21:44:22 raspberrypi mender[354]: time="2020-07-21T21:44:22+01:00" level=error msg="Failed to report status: Put https:///api/devices/v1/deployments/device/deployments/312b2d92-8b0f-49b7-8657-cb50289b6c69/status: http: no Host in request URL"
Jul 21 21:44:22 raspberrypi mender[354]: time="2020-07-21T21:44:22+01:00" level=error msg="error reporting update status: reporting status failed: Put https:///api/devices/v1/deployments/device/deployments/312b2d92-8b0f-49b7-8657-cb50289b6c69/status: http: no Host in request URL"
Jul 21 21:44:22 raspberrypi mender[354]: time="2020-07-21T21:44:22+01:00" level=error msg="Failed to send status report to server: transient error: reporting status failed: Put https:///api/devices/v1/deployments/device/deployments/312b2d92-8b0f-49b7-8657-cb50289b6c69/status: http: no Host in request URL"
Jul 21 21:44:22 raspberrypi mender[354]: time="2020-07-21T21:44:22+01:00" level=info msg="State transition: update-commit [ArtifactCommit_Enter] -> update-pre-commit-status-report-retry [ArtifactCommit_Enter]"
Jul 21 21:44:22 raspberrypi mender[354]: time="2020-07-21T21:44:22+01:00" level=warning msg="UpdatePollIntervalSeconds is not defined"
Jul 21 21:44:22 raspberrypi mender[354]: time="2020-07-21T21:44:22+01:00" level=warning msg="RetryPollIntervalSeconds is not defined"
Jul 21 21:44:22 raspberrypi mender[354]: time="2020-07-21T21:44:22+01:00" level=warning msg="RetryPollIntervalSeconds is not defined"
Jul 21 21:49:22 raspberrypi mender[354]: time="2020-07-21T21:49:22+01:00" level=info msg="State transition: update-pre-commit-status-report-retry [ArtifactCommit_Enter] -> update-commit [ArtifactCommit_Enter]"
Jul 21 21:49:22 raspberrypi mender[354]: time="2020-07-21T21:49:22+01:00" level=error msg="Failed to report status: Put https:///api/devices/v1/deployments/device/deployments/312b2d92-8b0f-49b7-8657-cb50289b6c69/status: http: no Host in request URL"
Jul 21 21:49:22 raspberrypi mender[354]: time="2020-07-21T21:49:22+01:00" level=error msg="error reporting update status: reporting status failed: Put https:///api/devices/v1/deployments/device/deployments/312b2d92-8b0f-49b7-8657-cb50289b6c69/status: http: no Host in request URL"
Jul 21 21:49:22 raspberrypi mender[354]: time="2020-07-21T21:49:22+01:00" level=error msg="Failed to send status report to server: transient error: reporting status failed: Put https:///api/devices/v1/deployments/device/deployments/312b2d92-8b0f-49b7-8657-cb50289b6c69/status: http: no Host in request URL"
Jul 21 21:49:22 raspberrypi mender[354]: time="2020-07-21T21:49:22+01:00" level=info msg="State transition: update-commit [ArtifactCommit_Enter] -> update-pre-commit-status-report-retry [ArtifactCommit_Enter]"
Jul 21 21:49:23 raspberrypi mender[354]: time="2020-07-21T21:49:22+01:00" level=warning msg="UpdatePollIntervalSeconds is not defined"
Jul 21 21:49:23 raspberrypi mender[354]: time="2020-07-21T21:49:23+01:00" level=warning msg="RetryPollIntervalSeconds is not defined"
Jul 21 21:49:23 raspberrypi mender[354]: time="2020-07-21T21:49:23+01:00" level=warning msg="RetryPollIntervalSeconds is not defined"
Jul 21 21:54:23 raspberrypi mender[354]: time="2020-07-21T21:54:23+01:00" level=info msg="State transition: update-pre-commit-status-report-retry [ArtifactCommit_Enter] -> update-commit [ArtifactCommit_Enter]"
Jul 21 21:54:23 raspberrypi mender[354]: time="2020-07-21T21:54:23+01:00" level=error msg="Failed to report status: Put https:///api/devices/v1/deployments/device/deployments/312b2d92-8b0f-49b7-8657-cb50289b6c69/status: http: no Host in request URL"
Jul 21 21:54:23 raspberrypi mender[354]: time="2020-07-21T21:54:23+01:00" level=error msg="error reporting update status: reporting status failed: Put https:///api/devices/v1/deployments/device/deployments/312b2d92-8b0f-49b7-8657-cb50289b6c69/status: http: no Host in request URL"
Jul 21 21:54:23 raspberrypi mender[354]: time="2020-07-21T21:54:23+01:00" level=error msg="Failed to send status report to server: transient error: reporting status failed: Put https:///api/devices/v1/deployments/device/deployments/312b2d92-8b0f-49b7-8657-cb50289b6c69/status: http: no Host in request URL"
Jul 21 21:54:23 raspberrypi mender[354]: time="2020-07-21T21:54:23+01:00" level=info msg="State transition: update-commit [ArtifactCommit_Enter] -> update-pre-commit-status-report-retry [ArtifactCommit_Enter]"
Jul 21 21:54:23 raspberrypi mender[354]: time="2020-07-21T21:54:23+01:00" level=warning msg="UpdatePollIntervalSeconds is not defined"
Jul 21 21:54:23 raspberrypi mender[354]: time="2020-07-21T21:54:23+01:00" level=warning msg="RetryPollIntervalSeconds is not defined"
Jul 21 21:54:23 raspberrypi mender[354]: time="2020-07-21T21:54:23+01:00" level=error msg="transient error: Tried sending status report maximum number of times."
Jul 21 21:54:23 raspberrypi mender[354]: time="2020-07-21T21:54:23+01:00" level=info msg="State transition: update-pre-commit-status-report-retry [ArtifactCommit_Enter] -> rollback [ArtifactRollback]"
Jul 21 21:54:23 raspberrypi mender[354]: time="2020-07-21T21:54:23+01:00" level=info msg="Performing rollback"
Jul 21 21:54:23 raspberrypi mender[354]: time="2020-07-21T21:54:23+01:00" level=info msg="Setting partition for rollback: 3"


///////After RollBack ///

-- Logs begin at Tue 2020-07-21 21:03:42 BST. --
Jul 21 21:55:36 raspberrypi mender[362]: time="2020-07-21T21:55:36+01:00" level=info msg="State transition: check-wait [Idle] -> update-check [Sync]"
Jul 21 21:55:36 raspberrypi mender[362]: time="2020-07-21T21:55:36+01:00" level=info msg="State transition: update-check [Sync] -> check-wait [Idle]"
Jul 21 21:55:40 raspberrypi mender[362]: time="2020-07-21T21:55:40+01:00" level=info msg="State transition: check-wait [Idle] -> inventory-update [Sync]"
Jul 21 21:55:41 raspberrypi mender[362]: time="2020-07-21T21:55:41+01:00" level=info msg="State transition: inventory-update [Sync] -> check-wait [Idle]"
Jul 21 21:55:41 raspberrypi mender[362]: time="2020-07-21T21:55:41+01:00" level=info msg="State transition: check-wait [Idle] -> update-check [Sync]"
Jul 21 21:55:41 raspberrypi mender[362]: time="2020-07-21T21:55:41+01:00" level=info msg="State transition: update-check [Sync] -> check-wait [Idle]"
Jul 21 21:55:45 raspberrypi mender[362]: time="2020-07-21T21:55:45+01:00" level=info msg="State transition: check-wait [Idle] -> inventory-update [Sync]"
Jul 21 21:55:46 raspberrypi mender[362]: time="2020-07-21T21:55:46+01:00" level=info msg="State transition: inventory-update [Sync] -> check-wait [Idle]"
Jul 21 21:55:46 raspberrypi mender[362]: time="2020-07-21T21:55:46+01:00" level=info msg="State transition: check-wait [Idle] -> update-check [Sync]"
Jul 21 21:55:46 raspberrypi mender[362]: time="2020-07-21T21:55:46+01:00" level=info msg="State transition: update-check [Sync] -> check-wait [Idle]"
Jul 21 21:55:50 raspberrypi mender[362]: time="2020-07-21T21:55:50+01:00" level=info msg="State transition: check-wait [Idle] -> inventory-update [Sync]"
Jul 21 21:55:51 raspberrypi mender[362]: time="2020-07-21T21:55:51+01:00" level=info msg="State transition: inventory-update [Sync] -> check-wait [Idle]"
Jul 21 21:55:51 raspberrypi mender[362]: time="2020-07-21T21:55:51+01:00" level=info msg="State transition: check-wait [Idle] -> update-check [Sync]"
Jul 21 21:55:51 raspberrypi mender[362]: time="2020-07-21T21:55:51+01:00" level=info msg="State transition: update-check [Sync] -> check-wait [Idle]"
Jul 21 21:55:55 raspberrypi mender[362]: time="2020-07-21T21:55:55+01:00" level=info msg="State transition: check-wait [Idle] -> inventory-update [Sync]"
Jul 21 21:55:56 raspberrypi mender[362]: time="2020-07-21T21:55:56+01:00" level=info msg="State transition: inventory-update [Sync] -> check-wait [Idle]"
Jul 21 21:55:56 raspberrypi mender[362]: time="2020-07-21T21:55:56+01:00" level=info msg="State transition: check-wait [Idle] -> update-check [Sync]"
Jul 21 21:55:56 raspberrypi mender[362]: time="2020-07-21T21:55:56+01:00" level=info msg="State transition: update-check [Sync] -> check-wait [Idle]"
Jul 21 21:56:00 raspberrypi mender[362]: time="2020-07-21T21:56:00+01:00" level=info msg="State transition: check-wait [Idle] -> inventory-update [Sync]"
Jul 21 21:56:01 raspberrypi mender[362]: time="2020-07-21T21:56:01+01:00" level=info msg="State transition: inventory-update [Sync] -> check-wait [Idle]"
Jul 21 21:56:01 raspberrypi mender[362]: time="2020-07-21T21:56:01+01:00" level=info msg="State transition: check-wait [Idle] -> update-check [Sync]"

I think this issue created by me is not fair. As I am trying to achieve something that is not a part of the tutorial. And its making us go down the rabbit hole.

I think, I should jump to yocto integration and properly try performing every aspect that I need.

What do you think @drewmoseley?

Well, if your end goal is to use Yocto then yes, that makes some sense but from what I can tell, the steps you describe should work so I’d like to understand what is causing the issue. I did see that you are using the 2.3.0b1 (ie beta 1) image and I used 2.3.0. Maybe there is something there. I’ll try with the beta to see.

Drew

@thesillywhat when you initially installed the .img file, did you run the device connection/mender configuration step on both your Raspberrypi Cm3 Build System and your Raspberrypi-Cm3 Mender-Client? Simply running it on the build system won’t work as the Mender-Client system does not have Mender fully configured.

Drew

I am not running mender client on my build system. I thought If I implemented mender client on my build system. It might cause some issues. I will try that out today and keep you posted.

@drewmoseley So that worked!
So even my build system has to have a mender client installed on it.
(Thinking out loud)
Please correct me if I am wrong.

When I installed a mender client now, I provided a token and device type information. And then created a artifact.
Which after deploying probably wrote over the existing mender.conf file and populating it with the token and device type information. And therefore was able to perform a Artifact commit after deployment and rebooting

What I was doing before was that I did not install mender client which might have never populated the token information. Hence after deployment it was unable to commit. Causing a rollback.

And when you asked me for mender.conf file. I probably/definitely gave you mender.conf of the rollback version. Hence I never saw that issue.

If my understanding is correct. Then now the authentication work flow also makes sense. And all of this makes sense on larger scale.

The device sends token, device type and mac-address(I think mender-client service sends the mac address ) once accepted it creates a Device ID and updates device Inventory information.

So in summation, I need to have a mender client running when creating a mender-artifact on my build system

Yes, the steps to do the initial Mender configuration need to be performed on all your systems. If you do end up using Yocto or mender-convert, then this will happen automatically. In the case of the onboarding images you used here, there was a Mender client installed but not configured. The copy/paste commands from the Mender web UI setup the initial device configuration.

Drew

1 Like