Update Existing 2.5.0 System to 2.6.0

Hi,

I have a local install of the opensource production mender running 2.5.0 with a single Raspberry Pi 3 communicating with it, and I use mender-convert to create my updates from a golden image. I was able to successfully update the server to 2.6.0, and I re-downloaded mender-convert and followed the instructions listed in mender 2.6. However, when I make a new image using the new mender-convert and deploy it to the Pi, the Pi says its still running mender 2.5.0 and I’m unable to use the remote terminal. Is there another configuration I need to update in order to the Pi to be on 2.6?

Hi @kcw, welcome to Mender hub. The version of the Mender client is 2.5.0 for the Mender product 2.6.0 release. It is confusing but it’s due to the fact that each of the components have their own release schedule and it’s possible that one component may be unmodified from one release version to the next.

I don’t know why you would have trouble with the remote terminal though. Perhaps @lluiscampos or @oleorhagen can help.

Drew

From looking through the mender-convert PRs I will leave this off to @lluiscampos :slight_smile:

Hi @kcw ,

As already pointed out, mender (client) 2.5.0 is correct version to use with Remote Terminal.

mender-convert does not install add-ons (like mender-connect, required for Remote terminal) by default. You’ll need to set MENDER_ADDON_CONNECT_INSTALL to y. See Mender Docs.

You’ll also need a mender-connect.conf file in your image, with at least ServerURL and User fields, see Mender Docs.

I hope this helps to get you started :slight_smile:

Hi Lluis
I came across this topic while I am also trying to setup my mender-convert for remote terminal.
I followed your post and configure my mender_convert_config to add/modify as follows:

Mender client version

This is used to fetch the correct binaries

#RAJ - MENDER_CLIENT_VERSION=“2.3.0b1”

RAJ - Modifications for adding Remote Terminal Add-On.

MENDER_CLIENT_VERSION=“2.5.0”
MENDER_ADDON_CONNECT_INSTALL=y
MENDER_ADDON_CONNECT_VERSION=“latest”
MENDER_ADDON_CONFIGURE_VERSION=“latest”

And added mender-connect.conf to:
~/mender-convert/bootstrap-rootfs-overlay-hosted-server/etc/mender/

mender-connect.conf contains (minimal to start with) as follows per your suggestion:
{
“ServerURL”: “https://hosted.mender.io/”,
“User”: “sqrl”
}

I built the artifact as usual and updated the device with the new release. No error in the process.

After the deployment, and and selecting the updated device, I don’t see option to open the remote terminal.

Am I missing something here?

Apprciate your help.

Raj

2.5.0 has some known race conditions in the interaction between mender-client and mender-connect. It is recommended to upgrade to 3.0.0, or at least 2.6.1, both of which contain fixes for this.

I changed it to use 3.0.0 as follows in mender_convert_config:

Mender client version

This is used to fetch the correct binaries

#RAJ - MENDER_CLIENT_VERSION=“2.3.0b1”

RAJ - Modifications or Remote Terminal Add-On.

MENDER_CLIENT_VERSION="3.0.0"
MENDER_ADDON_CONNECT_INSTALL=y
MENDER_ADDON_CONNECT_VERSION=“latest”
MENDER_ADDON_CONFIGURE_INSTALL=y
MENDER_ADDON_CONFIGURE_VERSION=“latest”

Attached is the screenshot of the device dashboard:

I still cannot see the UI access to the device’s Remote Terminal.

Raj

Can you post the log output from mender-connect?

journalctl -u mender-connect

(sspy35_env) ssqrl@SS:/home/ssqrl/SSquare/sspy35_env $ journalctl -u mender-connect
– No entries –

That’s strange. Does the symlink /etc/systemd/system/multi-user.target.wants/mender-connect.service exist on the device? Where does it point?

After you’ve checked that, does it work if you run:

systemctl enable mender-connect
systemctl start mender-connect

That is of course only a temporary fix, since mender-convert should do that for you.

Thanks Amlie:

That’s what I thought, mender-convert should do that.

ls -ltra /etc/systemd/system/multi-user.target.wants/mender-connect.service
ls: cannot access ‘/etc/systemd/system/multi-user.target.wants/mender-connect.service’: No such file or directory

sudo systemctl enable mender-connect
Failed to enable unit: File mender-connect.service: No such file or directory

Raj

At this point I think your best option is to start adding some debug information in the section that installs mender-connect. Try adding some log_info calls which make sure that this section is reached, and that the expected content is extracted into work/rootfs. Maybe something unexpected is happening there.