# Upgrade from 3.10.x to 3.11

Users can upgrade the ISD v3.10.x to ISD v3.11. The upgrade instructions and Script file can be found at the link below.

#### Upgrade instructions&#x20;

<https://github.com/OpsMx/platform-service/blob/master/data-migration/steps_to_migrate_from_v3.10.x_to_v3.11.txt>

#### Script File

<https://github.com/OpsMx/platform-service/blob/master/data-migration/migration_v3.10.x_to_v3.11.py>

### **Configuration changes:**

These configuration changes are applicable only for upgrading ISD from 3.10.x to 3.11.&#x78;**.**

#### **Audit-Client:**

Add the following configurations and these should be in the level of logging.

```
oes:
  admin:
    user: <ADMIN-USER-NAME> # Needs to be replace with admin user name here
```

#### **Audit-service:**

Update the following configuration.

```
oes:
  url: http://oes-autopilot:8085
        to
oes:
  url: http://oes-sapor:8085
```

#### **Dashboard:**

Add the following configuration under **dashboard-local.yaml** file.

```
gateservice:
  url: "http://oes-gate:8084"
```

#### **Gate:**

If installation gate mode is common gate, then add the following configuration into **gate configmap secret** fil&#x65;**.**

```
 gate:
   installation:
     mode: common 
```

If it’s separate gate installation, then add the following configuration into **gate secret config** fil&#x65;**.**

```
 gate:
   installation:
     mode: oes 
```

Retrofit value changed from 30000 to 60000 as follows:

```
retrofit:
  connectTimeout: 60000
  readTimeout: 60000
  callTimeout: 60000
  writeTimeout: 60000
```

#### **Platform Service:**

Add the following configuration into **platform-local.yaml** file under **oes.**&#x20;

```
gate:
  url: "http://oes-gate:8084"
```

#### &#x20;**Datascience:**

* Change the rabbitmq image to "[**quay.io/opsmxpublic/rabbitmq:3-management**](https://quay.io/repository/opsmxpublic/rabbitmq?tab=tags\&tag=3-management)".
* Update the following configuration into **datascience config map** file.

```
 RABBITMQ:
   USERNAME: rabbitmq
   PASSWORD: xxxxxxxxxx
   HOST: rabbitmq-service
   PORT: xxxx
 # Valid credentials required for above config.
```

**OES-UI:**

* &#x20;Refer the following url for UI **config map** changes and add **help-text.json** into **configmap**. [https://github.com/OpsMx/kubeyaml/blob/v3.11/oes-ui/configmap.yml  ](<https://github.com/OpsMx/kubeyaml/blob/v3.11/oes-ui/configmap.yml&#xD;&#xA;>)
* Update the UI deployments for volumeMount and refer the following commit for changes. <https://github.com/OpsMx/kubeyaml/commit/41bed285c494ab03c5d4c649bcaaecf70db8530b>.

**Analytics:**

Add the following configuration under **autopilot.properties.**&#x20;

```
# allowed values :- db, vault, cyberark
datasource.secretManagement.source = db
```

**Visibility:**

Add the following configuration under  **visibility-local.yml.**&#x20;

```
# allowed values :- db, vault, cyberark
datasource:
  secretManagement:
    source: db
```

### **Spinnaker changes**

**Orca:**

Add the following configuration changes into **orca-local.yml** file.

```
policy:
  opa:
    enabled: true
    url: http://oes-sapor:8085

spinnaker:
  extensibility:
    plugins:
      Opsmx.VerificationGatePlugin:
        enabled: true
        version: 1.0.1
      Opsmx.VisibilityApprovalPlugin:
        enabled: true
        version: 1.0.1
           Opsmx.TestVerificationGatePlugin:
        enabled: true
        version: 1.0.1
      Opsmx.PolicyGatePlugin:
        enabled: true
        version: 1.0.1
      Opsmx.RbacPlugin:
        enabled: true
        version: 1.0.1
```

{% hint style="info" %}
Note:

* Remove empty directory /opt/orca/plugins in \~/.hal/default/service-settings/orca.yml to avoid deletion of above plugins.&#x20;
* New plugin Opsmx.RbacPlugin has been added is to enable validation of OPA policies while saving the application in Spinnaker.
  {% endhint %}

**echo:**

Add the following configuration into **echo-local.yml** file:

```
slack:
  app:
    token: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    signing_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxx"
```

Add the following configuration into **\~/.hal/config**  under **notification block**:

```
slack:
  enabled: true
  token: "xxxxxxxxxxxxxxxxxxxxxxxxxxxx"
  botName: "slackops"
```

{% hint style="info" %}
Note: Refer [slackbot reference document](https://docs.google.com/document/d/1_1M-BGuJROr_y8WAEnboD_7nQYoRyYWtYPHacDThsOQ/edit#) to know how to generate token & signing secret.
{% endhint %}

**fiat-local:**

Add the following configuration into **fiat-local.yml** file, at beginning of the file:

```
fiat:
  admin:
    roles:
      - <ADMIN-ROLE-USERGROUPS>    ## Replace it with usergroup which is having admin role
```

{% hint style="info" %}
Note: Refer [slackbot reference document](https://docs.google.com/document/d/1_1M-BGuJROr_y8WAEnboD_7nQYoRyYWtYPHacDThsOQ/edit#) to know how to generate token & signing secret.
{% endhint %}

### **Rollback Steps:**

Refer [here](https://drive.google.com/drive/u/0/folders/1y660oUDAVUZPyUQ379eRPhPDkXWhRnXI) to rollback to the old version of ISD v.3.10 from v.3.11.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.opsmx.com/opsmx-1/opsmx-context-engine/additional-resources/upgrading-to-3.7/upgrade-from-3.10.x-to-3.11.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
