# Upgrade from 3.11.x to 3.12.x

### ISD v3.11.x to ISD v3.12

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

#### Script File

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

#### Upgrade instructions&#x20;

[https://github.com/OpsMx/platform-service/blob/master/data-migration/steps\_to\_migrate\_from\_v3.11.x\_to\_v3.12.txt ](https://github.com/OpsMx/platform-service/blob/master/data-migration/steps_to_migrate_from_v3.11.x_to_v3.12.txt)[](https://github.com/OpsMx/platform-service/blob/master/data-migration/migration_v3.11.x_to_v3.12.py)

#### **Configuration changes:**

These configuration changes are applicable only for upgrading ISD from 3.11.x to 3.12.

**Stand-error-codes**

New configmap introduced for Stand-error-codes as mentioned in the link below:

<https://github.com/OpsMx/kubeyaml/blob/v3.12/common-conf/standard-error-codes.yml>

**Bootstrap:**

Configma&#x70;**:** Update **sapor-bootstrap-secret.yml** file as follows:

```
   encrypt: 
key: Q7udUkHPuA3VnNlOtksSgQ
```

**Autopilot:**

Add the following standard-error-code **volume Mounts & volumes** Into **autopilot deployment yaml** file:

```
Autopilot-deployment::
---------------------------------
VolumeMounts:
  - mountPath: /opsmx/conf/standard-error-code.csv
  name: standard-error-conf
subPath: standard-error-codes.csv

volumes:
   - configMap:
   defaultMode: 420
   items:
   - key: standard-error-codes.csv
   path: standard-error-codes.csv
   name: standard-error-codes-config
   name: standard-error-conf 
```

Update the below configuration into **autopilot-configmap**.

```
Configmap:
---------------------------------
#Datascience configuration
oes.datascience.baseUrl=http://oes-datascience:5005
ds.async.flow=true

#Standard-error-path
standardErrorCodes.filePath=/opsmx/conf/standard-error-code.csv

#Storage configuration
storage.type =db_storage
#storage.endpoint=http://${parameters.namespace}-minio:9000
#storage.accesskey = spinnakeradmin
#storage.secretkey = spinnakeradmin
#storage.region= us-east-1
ds.seperate.service=true
```

**Audit-client-service:**

Update the **Audit-client-service configmap** as follows.

```
standardErrorCodes:
 filePath: /opsmx/conf/standard-error-code.csv
```

Deployment yaml:  Add the **volume Mounts and volumes** for Standard-error-code csv as follows.

```
VolumeMounts:
  - mountPath: /opsmx/conf/standard-error-code.csv
  name: standard-error-conf
  subPath: standard-error-codes.csv

Volumes:
  - configMap:
  defaultMode: 420
  items:
  - key: standard-error-codes.csv
  path: standard-error-codes.csv
  name: standard-error-codes-config
  name: standard-error-conf
```

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

Update the **Audit-service configmap** as follows.

```
standardErrorCodes:
      filePath: /opsmx/conf/standard-error-code.csv
```

Deployment yaml: Add the **volume Mounts and volumes** for Standard-error-code csv as follows.

```
VolumeMounts:
  - mountPath: /opsmx/conf/standard-error-code.csv
  name: standard-error-conf
  subPath: standard-error-codes.csv

  volumes:
  - configMap:
  defaultMode: 420
  items:
  - key: standard-error-codes.csv
  path: standard-error-codes.csv
  name: standard-error-codes-config
  name: standard-error-conf
```

**Datascience:**

Change the **Rabbitmq-service.yml** as follows:

```
selector:
 app: oes
 component: rabbitmq
```

**Dashboard-service:**

Configmap: Update the **dashboard configmap** as follows:

```
standardErrorCodes:
      filePath: /opsmx/conf/standard-error-code.csv
```

**Dashboard:**

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

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

Deployment yaml: Add the **volume Mounts and volumes** for Standard-error-code csv as follows.

```
VolumeMounts:
  - mountPath: /opsmx/conf/standard-error-code.csv
  name: standard-error-conf
  subPath: standard-error-codes.csv
 
  volumes:
  - configMap:
  defaultMode: 420
  items:
  - key: standard-error-codes.csv
  path: standard-error-codes.csv
  name: standard-error-codes-config
  name: standard-error-conf 
```

**Platform-service:**

Configmap: Update the **platform-service-secret.yml** as follows:

```
standardErrorCodes:
      filePath: /opsmx/conf/standard-error-code.csv

     This should be added under: platform-local.yml > oes section
			-----------------
 		    dashboard:
          url: "http://oes-dashboard:8094"

      Change user > source value from ldap to: "gate"
   		-----------------
   			user: 
          source: gate
```

Deployment yaml: Add the **volume Mounts and volumes** for Standard-error-code csv as follows.

```
VolumeMounts:
  - mountPath: /opsmx/conf/standard-error-code.csv
  name: standard-error-conf
  subPath: standard-error-codes.csv

  volumes:
  - configMap:
  defaultMode: 420
  items:
  - key: standard-error-codes.csv
  path: standard-error-codes.csv
  name: standard-error-codes-config
  name: standard-error-conf
```

**visiblity-service:**

```
Configmap: - https://github.com/OpsMx/kubeyaml/blob/v3.12/visibility-service/configmap.yml
	------------------------------
    standardErrorCodes:
      filePath: /opsmx/conf/standard-error-code.csv

    Change git > apiurl to following
    ---------------------
    git: 
       apiurl: "/repos/{account}/{repo}/commits/{commitId}"

    Change git > navigate > url: 
    ---------------------
         url: "https://github.com/{account}/{repo_name}/commit/{commit_Id}"

    Change visibility > connectors > configured value to following:
    ---------------------
       visiblity: 
         connectors: 
           configured: "JIRA,GITHUB,AUTOPILOT,SONARQUBE,JENKINS,AQUAWAVE"

    Add the following configuration under: visibility-local.yaml:
    ----------------------
    ui:
      approval:
        url: "https://${uiingress}/application/visibility/{applicationId}/{serviceId}/{approvalGateId}"
```

Deployment yaml: Add the **volume Mounts and volumes** for Standard-error-code csv in visibility deployment yaml as follows.

```
VolumeMounts:
  - mountPath: /opsmx/conf/standard-error-code.csv
  name: standard-error-conf
  subPath: standard-error-codes.csv

volumes:
  - configMap:
  defaultMode: 420
  items:
  - key: standard-error-codes.csv
  path: standard-error-codes.csv
  name: standard-error-codes-config
  name: standard-error-conf 
```

**Gate:**

Update the following **Gate config secret** as follows:

```
oes-gate-config-secret.yml
------------------------------
rbac:
 feature:
  application:
   enabled: false   ## Configurable from user end, available values are: true or false


allowUnauthenticatedAccess:
  agentAPI: false     # bydefault it's false, user configurable;  available values are: true or false
  webhooks: false     # bydefault it's false, user configurable;  available values are: true or false
```

```
spinnaker:
 extensibility:
   plugins:
   deck-proxy:
    enabled: true
    plugins:
      Opsmx.VerificationGatePlugin:
       enabled: true
       version: 1.0.1
      Opsmx.TestVerificationGatePlugin:
       enabled: true
       version: 1.0.1
      Opsmx.PolicyGatePlugin:
       enabled: true
       version: 1.0.1
      Opsmx.VisibilityApprovalPlugin:
       enabled: true
       version: 1.0.1
  repositories:
    opsmx-repo:
     url: "file:///opt/spinnaker/plugins/plugins.json" 
```

**oes-sapor:**

Sapor-secret.yaml: Update the sapor-secret.yml as follows:

```
commongateurl: https://${gateingress} # if the gate installation is common gate use gate url or else empty    
```

Add the following standard error codes:

```
 standardErrorCodes:
      filePath: /opsmx/conf/standard-error-code.csv
```

Delete the following accounts:

```
     spinnaker:
       version: 1.26
       images: OPSMX     
       restart:
         endPoint: /webhooks/webhook/restartSpinnaker
       encrypt:
         key: Q7udUkHPuA3VnNlOtksSgQ
         salt: deadbeef  
         enabled: true  
```

Add the following accounts:

```
     spinnaker:
       restart:
         endPoint: /webhooks/webhook/restartSpinnaker
       encrypt:
         enabled: true
       sync:
         permission:
           enabled: true 
```

Add the following config under **kubernetes**.

```
kubernetes:
 kinds:
 omitKinds:
 - podPreset
```

Deployment yaml: Add the **volume Mounts and volumes** for Standard-error-code csv in sapor deployment yaml as follows.

```
VolumeMounts:
  - mountPath: /opsmx/conf/standard-error-code.csv
  name: standard-error-conf
  subPath: standard-error-codes.csv

volumes:
  - configMap:
  defaultMode: 420
  items:
  - key: standard-error-codes.csv
  path: standard-error-codes.csv
  name: standard-error-codes-config
  name: standard-error-conf 
```

**OES-UI:**

Please check **helptext.json** file for latest changes: [**https://github.com/OpsMx/kubeyaml/blob/v3.12/oes-ui/configmap.yml**](https://github.com/OpsMx/kubeyaml/blob/v3.12/oes-ui/configmap.yml)

### ISD v3.11.x to ISD v3.1**2**.1

Users can upgrade from ISD v3.11.x to ISD v3.12.1 by updating the v.3.12 changes as described [above](https://docs.opsmx.com/release-history/upgrading-to-3.7/upgrade-from-3.11.x-to-3.12.x#isd-v3.11.x-to-v3.12), as well as the configuration changes mentioned below.

#### Configuration changes:

**Platform config:**&#x20;

```
 # Replace user > source: from ldap with gate
     user:
       source: gate
```

**Visibility config:**

Added a new configuration to provide a link to the approval page during the approval stage; we must provide DNS here:

```
ui:
 approval:
  url: https://${singleurl}/ui/application/visibility/{applicationId}/{serviceId}/{approvalGateId}
<code>
```

#### UI config:

Please copy help-text.json from kubeyml repo branch v3.12. <https://github.com/OpsMx/kubeyaml/blob/v3.12/oes-ui/configmap.yml>

### ISD v3.11.x to ISD v3.1**2**.3

Users can upgrade from ISD v3.11.x to ISD v3.12.3 by updating the v.3.12 changes as described [above](https://docs.opsmx.com/release-history/upgrading-to-3.7/upgrade-from-3.11.x-to-3.12.x#isd-v3.11.x-to-v3.12), as well as the configuration changes mentioned below.

#### Configuration changes:

* Delete the following code block from **Audit-client & Audit-service configmap.yaml** files:

```
  config:
   default:
    connectTimeout: 5000
    readTimeout: 5000
    loggerLevel: basic
```

* Add the following config into platform **secret.yaml** and set the adminuser to ADMIN user:

```
app:
  dashboard:
adminuser: user2 # mandatory to provide admin user name to run admin jobs that compute dashboard counts
     fixedDelay:
      in:
        milliseconds: 120000
     initialDelay:
      in:
        milliseconds: 600000
```

### ISD v3.11.x to ISD v3.1**2**.4

Users can upgrade from ISD v3.11.x to ISD v3.12.4 by updating the v.3.12 changes as described [above](https://docs.opsmx.com/release-history/upgrading-to-3.7/upgrade-from-3.11.x-to-3.12.x#isd-v3.11.x-to-v3.12), as well as the configuration changes mentioned below.

#### Configuration changes:

**OES-UI:**

Please check **helptext.json** file for latest changes: [**https://github.com/OpsMx/kubeyaml/blob/v3.12/oes-ui/configmap.yml**](https://github.com/OpsMx/kubeyaml/blob/v3.12/oes-ui/configmap.yml)

### ISD v3.11.x to ISD v3.1&#x32;**.5**

Users can upgrade from ISD v3.11.x to ISD v3.12.5 by updating the v.3.12 changes as described [above](https://docs.opsmx.com/release-history/upgrading-to-3.7/upgrade-from-3.11.x-to-3.12.x#isd-v3.11.x-to-v3.12), as well as the configuration changes mentioned below.

The upgrade Script file for ISD v3.12.4 to v3.12.5 can be found at the link below.

#### Script File

[https://github.com/OpsMx/enterprise-spinnaker/blob/master/scripts/oes-data-migration-scripts/migration\_v3.12.4\_to\_v3.12.5.py ](https://github.com/OpsMx/enterprise-spinnaker/blob/master/scripts/oes-data-migration-scripts/migration_v3.12.4_to_v3.12.5.py)[](https://github.com/OpsMx/platform-service/blob/master/data-migration/migration_v3.11.x_to_v3.12.py)

#### **Configuration changes**

**Standard-error-codes:**

Ref:<https://github.com/OpsMx/kubeyaml/blob/v3.12/common-conf/standard-error-codes.yml>

**OES UI:** [Configmap.yml](https://github.com/OpsMx/kubeyaml/blob/v3.12/oes-ui/configmap.yml)

**Audit-client-service:** Refer to this [URL](https://github.com/OpsMx/kubeyaml/blob/d58e8b785c93b2b4e079643cd63cfbc223d22d77/audit-client-service/configmap.yml).

Added fixed delay and initial delay configs.

```
 fixedDelay:
       in:
         milliseconds: 120000
     initialDelay:
       in:
         milliseconds: 300000
     scheduler:
         threads: 16
```

### ISD v3.11.x to ISD v3.1**2**.6

Users can upgrade from ISD v3.11.x to ISD v3.12.6 by updating the v.3.12 changes as described [above](https://docs.opsmx.com/release-history/upgrading-to-3.7/upgrade-from-3.11.x-to-3.12.x#isd-v3.11.x-to-v3.12), as well as the configuration changes mentioned below.

**Script File**\
The upgrade Script file for ISD **v3.12.5** to **v3.12.6** can be found at the link below. Upgrade script to handle approval count from the 'Gates Used' graph on the usage insights page.\
<https://github.com/OpsMx/enterprise-spinnaker/blob/master/scripts/oes-data-migration-scripts/migration_v3.12.5_to_v3.12.6.py>

**Upgrade instructions** \
[https://github.com/OpsMx/enterprise-spinnaker/blob/master/scripts/oes-data-migration-scripts/steps\_to\_migrate\_from\_v3.12.5\_to\_v3.12.6.txt ](https://github.com/OpsMx/enterprise-spinnaker/blob/master/scripts/oes-data-migration-scripts/steps_to_migrate_from_v3.12.5_to_v3.12.6.txt)

#### Configuration changes:

**Standard-error-codes:**\
Ref: <https://github.com/OpsMx/kubeyaml/blob/v3.12/common-conf/standard-error-codes.yml>

**OES-UI Config:**\
Please check **helptext.json** file for latest changes: <https://github.com/OpsMx/kubeyaml/blob/v3.12/oes-ui/configmap.yml>

### ISD v3.11.x to ISD v3.1**2**.6.1

Users can upgrade from ISD v3.11.x to ISD v3.12.6.1 by updating the v.3.12 changes as described [above](https://docs.opsmx.com/release-history/upgrading-to-3.7/upgrade-from-3.11.x-to-3.12.x#isd-v3.11.x-to-v3.12), as well as the configuration changes mentioned below.

**Upgrade Script File**

One-time script for cleaning unused Audit events data from Audit DB for production version **3.12.6.1 or before**: <https://github.com/OpsMx/enterprise-spinnaker/blob/master/scripts/oes-data-migration-scripts/clean_unused_audit_data.py>

Refer the below link to see the steps to run the script: \
<https://github.com/OpsMx/enterprise-spinnaker/blob/master/scripts/oes-data-migration-scripts/steps_to_clean_unused_audit_data>

Upgrade Script file for ISD **v3.12.5** to **v3.12.6.1** can be found at the link below.&#x20;

Upgrade script to handle approval count from the 'Gates Used' graph on the usage insights page.\
<https://github.com/OpsMx/enterprise-spinnaker/blob/master/scripts/oes-data-migration-scripts/migration_v3.12.5_to_v3.12.6.py>

**Upgrade instructions** \
[https://github.com/OpsMx/enterprise-spinnaker/blob/master/scripts/oes-data-migration-scripts/steps\_to\_migrate\_from\_v3.12.5\_to\_v3.12.6.txt ](https://github.com/OpsMx/enterprise-spinnaker/blob/master/scripts/oes-data-migration-scripts/steps_to_migrate_from_v3.12.5_to_v3.12.6.txt)
