Migrating from Helm chart to IBM Sterling Order Management System Software Operator

You can migrate your Sterling Order Management System Software environment from Helm chart to Sterling Order Management System Software Operator using the following steps.

Steps for migration

  1. Ensure to install the Sterling Order Management System Software Operator as explained in Installing Sterling Order Management System Software Operator online or Installing Operator in an airgap environment.
  2. Transform your Helm values.yaml to OMEnvironment manifest by using the parameter mappings provided in the following Helm chart to Operator parameter mapping table. Ensure that the manifest matches the schema that is provided in OMEnvironment schema.
  3. OMEnvironment exposes more parameters than those listed in the following table. Go through the OMEnvironment documentation to identify desired features and related parameters, and add those to your OMEnvironment manifest.
  4. Create the OMEnvironment in the required namespace by using the following command:
    oc apply -f <om-environment-yaml-file> -n <namespace>

Helm chart to Operator parameter mapping

The following table contains Helm chart parameters that are exposed through values.yaml, with the corresponding OMEnvironment spec parameters:
Helm chart parameter in values.yaml OMEnvironment parameter in spec
Common parameters
global.license license.accept
global.licenseStoreCallCenter license.acceptCallCenterStore
global.appSecret secret
global.serviceAccountName serviceAccount
global.persistence.claims.name storage.name
global.persistence.claims.accessMode storage.accessMode
global.persistence.claims.storageClassName storage.storageClassName
global.persistence.claims.capacity storage.capacity
global.persistence.claims.capacityUnit -
global.persistence.securityContext.fsGroup storage.securityContext.fsGroup
global.persistence.securityContext.supplementalGroup storage.securityContext.supplementalGroups
global.image.tag image.oms.tag
global.image.repository image.repository or image.oms.repository
global.image.pullPolicy image.pullPolicy or image.oms.pullPolicy
global.image.agentName image.oms.agentDefaultName
global.database.serverName database.<dbvendor>.host
Note: Values for <dbvendor> can be db2, oracle, or postgresql depending on your database. The same values are applicable for the following database properties.
global.database.port database.<dbvendor>.port
global.database.dbname database.<dbvendor>.name
global.database.schema database.<dbvendor>.schema
global.database.user database.<dbvendor>.user
global.database.ssl database.<dbvendor>.secure
global.database.datasourceName database.<dbvendor>.dataSourceName
global.database.dbvendor -
global.database.systemPool -
global.customerOverrides serverProperties.customerOverrides[].propertyList or serverProperties.customerOverrides[].propertyRef[]
Note:
  • Unique value for serverProperties.envVars[].groupName is mandatory.
  • Ensure to pass the groupName in servers[].property.customerOverrides.
global.envs serverProperties.envVars[].propertyList or serverProperties.envVars[].propertyRef[]
Note:
  • Unique value for serverProperties.envVars[].groupName is mandatory.
  • Ensure to pass the groupName in servers[].property.envVars.
global.resources serverProfiles[]
Note:
  • serverProfiles[].name and serverProfiles[].resources are mandatory.
  • serverProfiles named balanced, compute, and memory are provided out-of-the-box with default profile as balanced.
global.customConfigMaps additionalMounts.configMaps
global.customSecrets additionalMounts.secrets
global.security.ssl.trustStore.storeLocation security.ssl.trust.storeLocation
global.security.ssl.trustStore.trustedCertDir security.ssl.trust.trustedCertDir
global.security.ssl.trustStore.trustJavaCACerts security.ssl.trust.trustJavaCACerts
global.security.ssl.keyStore.storeLocation -
global.mq.bindingConfigName jms.mq.bindingConfigName
global.mq.bindingMountPath jms.mq.bindingMountPath
global.nameOverride -
global.fullnameOverride -
global.arch -
Application server parameters
appserver.image image.oms.appDefaultName or servers[].image.name
Note: Optionally, you can define servers[].image.variant to isccs, sbc_sma_wsc, docs and more, based on your deployment pattern.
appserver.replicaCount servers[].replicaCount
appserver.resources servers[].profile with value matching the name in serverProfiles[].name
appserver.deploymentStrategy upgradeStrategy
appserver.config.serverName servers[].appServer.serverName
appserver.config.corethreads servers[].appServer.threads.min
appserver.config.maxthreads servers[].appServer.threads.max
appserver.config.database.minPoolSize servers[].appServer.dataSource.minPoolSize
appserver.config.database.maxPoolSize servers[].appServer.dataSource.maxPoolSize
appserver.config.libertyServerXml servers[].appServer.libertyServerXml
appserver.config.vendor servers[].appServer.vendor
appserver.config.vendorFile servers[].appServer.vendorFile
appserver.config.jvm -
Note: The servers automatically use memory allocated by servers[].profile.
appserver.ingress.contextRoots servers[].appServer.ingress.contextRoots
appserver.ingress.host common.ingress.host
appserver.ingress.ssl.enabled common.ingress.ssl.enabled
appserver.ingress.ssl.secretname common.ingress.ssl.identitySecretName
appserver.ingress.annotations common.ingress.annotations and servers[].appServer.ingress.annotations
appserver.ingress.labels common.ingress.labels and servers[].appServer.ingress.labels
appserver.ingress.controller -
appserver.service.annotations common.service.annotations and servers[].appServer.service.annotations
appserver.service.labels common.service.labels and servers[].appServer.service.labels
appserver.service.http.port common.appServer.ports.http
appserver.service.https.port common.appServer.ports.https
appserver.podLabels common.pod.podLabels and servers[].podLabels
appserver.livenessCheckBeginAfterSeconds servers[].appServer.livenessCheckBeginAfterSeconds
appserver.livenessFailRestartAfterMinutes servers[].appServer.livenessFailRestartAfterMinutes
appserver.terminationGracePeriodSeconds servers[].appServer.terminationGracePeriodSeconds
appserver.exposeRestService restService
Note: In OMEnvironment, restService exposes more configurations than just a boolean flag. For more information about restService, see Configuring restService parameter.
appserver.nodeAffinity servers[].affinityAndTolerations
Note: It corresponds to affinityAndTolerations[].name containing affinityAndTolerations[].affinity and affinityAndTolerations[].tolerations.
appserver.podAffinity Derived from servers[].affinityAndTolerations
appserver.podAntiAffinity Derived from servers[].affinityAndTolerations
appserver.tolerations Derived from servers[].affinityAndTolerations
Datasetup parameters
datasetup.mode dataManagement.mode
datasetup.fixPack.installedFPNo OMEnvironment CR annotation: apps.oms.ibm.com/installed-fixpack with values such as 31 for legacy version or 2206.0 for CD version.
datasetup.fixPack.loadFPFactoryData -
datasetup.loadFactoryData -
Agent/Integration parameters
omserver.image image.oms.agentDefaultName or servers[].image.name
omserver.deploymentStrategy upgradeStrategy
omserver.common.replicaCount servers[].replicaCount
omserver.common.resources servers[].profile with value matching the name in serverProfiles[].name
omserver.common.jvmArgs servers[].property.jvmArgs with value matching the name in serverProperties.jvmArgs[].groupName
omserver.common.terminationGracePeriodSeconds servers[].agentServer.terminationGracePeriodSeconds
omserver.common.readinessFailRestartAfterMinutes servers[].agentServer.readinessFailRestartAfterMinutes
omserver.common.podLabels common.pod.podLabels and servers[].podLabels
omserver.common.nodeAffinity servers[].affinityAndTolerations
Note: It corresponds to affinityAndTolerations[].name containing affinityAndTolerations[].affinity and affinityAndTolerations[].tolerations.
omserver.common.podAffinity Derived from servers[].affinityAndTolerations
omserver.common.podAntiAffinity Derived from servers[].affinityAndTolerations
omserver.common.tolerations Derived from servers[].affinityAndTolerations
omserver.servers[].replicaCount servers[].replicaCount
omserver.servers[].resources servers[].profile with value matching the name in serverProfiles[].name
omserver.servers[].jvmArgs servers[].property.jvmArgs with value matching the name in serverProperties.jvmArgs[].groupName
omserver.servers[].group -
omserver.servers[].name[] servers[].agentServer.names[]
omserver.healthMonitor.deploy -
omserver.healthMonitor.jvmArgs healthMonitor.jvmArgs with value matching the name in serverProperties.jvmArgs[].groupName
omserver.healthMonitor.replicaCount healthMonitor.replicaCount
omserver.healthMonitor.resources healthMonitor.profile with value matching the name in serverProfiles[].name