-
Notifications
You must be signed in to change notification settings - Fork 20
DSF Upgrade From 0.7.0 to 0.8.0
Version 0.8.0 has a known bug (#384) and will be replaced with Version 0.9.0 in the coming days.
Upgrading the DSF from 0.7.0 to 0.8.0 invokes replacing a config file, modifying the docker-compose.yml files and recreating the containers. Members of the NUM-CODEX/RDP project also need to upgrade a process plugin.
If you are upgrading from 0.6.0 please see the Upgrade from 0.6.0 to 0.7.0 guide first.
-
Preparation / Backup
- We recommend to create a backup of the
/opt/fhir
directory before proceeding with the upgrade.
For example using:sudo cp -rp /opt/fhir /opt/fhir_backup_pre_0.8.0_upgrade
- We recommend to create a backup of the
-
Modify the DSF FHIR docker-compose.yml file, replace 0.7.0 with 0.8.0
@@ -1,7 +1,7 @@ version: '3.8' services: proxy: - image: ghcr.io/highmed/fhir_proxy:0.7.0 + image: ghcr.io/highmed/fhir_proxy:0.8.0 restart: on-failure ports: - 127.0.0.1:80:80 @@ -27,7 +27,7 @@ services: - app app: - image: ghcr.io/highmed/fhir:0.7.0 + image: ghcr.io/highmed/fhir:0.8.0 restart: on-failure healthcheck: test: ["CMD", "java", "-cp", "dsf_fhir.jar", "org.highmed.dsf.fhir.StatusClient"]
-
Download prepared DSF FHIR server config files and extract/replace the external FHIR bundle
-
Test NUM-CODEX (non HiGHmed) instance:
https://github.com/highmed/highmed-dsf/wiki/resources/dsf_codex_test_fhir_0_8_0.tar.gz
cd /opt wget https://github.com/highmed/highmed-dsf/wiki/resources/dsf_codex_test_fhir_0_8_0.tar.gz sudo tar --same-owner -zxvf dsf_codex_test_fhir_0_8_0.tar.gz fhir/conf/bundle.xml
-
Test HiGHmed instance:
https://github.com/highmed/highmed-dsf/wiki/resources/dsf_highmed_test_fhir_0_8_0.tar.gz
cd /opt wget https://github.com/highmed/highmed-dsf/wiki/resources/dsf_highmed_test_fhir_0_8_0.tar.gz sudo tar --same-owner -zxvf dsf_highmed_test_fhir_0_8_0.tar.gz fhir/conf/bundle.xml
-
Production NUM-CODEX (non HiGHmed) instance:
https://github.com/highmed/highmed-dsf/wiki/resources/dsf_codex_prod_fhir_0_8_0.tar.gz
cd /opt wget https://github.com/highmed/highmed-dsf/wiki/resources/dsf_codex_prod_fhir_0_8_0.tar.gz sudo tar --same-owner -zxvf dsf_codex_prod_fhir_0_8_0.tar.gz fhir/conf/bundle.xml
-
Production HiGHmed instance:
https://github.com/highmed/highmed-dsf/wiki/resources/dsf_highmed_prod_fhir_0_8_0.tar.gz
cd /opt wget https://github.com/highmed/highmed-dsf/wiki/resources/dsf_highmed_prod_fhir_0_8_0.tar.gz sudo tar --same-owner -zxvf dsf_highmed_prod_fhir_0_8_0.tar.gz fhir/conf/bundle.xml
The command will update the external FHIR bundle at
/opt/fhir/conf/bundle.xml
The output of the tar command should be
fhir/conf/bundle.xml
-
Test NUM-CODEX (non HiGHmed) instance:
https://github.com/highmed/highmed-dsf/wiki/resources/dsf_codex_test_fhir_0_8_0.tar.gz
-
Upgrade the DSF FHIR containers
From/opt/fhir
executedocker-compose up -d && docker-compose logs -f
-
Preparation / Backup
- We recommend to create a backup of the
/opt/bpe
directory before proceeding with the upgrade.
For example using:sudo cp -rp /opt/bpe /opt/bpe_backup_pre_0.8.0_upgrade
- We recommend to create a backup of the
-
Modify the DSF BPE docker-compose.yml file
-
NUM-CODEX (non HiGHmed) instance:
Change the bpe container version from 0.7.0 to 0.8.0, update the process exclude config and remove a bind mount@@ -1,7 +1,7 @@ version: '3.8' services: app: - image: ghcr.io/highmed/bpe:0.7.0 + image: ghcr.io/highmed/bpe:0.8.0 restart: on-failure healthcheck: test: ["CMD", "java", "-cp", "dsf_bpe.jar", "org.highmed.dsf.bpe.StatusClient"] @@ -29,9 +29,6 @@ services: - type: bind source: ./log target: /opt/bpe/log - - type: bind - source: ./last_event - target: /opt/bpe/last_event - type: bind source: ./cache target: /opt/bpe/cache @@ -48,8 +45,8 @@ services: ORG_HIGHMED_DSF_BPE_FHIR_SERVER_ORGANIZATION_IDENTIFIER_VALUE: TODO_ORGANIZATION_IDENTIFIER ORG_HIGHMED_DSF_BPE_FHIR_SERVER_BASE_URL: https://TODO_DSF_FRIR_SERVER_FQDN/fhir ORG_HIGHMED_DSF_BPE_PROCESS_EXCLUDED: | - wwwnetzwerk-universitaetsmedizinde_dataTranslate/0.6.0 - wwwnetzwerk-universitaetsmedizinde_dataReceive/0.6.0 + wwwnetzwerk-universitaetsmedizinde_dataTranslate/0.7.0 + wwwnetzwerk-universitaetsmedizinde_dataReceive/0.7.0 #TODO modify ORG_HIGHMED_DSF_BPE_PROCESS_EXCLUDED for later process versions #TODO add process specific environment variables, see process documentation
-
HiGHmed instance:
Change the bpe container version from 0.7.0 to 0.8.0, update the process exclude config, and remove a bind mount@@ -1,7 +1,7 @@ version: '3.8' services: app: - image: ghcr.io/highmed/bpe:0.7.0 + image: ghcr.io/highmed/bpe:0.8.0 restart: on-failure healthcheck: test: ["CMD", "java", "-cp", "dsf_bpe.jar", "org.highmed.dsf.bpe.StatusClient"] @@ -29,9 +29,6 @@ services: - type: bind source: ./log target: /opt/bpe/log - - type: bind - source: ./last_event - target: /opt/bpe/last_event - type: bind source: ./psn target: /opt/bpe/psn @@ -54,8 +51,8 @@ services: highmedorg_computeFeasibility/0.6.0 highmedorg_computeDataSharing/0.6.0 highmedorg_updateAllowList/0.6.0 - wwwnetzwerk-universitaetsmedizinde_dataTranslate/0.6.0 - wwwnetzwerk-universitaetsmedizinde_dataReceive/0.6.0 + wwwnetzwerk-universitaetsmedizinde_dataTranslate/0.7.0 + wwwnetzwerk-universitaetsmedizinde_dataReceive/0.7.0 #TODO modify ORG_HIGHMED_DSF_BPE_PROCESS_EXCLUDED for later process versions #TODO add process specific environment variables, see process documentation
-
-
Upgrade DSF Plugins and Process-Plugins
-
Process plugins in
/opt/bpe/process
:- Replace
codex-process-data-transfer-0.6.0.jar
withcodex-process-data-transfer-0.7.0.jar
from the latest NUM-CODEX processes release
Make sure the process plugins in
/opt/bpe/process
are configured withchmod 440
andchown root:bpe
. - Replace
-
Plugins in '/opt/bpe/plugin' (HiGHmed instance only):
- If you are using the provided PDQ MPI Client, replace
dsf-mpi-client-pdq-0.7.0.jar
,hapi-base-2.3.jar
andhapi-structures-v25-2.3.jar
with the new files fromdsf-mpi-client-pdq-0.8.0.zip
, see DSF release notes - If you are using the provided openEHR Client, replace
dsf-openehr-client-impl-0.7.0.jar
with the new file fromdsf-openehr-client-impl-0.8.0.zip
, see DSF release notes
Make sure the plugins in
/opt/bpe/plugin
are configured withchmod 440
andchown root:bpe
. - If you are using the provided PDQ MPI Client, replace
-
-
Upgrade the DSF BPE containers
From/opt/bpe
executedocker-compose up -d && docker-compose logs -f
-
Verify your upgrade:
- Verify the DSF FHIR server is running in version 0.8.0. The log should contain a message:
INFO main - BuildInfoReaderImpl.logBuildInfo(137) | Artifact: dsf-fhir-server-jetty, version: 0.8.0, [...]
- Verify the DSF FHIR server started without errors
- Verify the DSF FHIR server is accessible via https, for example by browsing to https://your-dsf-endpoint.de/fhir/ (authentication with your client-certificate)
- Verify the DSF BPE server is running in version 0.8.0. The log should contain a message:
INFO main - BuildInfoReaderImpl.logBuildInfo(137) | Artifact: dsf-bpe-server-jetty, version: 0.8.0, [...]
- Verify the DSF BPE server started without errors
- Verify the DSF BPE server removed ActivityDefinition resources for the deleted process plugin from the DSF FHIR server and created new ActivityDefinition for the new process plugin.
- Verify your install with a ping/pong test
For a Task resource compatible with the 0.6.0 release of the ping process, see the Ping/Pong process wiki.
- Verify the DSF FHIR server is running in version 0.8.0. The log should contain a message: