3.2.1 to 3.2.2

Summary

Optimization Server 3.2.2 introduces break changes in the Helm charts.

You are concerned by this guide if you deploy Optimization Server by using these Helm charts.

Development of applications

Library Backward compatibility Deprecations
Master API client Backward compatible
Worker (Java) Backward compatible
Worker (Python) Backward compatible

Deployment of Optimization Server

Chart Backward compatibility Deprecations
dbos-volume Backward compatible
dbos-secrets Backward compatible
dbos-infra Break changes: adjust code
dbos Break changes: adjust code
cplex Backward compatible
wod Backward compatible

dbos-infra

Break changes: adjust code

Many properties are migrated by calling the Python helper script :

python -m helm.migration.migrate_helm_values --src=3.2.1 --dst=3.2.2 --chart=DBOS_INFRA --input INPUT --output OUTPUT

Make sure the output file complies with the descriptions of the sections below.

Global

Obsolete values:

global:
  protocol: ...
  routeKind: ...
  localCluster: ...
  databaseSettings: ...

protocol, routeKind and localCluster are obsolete because the routes are now managed by a dedicated chart.

Here is the mapping between the former 3.2.1 ‘global.routeKind’ value, and the new 3.2.2 ‘default.kind’

global.routeKind (3.2.1) default.kind (3.2.2) Provider
IngressGateway VirtualService istio
IngressRoute IngressRoute traefik
Route Route openshift
Ingress Ingress nginx

the ‘optimserver-deployment-tools’ creates a values-ingress.yaml file to use with the new route chart in the current directory when calling:

python -m helm.migration.migrate_helm_values --src=3.2.1 --dst=3.2.2 --chart=DBOS_INFRA --input INPUT --output OUTPUT

Moved values:

3.2.1:

global:
  imageRegistry: dbos-registry.decisionbrain.cloud
  imagePullSecrets:
    - name: dbos-registry.decisionbrain.cloud-secret
  project: defaultProject
  businessUnit: defaultBU

3.2.2:

global:
  image:
    imageRegistry: dbos-registry.decisionbrain.cloud
    imagePullSecrets:
      - name: dbos-registry.decisionbrain.cloud-secret
  labels:
    project: defaultProject
    businessUnit: defaultBU

RabbitMQ:

Moved values:

3.2.1:

rabbitmq:
  config:
    imageRegistry: ...
    imageName: rabbitmq
    imageVersion: 3.8.12-management
    imagePullPolicy: ...
    imagePullSecrets: ...
    appLabel: ...
    plugins: ...
    project: ...
    businessUnit: ...

3.2.2:

rabbitmq:
  image:
    imageRegistry: ...
    imageId: rabbitmq:3.8.12-management
    imagePullPolicy: ...
    imagePullSecrets: ...    
  labels:
    appLabel: ...
    project: ...
    businessUnit: ...
  plugins: ...

Mongo:

Moved values:

3.2.1:

mongo:
  config:
    imageRegistry: ...
    imageName: mongo/mongo
    imageVersion: 4.2.1   
    imagePullPolicy: ...
    imagePullSecrets: ...
    appLabel: ...
    project: ...
    businessUnit: ...

3.2.2:

mongo:
  image:
    imageRegistry: ...
    imageId: mongo/mongo:4.2.1
    imagePullPolicy: ...
    imagePullSecrets: ...    
  labels:
    appLabel: ...
    project: ...
    businessUnit: ...

Postgres:

Moved values:

3.2.1:

postgres:
  config:
    imageRegistry: ...
    imageName: postgresql/postgresql-12-centos7
    imageVersion: 20200703-6213611
    imagePullPolicy: ...
    imagePullSecrets: ...
    appLabel: ...
    project: ...
    businessUnit: ...

3.2.2:

postgres:
  image:
    imageRegistry: ...
    imageId: postgresql/postgresql-12-centos7:20200703-6213611
    imagePullPolicy: ...
    imagePullSecrets: ...    
  labels:
    appLabel: ...
    project: ...
    businessUnit: ...

Keycloak:

Obsolete values:

keycloak:
  config:
    route: ....

This property is obsolete because the routes are now managed by a dedicated chart.

Moved values:

3.2.1:

keycloak:
  config:
    imageRegistry: ...
    imageName: keycloak-theme
    imageVersion: 8.0.1    
    imagePullPolicy: ...
    imagePullSecrets: ...
    appLabel: ...
    project: ...
    businessUnit: ...
  redirectHost: ...
  realmId: ...
  clientId: ...
  realmFileName: ...
  realm: ...

3.2.2:

keycloak:
  image:
    imageRegistry: ...
    imageId: keycloak-theme:8.0.1
    imagePullPolicy: ...
    imagePullSecrets: ...    
  labels:
    appLabel: ...
    project: ...
    businessUnit: ...
  authentication:
    redirectHost: ...
    realmId: ...
    clientId: ...
    realmFileName: ...
    realm: ...

dbos

Break changes: adjust code

Many properties are migrated by calling the Python helper script :

python -m helm.migration.migrate_helm_values --src=3.2.1 --dst=3.2.2 --chart=DBOS_APP --input INPUT --output OUTPUT
Make sure the output file complies with the descriptions of the sections below.

Global

Obsolete values:

global:
  protocol: ...
  routeKind: ...
  localCluster: ...

These properties are obsolete because the routes are now managed by a dedicated chart.

Moved values:

3.2.1:

global:
  imageRegistry: dbos-registry.decisionbrain.cloud
  imagePullSecrets:
    - name: dbos-registry.decisionbrain.cloud-secret
  project: defaultProject
  businessUnit: defaultBU
  imagestream: false
  authMode: keycloak

3.2.2:

global:
  image:
    imageRegistry: dbos-registry.decisionbrain.cloud
    imagePullSecrets:
      - name: dbos-registry.decisionbrain.cloud-secret
    imagestream: false
  labels:
    project: defaultProject
    businessUnit: defaultBU
  authentication:
    kind: keycloak

keycloak

Moved values:

3.2.1:

keycloak:
  realm: ...
  clientId: ...

3.2.2:

global:
  authentication:
    keycloak:
      realm: ...
      clientId: ...

console

Obsolete values:

console:
  config:
    route: ....

This property is obsolete because the routes are now managed by a dedicated chart.

Moved values:

3.2.1:

console:
  config:
    imageRegistry: ...
    imagePullPolicy: ...
    imagePullSecrets: ...
    appLabel: ...
    project: ...
    businessUnit: ...
  keycloakUrl: ...

3.2.2:

console:
  image:
    imageRegistry: ...
    imagePullPolicy: ...
    imagePullSecrets: ...    
  labels:
    appLabel: ...
    project: ...
    businessUnit: ...

global:
  authentication:
    keycloak:
      url: ...

documentation

Obsolete values:

documentation:
  config:
    route: ....

This property is obsolete because the routes are now managed by a dedicated chart.

Moved values:

3.2.1:

documentation:
  config:
    imageRegistry: ...
    imagePullPolicy: ...
    imagePullSecrets: ...
    appLabel: ...
    project: ...
    businessUnit: ...

3.2.2:

documentation:
  image:
    imageRegistry: ...
    imagePullPolicy: ...
    imagePullSecrets: ...    
  labels:
    appLabel: ...
    project: ...
    businessUnit: ...

master

Moved values:

3.2.1:

master:
  config:
    imageRegistry: ...
    imagePullPolicy: ...
    imagePullSecrets: ...
    appLabel: ...
    project: ...
    businessUnit: ...

3.2.2:

master:
  image:
    imageRegistry: ...
    imagePullPolicy: ...
    imagePullSecrets: ...    
  labels:
    appLabel: ...
    project: ...
    businessUnit: ...