From 3.5.2 to 4.0.2
Summary
Optimization Server 4.0.2 introduces deprecations in:
the API client Java library
the Spring Boot API client Java library
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
Development of applications
| Library | Backward compatibility | Deprecations |
|---|---|---|
| API client | Backward compatible | Deprecations |
| Spring Boot API client | Backward compatible | Deprecations |
Deployment of Optimization Server
| Chart | Backward compatibility | Deprecations |
|---|---|---|
| dbos-volume | Break changes: adjust code | |
| dbos-secrets | Break changes: adjust code | |
| dbos-infra | Break changes: adjust code | |
| dbos | Break changes: adjust code | |
| cplex | Break changes: adjust code | |
| wod | Break changes: adjust code | Deprecations |
Authentication
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
addTemporaryResourceis renamed toaddTemporaryBloboperation
getResourceContentis renamed togetBlobContentoperation
getResourceDefinitionis renamed togetBlobDefinitionmodel
ResourceDefinitionis renamed toBlobDefinition
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/infrafor rabbitmq and keycloak and mongo and postgresproduct-dbos-prod-docker-group.decisionbrain.cloud/dbosfor 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.