# 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)
* 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.
