Overview

Mender is a secure and robust Open source over-the-air (OTA) update manager for Embedded Linux devices. It is used to validate end-to-end OTA functionality across Cassini platforms.

It offers:

  • A/B system updates

  • Robust rollback mechanisms

  • Secure authentication and artifact verification

  • Device grouping and phased rollout support

Duration: up to 60 minutes

This section describes the manual testing process for validating Mender client on Cassini platforms. It ensures end-to-end OTA functionality including provisioning and mender system update.

The validation workflow begins with the following preparation steps:

This integration validates the Mender OTA flow through:

Cleans up the test environment for future test runs:

Mender environment variables:

  • BRANCH: Specifies the Git branch tag for the Docker image used

  • HOST_MACHINE_USER : Username of the host machine running Mender server

  • MACHINE : Target platform machine name

  • MENDER_SERVER_DIR : Mender server directory on the host machine

  • MENDER_DUT_TEST_DIR : Mender test directory on DUT. It needs to be part of /data

  • MENDER_SERVER_HTTPS_PORT : HTTPS port exposed to clients (default: 443)

  • MENDER_SERVER_HTTP_PORT : HTTP port exposed to clients (default: 80)

  • MENDER_SERVER_IP : IP address of the the host machine running Mender server

  • MENDER_SERVER_NAME : Mender server name

Build with Mender Support

Cassini images include Mender client support by default. For more details, see Over-the-Air Update. It is recommended to build with Developer Support.

These are the required environment variables, refer here for more details.

  • MACHINE

  • MENDER_SERVER_DIR

Create a clean test directory

rm -Rf ${MENDER_SERVER_DIR}
mkdir -p ${MENDER_SERVER_DIR}/artifacts

Copy the generated .mender artifact to a designated directory for performing system update

cp ${BUILDDIR}/tmp/deploy/images/${MACHINE}/cassini-image-base-${MACHINE}.mender \
  ${MENDER_SERVER_DIR}/artifacts/${MACHINE}.mender