From 3.5.2 to 4.0.2

Summary

Optimization Server 4.0.2 introduces deprecations in:

Optimization Server 4.0.2 introduces breaking change in:

  • the OpenAPI specifications of Master API

  • Helm chart values file

Optimization Server 4.0.2 removes:

  • the basic authentication method

Authentication

Break changes: adjust code

If you use the basic authentication, you must replace it by the Keycloak authentication. This concerns the application installation (Helm or Docker deployment) and all clients.

API client and Spring Boot API client

See API client and Spring Boot API client for more details.

Deprecated methods

In DatastorageApi class, the following methods are deprecated:

public ResourceDefinition addTemporaryResource(String filename, InputStream body) throws ApiException;
public ApiResponse<ResourceDefinition> addTemporaryResourceWithHttpInfo(String filename, InputStream body) throws ApiException;

public InputStream getResourceContent(URI location) throws ApiException;
public ApiResponse<InputStream> getResourceContentWithHttpInfo(URI location) throws ApiException;

public ResourceDefinition getResourceDefinition(URI location) throws ApiException;
public ApiResponse<ResourceDefinition> getResourceDefinitionWithHttpInfo(URI location) throws ApiException;

Instead, you must use the methods:

public BlobDefinition addTemporaryBlob(String filename, InputStream body) throws ApiException;
public ApiResponse<BlobDefinition> addTemporaryBlobWithHttpInfo(String filename, InputStream body) throws ApiException;

public InputStream getBlobContent(URI location) throws ApiException;
public ApiResponse<InputStream> getBlobContentWithHttpInfo(URI location) throws ApiException;

public BlobDefinition getBlobDefinition(URI location) throws ApiException;
public ApiResponse<BlobDefinition> getBlobDefinitionWithHttpInfo(URI location) throws ApiException;

OpenAPI specifications

In the OpenAPI specifications of Master API, there are the following breaking changes:

  • operation addTemporaryResource is renamed to addTemporaryBlob

  • operation getResourceContent is renamed to getBlobContent

  • operation getResourceDefinition is renamed to getBlobDefinition

  • model ResourceDefinition is renamed to BlobDefinition

Note that at HTTP level, the path and parameters of these endpoints were not modified. You will be affected by these breaking changes only if you generate your API client and use one of these elements.

Helm charts

The values are migrated by calling the Python helper script. Make sure the output file complies with the description of the example below.

Docker registries change

In all charts, the Docker image registry dbos-registry.decisionbrain.cloud has been replaced by:

  • product-dbos-prod-docker-group.decisionbrain.cloud/infra for rabbitmq and keycloak and mongo and postgres

  • product-dbos-prod-docker-group.decisionbrain.cloud/dbos for master and web-console

This concerns image registries for Docker images and also pull secrets.

OKD target removed

The value global.target is now ignored, you can remove it from your values file. The target is always Kubernetes.

wod chart

See this page for more details.

The syntax for declaring the list of workers has changed:

3.5.2:

workers:
  - image: "..."
    defaultExecutionContext: "..."

4.0.2:

workers:
  my-worker:
    - image: "..."
      defaultExecutionContext: "..."

This allows you to override only one worker with Helm values.