Related Documents
Document Properties
Kbid
3G0132
Last Modified
31-May-2022
Added to KB
22-Feb-2022
Public Access
Everyone
Status
Online
Doc Type
Release Notes
Product
  • IOM 3.0
  • IOM 3.1
  • IOM 3.2
  • IOM 3.3
  • IOM 3.4
  • IOM 3.5
  • IOM 3.6
  • IOM 3.7
  • IOM 4.0

Public Release Note - IOM Helm Charts 2.0

1 Introduction

Welcome to the IOM Helm Charts 2.0.

IOM is delivered via Docker images which are dedicated to run in Kubernetes. Intershop also provides Helm Charts for IOM, which allow to easily operate IOM.

1.1 Dependency Version Information

For the best compatibility between IOM Helm charts and IOM, please always use the newest version of IOM Helm charts, regardless of the IOM version you are currently using. To do so, please update IOM Helm charts as often as possible.

Helm \ IOM3.03.13.23.33.43.53.63.74.0
2.0.X1), 2), 3), 4), 5), 6), 7), 8)4), 6), 7), 8)5), 6), 7), 8)6), 7), 8)7), 8)8)9)

1.6.X1), 2), 3), 4), 5), 6), 7), 8)4), 6), 7), 8)5), 6), 7), 8)6), 7), 8)7), 8)8)9)
x
1.5.X1), 2), 3), 4), 5), 6), 7), 8)4), 6), 7), 8)5), 6), 7), 8)6), 7), 8)7), 8)8)
xx
1.4.X1), 2), 3), 4), 5), 6), 7)4), 6), 7)5), 6), 7)6), 7)7)
xxx
1.3.0

1), 2), 3), 4), 5), 6)

4), 6)5), 6)6)
xxxx
1.2.1

1), 2), 3), 4), 5)

4), 5)5)
xxxxx
1.2.0

1), 2), 3), 4)

4)
xxxxxx
1.1.0

1)


xxxxxxx
1.0.0
xxxxxxxx


1) Defect 
IOM-10458 still occurs in this combination
2) Helm parameter for timeout of test-data import does not work in this combination
3) Helm parameter to control creation of access log does not work in this combination
4) Defect IOM-10362 still occurs in this combination
5) Defect IOM-10891 still occurs in this combination
6) Helm parameters to control Datadog APM do not work in this combination
7) Helm parameter jboss.nodePrefix does not work in this combination
8) Helm parameters log.rest, config.skip*, oms.db.connectionMonitor.*, oms.db.connectTimeout do not work in this combination.
9) Helm parameter jboss.activemqClientPoolSizeMax does not work in this combination

x) Not supported

1.2 Glossary

TermDescription
DockerAn OS-level virtualization software.
HelmA package manager for Kubernetes.
IOMThe abbreviation for Intershop Order Management
KubernetesAn open-source system for automating deployment, scaling, and management of containerized applications.

2 General Information

3 New Features

3.1 Merge of IOM application- and config-image

IOM of version 4 and newer consists of a single image only. The functionality of the former config-image is now integrated into the only remaining IOM image. Reducing the number of images to one decreases operational efforts. Having a single image only makes it possible within Intershop Commerce Platform to trigger deployments by simply pushing the image. This huge architectural change has influenced IOM Helm charts.

3.1.1 startupProbe

Parameter group startupProbe was newly added to observe the process of database initialization. As long as the startup probe is in progress, no liveness probes will be executed. This is essential, otherwise the relatively long duration of the database initialization (database creation, loading dump, execution of stored procedures, database migration, project configuration) would lead to a failed liveness probe, which would then lead to a pod restart. Finally, the system would be caught in an infinitive loop of starting and killing.

To avoid this behavior startupProbe has to be configured to not finally fail before database initialization has ended. That means

startupProbe.initialDelaySeconds + startupProbe.periodSeconds * startupProbe.failureThreshold

has to be longer than the time needed for database initialization. The default values of these parameters are:

startupProbe.initialDelaySeconds: 60
startupProbe.periodSeconds: 10
startupProbe.failureThreshold: 60

Applied to the equation shown above, the result is 660 seconds or 11 minutes. Hence, using the default values, any database initialization running longer than 11 minutes will be interrupted and the process will be started from the beginning. If your system needs more time for database initialization, you have to adapt the parameters. It is recommended to increase startupProbe.failureThreshold only and to leave all other parameters unchanged.

3.1.2 config

The parameter group config is used to control the IOM config-image, that was removed in IOM version 4. For this reason parameter-group config got a new parameter enabled that has the default value false. The value false has to be used when controlling IOM version 4 and newer. When using the Helm charts along with IOM version 4 or newer, you can safely remove the entire parameter group config.

3.2 Enable/Disable Probes

The different types of probes (startupProbe, livenessProbe, readinessProbe) can now be enabled/disabled. Therefore, each kind of probe got the new parameter enabled, which is set to true by default.

Removals

Parameters config.skipProcedures, config.skipMigration, config.skipConfig Were Removed for IOM >= v.4.0.0

Beginning with IOM 4.0.0 it is internally tracked whether stored procedures, database migrations, and project configuration are already rolled out. If they are already applied, the according db-initialization steps are automatically skipped. The according parameters (config.skipProcedures, config.skipMigration, config.skipConfig), which allowed manual configuration of this behavior are no longer supported for IOM version 4 and newer.

Migration Notes

Parameter Group caas Was Renamed to project

The parameter group caas was renamed to project. It is necessary to rename it in your values files. All parameters inside the parameter group remain unchanged. Example:

before migration
caas:
  envName:               "ci"
  importTestData:        true
  importTestDataTimeout: "900"


after migration
project:
  envName:               "ci"
  importTestData:        true
  importTestDataTimeout: "900"

Default Value of image.repository Has Changed

The default value of image.repository has changed from docker.intershop.de/intershophub/iom-app to docker.intershop.de/intershophub/iom. If your configuration relies on the old default value, you have to set this value now explicitly within your configuration.

Default Value of config.image.tag Has Changed

config.image.tag is now empty by default. If you are using IOM version 3 and your configuration relied on the default value of config.image.tag, you now have to set the value explicitly.

config Is Disabled by Default

Parameter-group config has a new parameter enabled now, that has the default value false. This is the right setting when using IOM version 4 and newer. If you are using the current version of Helm charts with an older version of IOM, you have to set config.enabled to true. If you also have updated to IOM version 4 and newer, the entire parameter-group config can be removed.

Example - IOM is still of version 3:

before migration
config:
  image:
    repository: "iomci.azurecr.io/ci-iom-config"
    tag: "3.7.3.0-SNAPSHOT-1.0.0-SNAPSHOT-11371"
    pullPolicy: Always
after migration
config:
  enabled: true
  image:
    repository: "iomci.azurecr.io/ci-iom-config"
    tag: "3.7.3.0-SNAPSHOT-1.0.0-SNAPSHOT-11371"
    pullPolicy: Always

Example - IOM was updated from version 3 to 4 along with the IOM Helm charts:

before migration
config:
  image:
    repository: "iomci.azurecr.io/ci-iom-config"
    tag: "3.7.3.0-SNAPSHOT-1.0.0-SNAPSHOT-11371"
    pullPolicy: Always
after migration
# entire paramter-group 'config:' can be removed 

Known Defects

Key

Summary

69933Global NGINX controller of version 4.0.1 cannot be used along with internal NGINX controller of IOM

Disclaimer

The information provided in the Knowledge Base may not be applicable to all systems and situations. Intershop Communications will not be liable to any party for any direct or indirect damages resulting from the use of the Customer Support section of the Intershop Corporate Web site, including, without limitation, any lost profits, business interruption, loss of programs or other data on your information handling system.

Customer Support
Knowledge Base
Product Resources
Tickets