.. # SPDX-FileCopyrightText: Copyright (c) 2025, Linaro Limited. # # SPDX-License-Identifier: MIT ******** 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: * :ref:`build_with_mender_support_label` * :ref:`setup_mender_server_label` This integration validates the Mender OTA flow through: * :ref:`dut_provisioning_label` * :ref:`mender_system_update_label` Cleans up the test environment for future test runs: * :ref:`stop_mender_server_label` .. _mender-env-vars-section: 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_label: ************************* Build with Mender Support ************************* Cassini images include Mender client support by default. For more details, see :ref:`over_the_air_update_label`. It is recommended to build with :ref:`developer_support_label`. These are the required environment variables, refer :ref:`here ` for more details. * `MACHINE` * `MENDER_SERVER_DIR` Create a clean test directory .. code-block:: console rm -Rf ${MENDER_SERVER_DIR} mkdir -p ${MENDER_SERVER_DIR}/artifacts Copy the generated `.mender` artifact to a designated directory for performing system update .. code-block:: console cp ${BUILDDIR}/tmp/deploy/images/${MACHINE}/cassini-image-base-${MACHINE}.mender \ ${MENDER_SERVER_DIR}/artifacts/${MACHINE}.mender