Update For Docker
This section describes how to update a Docker-based XDM installation.
| Always create a database backup and ensure that volume data is safe before updating. |
Online Update
Use an online update if the XDM host can access the UBS Hainer Docker repository.
-
Make sure that your current working directory is the XDM base directory (where
docker-compose.ymlis located). -
Download the latest
xdm3-installation.zipbase installation package from the XDM download area. -
Compare the contents of the new package with your existing installation:
-
Check the new
docker-compose.ymlfor added, changed, or deprecated parameters. -
Carefully merge any necessary changes into your existing
docker-compose.ymlinstead of overwriting it.
-
-
Configure the desired version in
docker-compose.yml.For example, to update to version
3.26.11:services: core-server: image: docker.ubs-hainer.com/xdm3-core:3.26.11 dataflow-server: image: docker.ubs-hainer.com/xdm3-dataflow:3.26.11 web-ui: image: docker.ubs-hainer.com/xdm3-ui:3.26.11If you want to update to the latest version, use the
latesttag instead. See XDM versioning for more information. -
Log in to the UBS Hainer Docker repository (if not already logged in):
docker login docker.ubs-hainer.com -
Pull all updated images at once:
docker compose pullAlternatively, pull individual images:
docker pull docker.ubs-hainer.com/xdm3-core:3.26.11 docker pull docker.ubs-hainer.com/xdm3-dataflow:3.26.11 docker pull docker.ubs-hainer.com/xdm3-ui:3.26.11
Offline Update
Use an offline update if the XDM host has no internet access.
-
Download the following files on a system with internet access:
-
xdm3-installation.zip– Base installation package. -
xdm3-images-installation.zip– Docker images package.
-
-
Transfer both files to the XDM host and place them into the XDM base directory.
-
Unpack the base installation and images packages:
unzip xdm3-installation.zip unzip xdm3-images-installation.zip -
Configure the desired version tags in
docker-compose.ymlas shown in the online update section. -
Register the Docker images from the offline package using the provided script:
chmod +x load-image.sh ./load-image.shThis loads all images into the local Docker registry with the configured tags.
Applying The New Version (Restart)
After you have updated the images, restart XDM so that the new version is applied.
-
Open a shell on the XDM host.
-
Change to the XDM base directory:
cd /opt/xdm -
Stop all XDM containers:
docker compose down -
Start the containers again:
docker compose up -dThe
-doption runs the containers in the background. -
Check that all containers are running:
docker compose ps -
Check the logs of the core and database containers for database migrations and potential Liquibase messages:
docker compose logs core-server docker compose logs xdm-db
If you see Liquibase lock errors, resolve them as described in Liquibase changelog locks.
After the update:
-
Perform a full installation verification, including:
-
Logging in to the UI.
-
Running a simple smoke test task.
-
Executing the persistence restart test as described in Persistence Check (Restart Test).
-
-
Perform a deep refresh of the UI in your browser to avoid cached resources (for example Ctrl+F5).
After updating FileBridge and its driver, test connectivity from XDM to the FileBridge server and verify that tasks using FileBridge run successfully.
For typical problems during the update process and their solutions have a look into the Troubleshooting section.
Replace Spring Cloud Dataflow for Docker Deployment
If you are using the Spring Cloud Dataflow runner provider, it is recommended to switch to the DOCKER runner provider for your installation. This is because of security reasons, as the Spring Cloud Dataflow runner provider is no longer maintained and may contain security vulnerabilities.
To switch from the Spring Cloud Dataflow runner provider to the DOCKER runner provider, the following variables must be set in the environment section of the core-server:
- xdm.core.runner.provider=DOCKER
- xdm_core_serverUri=http://core-server:8000/api/
- xdm_loki_serverUri=http://loki:3100
Additionally, you need to configure a runner.yaml file, which is located in the xdm-config directory.
Further details on how to configure XDM and what to consider when switching from the Spring Cloud Dataflow runner provider to the DOCKER runner provider can be found in the Runner Deployment Configuration and the Container Socket Proxy chapters.
Make sure to move your customized environment variables from the existing dataflow container into the runner configuration inside the runner.yaml file.
|