Skip to main content

Updating XClarity Administrator as a container

When running Lenovo XClarity Administrator as a container, use this update procedure to install the latest software as a new container and bind the volumes of the original container to the new container.

Before you begin

To update XClarity Administrator as a Docker container from v4.0 to v4.1, see Updating XClarity Administrator v4.0 to v4.1 as a container.

You cannot update from an earlier version of XClarity Administrator as a Docker container to XClarity Administrator v4.0. Instead you must install the full image of XClarity Administrator v4.0 (see Installing Lenovo XClarity Administrator in a Docker, CentOS, Citrix, Red Hat KVM, Rocky, Ubuntu, VMware ESXi, or Windows Hyper-V environment).

To manage XClarity Administrator v4.0 or later instances using Lenovo XClarity Orchestrator, XClarity Orchestrator v2.0 or later is required. If you are updating XClarity Administrator to v4.0 or later, ensure that XClarity Orchestrator is already at v2.0 or later.

About this task

The docker-compose.yml file uses the following environment variables, which you set up during the installation of the original container. These environment variables are also used by the new container.

  • CONTAINER_NAME. Unique container name, used to create docker volumes for each XClarity Administrator instance (for example, CONTAINER_NAME=LXCA-203)

    XClarity Administrator uses the container name to create the volumes for the container. If you use the same container name for the new container, the new XClarity Administrator instance will use to the same volumes and therefore have access to the same system data and settings as the original XClarity Administrator instance (container).

    If you change the container name, new volumes are created for the container, and the new XClarity Administrator instance will not have access to the same system data and settings as the original XClarity Administrator instance (container). If you need to change the container name or IP address, backup the system data and settings for the original XClarity Administrator instance before installing the new container, and then use that backup to restore the system data and setting in the new container.

  • ADDRESS. Static IPv4 or IPv6 address for the container (for example, ADDRESS=192.0.2.0)

    Changing the XClarity Administrator IP address after managing devices might cause the devices to be placed in offline state in XClarity Administrator. Ensure that all devices are unmanaged before changing the IP address.

  • BACKUP_MOUNT and FIRMWARE_MOUNT. (Optional) Paths for the remote shares that can be used to store XClarity Administrator backups or used as a remote repository for firmware updates. The paths must be /mnt/backup_share and /mnt/fw_share, respectively.

Note
XClarity Administratoris not run as a privileged container.

Procedure

To update an XClarity Administrator container, complete the following steps.

  1. Download the XClarity Administrator container image from the XClarity Administrator download webpage to a client workstation. Log on to the Web site, and then use the access key that was given to you to download the image.
  2. Import the XClarity Administrator container image into your docker host by running the following command.
    docker load -i lnvgy_sw_lxca_110-3.5.0_anyos_noarch
  3. Edit the same docker-compose.yml that was used for the original container. Update the image property at the top of the file to point to the new docker image from step 2. You can change the image tag by using the docker tag command.

    The following shows an example yml file.

    version: '3.8'

    services:

    lxca:
    image: lenovo/lxca:lnvgy_sw_lxca_container_111-4.0.0_anyos_noarch
    container_name: ${CONTAINER_NAME}
    tty: true
    stop_grace_period: 60s
    volumes:
    # Bind mount remote shares to the container
    - /home/<HOST_MOUNT_POINT_FOR_BACKUP>:${BACKUP_MOUNT}
    - /home/<<HOST_MOUNT_POINT_FOR_FW_SHARE>:${FIRMWARE_MOUNT}
    # Docker volume mount
    - data:/opt/lenovo/lxca/data
    - postgresql:/var/lib/postgresql/data
    - log:/var/log
    - confluent-etc:/etc/confluent
    - confluent-log:/var/log/confluent
    - confluent:/var/lib/confluent
    - propconf:/opt/lenovo/lxca/bin/conf
    networks:
    lan:
    ipv4_address: ${ADDRESS}

    volumes:
    data:
    name: ${CONTAINER_NAME}-data
    postgresql:
    name: ${CONTAINER_NAME}-postgresql
    log:
    name: ${CONTAINER_NAME}-log
    confluent-etc:
    name: ${CONTAINER_NAME}-confluent-etc
    confluent-log:
    name: ${CONTAINER_NAME}-confluent-log
    confluent:
    name: ${CONTAINER_NAME}-confluent
    propconf:
    name: ${CONTAINER_NAME}-propconf

    networks:
    lan:
    name: lan
    driver: macvlan
    driver_opts:
    parent: eth0
    ipam:
    config:
    - subnet: 192.0.0.0/19
    gateway: 192.0.30.1

  4. Shut down the original container by running the following command.
    docker-compose -p ${CONTAINER_NAME} down
  5. Deploy the new image in docker by running the following command, where <ENV_FILENAME> is the name of the environment variables file.
    COMPOSE_HTTP_TIMEOUT=300 docker-compose –p ${CONTAINER_NAME} ––env–file <ENV_FILENAME> up -d