Introduction
This documentation is divided into 2 parts:
- Part 1 describes the actual update of the containers and comes in two options
- Option 1 in case you use our recommended docker compose setup.
- Option 2 in case you have a custom setup. It describes the relevant changes that come with Release 8 EHP 4 in a generic way.
- Part 2 describes steps which have to be done independently of the container orchestration mode.
Part 1: Upgrading Simplifier
Option 1: Upgrade using default docker compose
Step 1 – Shutdown Simplifier Instance
Go to the directory where you placed the docker-compose file. Switch into that folder:
cd docker-compose
To stop Simplifier, run
docker compose -f simplifier-standalone.yml down
Step 2 – Get Simplifier setup files
Update the content and switch to the new release branch:
git pull git checkout --track origin/release/8.4
The filename simplifier-standalone.yml was changed to docker-compose.yml to comply to the docker standards. You now can omit the -f <filename> parameter to execute docker compose commands.
Step 3 – Updating .env
With the 8 EHP 1 template, we introduced 3 new environment variables:
INSTANCE_PREFIX=dev # only use letters! PUBLIC_PORT_HTTP=80 PUBLIC_PORT_HTTPS=443
Usually, PUBLIC_PORT_HTTP and PUBLIC_PORT_HTTPS do not need to be changed.
With INSTANCE_PREFIX, you can define for which environment this Simplifier is used. Typical values for this are dev, qa, prod, test. Please always set a value here and do not leave it empty. This naming only reflects to the container names and is independent of the host name the instance is listenting to.
Step 4 – renaming data folder
Up to release 7, there was only one storage folder called data. With Release 7 EHP 1 und Release 8, new container images were added with their own persistant storage. Out of historic reason, the folder for simplifier was still called data in our default setup, but the other folders were named accoring to the names of the containers. To have a consistent naming, our default setup now uses simplifier as folder name for the simplifier container. To match this, you should rename the existing folder. If you used the recommended folder structure, you need to do:
mv /var/lib/simplifier/data /var/lib/simplifier/simplifier
Step 5 – Creating shared folder
A new folder is necessary, which acts as a shared volume.
mkdir /var/lib/simplifier/shared
Remark
Since release 8 EHP 2, monitoring data is moved to a separate database. In the default setup, the same MySQL server is used and automatically configured.
Option 2: Generic upgrade instructions, if you are not using our default docker compose setup
Step 1 – Configure monitoring database
Since release 8 EHP 2, monitoring data is moved to a separate database. This database must be a MySQL database and it may be on the same MySQL server as the main simplifier database, but also may reside on a different MySQL server. In either case, the connection has to be configured separatly.
To configure this database, the following environtment variables have to be set:
- MONITORING_DBMS=mysql // fixed string - MONITORING_DB_HOST=<hostname> - MONITORING_DB_PORT=<port> // by default MySQL uses 3306 - MONITORING_DB_USER=<dbUserName> - MONITORING_DB_PASS=<password> - MONITORING_DB=<databaseName>
The database has to be present on the configured MySQL server.
Step 2 – update reverse Proxy
Expand header access-control-expose-headers configuration
OData-Version needs to be added to access-control-expose-headers. The complete list is now
access-control-expose-headers: remainingTokenLifetime,OData-Version
Expand header access-control-allow-headers configuration
OData-MaxVersion, OData-Version have to be added to access-control-allow-headers. The complete list is now
access-control-allow-headers: DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization,SimplifierToken,SimplifierApp,SimplifierModule,SimplifierModuleInterface,SimplifierClientBusinessObject,SimplifierClientBusinessObjectFunction,sap-cancel-on-close,sap-contextid-accept,MaxDataServiceVersion,DataServiceVersion,Content-Length,SimplifierApiKey,OData-MaxVersion,OData-Version,MIME-Version,X-CSRF-Token
Step 3 – create shared folder
A new folder is necessary, which acts as a shared volume. E.g. you can create /var/lib/simplifier/shared:
mkdir /var/lib/simplifier/shared
You have to mount this path to the simplifier container and to the workflow designtime container.
For the Simplifier container:
/var/lib/simplifier/shared:/opt/simplifier/shared
For the workflow designtime container:
/var/lib/simplifier/shared:/home/workflowDesigntime/shared
You can change /var/lib/simplifier/shared to whatever folder you prefer. You must leave the mount targets /opt/simplifier/shared and /home/workflowDesigntime/shared unchanged!
Part 2: Doings after upgrade
Step 1: Recreate keystores (optional)
Recreating keystores is only necessary, if you are using a custom keystore in your current setup. If you did not implement this, you can skip this step.
With Simplifier Release 8 EHP 1, the JVM version changed. Because of this, the keystore format changed, as well as the correct location for the keystore.
To edit the keystore, please always use keytool from within the container. The path to keytool is
/usr/lib/jvm/graalvm-community-openjdk-20.0.1+9.1/bin/keytool
The path of the cacerts file is
/usr/lib/jvm/graalvm-community-openjdk-20.0.1+9.1/lib/security/cacerts
Step 2: Update Simplifier Standard Content
Download the latest Standard Content from Marketplace and import it to your Simplifier Instance. Make sure using import scenarios ‘Overwrite all’ or ‘Skip unchanged’ (recommended).
Step 3: Implement Changes mentioned in Release and Migration Notes
Follow our Release Notes and Migration Notes for all Enhancement Packages since Relesase 8 and implement the necessary changes described there.
- Release Notes and Migraion Notes for Simplifier 8 EHP 1
- Release Notes and Migraion Notes for Simplifier 8 EHP 2
- Release Notes and Migraion Notes for Simplifier 8 EHP 3
- Release Notes and Migration Notes for Simplifier 8 EHP 4