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

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

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:

Configmap: 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

ISD v3.11.x to ISD v3.12.1

Users can upgrade from ISD v3.11.x to ISD v3.12.1 by updating the v.3.12 changes as described above, as well as the configuration changes mentioned below.

Configuration changes:

Platform config:

 # 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.12.3

Users can upgrade from ISD v3.11.x to ISD v3.12.3 by updating the v.3.12 changes as described above, 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