Documentation PortalBack to Self Assist PortalBack
Documentation Portal
Contents

Migrate your CloudOne Apps from Openshift to Rancher - V 1

This activity involves deploying the new application to Rancher, transferring the existing data if required to the new data space, and configuring CNAMEs. The reccomended migration flow is to first upgrade all the non-production environments (stage, pre-prod), production and then workspace. Workspace migration should be done at last to prevent development delays during the migration process. Make sure to abide by all the pre-requisites to enable smooth space migration.

Getting Started with Rancher Migration

Pre-Requisites

  1. Upgrade all pipeline versions of the application to v4.0.
  2. Enable Ambassador mappings instead of Openshift routes.
  3. If HS PVC data is required to run/function the application? If so, send email to ng-rancher-migration@netapp.com

Setup Host Space (Non-Production)

1. Create new spacename in Rancher for each space

2. Perform pipeline changes to deploy to Rancher HS Stage

  • Add host space details in azure-pipeline.yml. edit-profile
  • Check CPU & Memory status of micro-services in CloudOne and update your application's requirement in your values.yml file. edit-profile
  • The dashboard ( https://splunk.corp.netapp.com/en-US/app/ngdc/cloudone_cpu__mem_request_vs_usage_by_each_service ) has been updated to include both Rancher (top section) and OpenShift (bottom section). Splunk report requires VPN access.
  • For Hostspaces add values.yml/ helmchart files specific to your application.
  • For Dataspaces add azure-pipeline.yaml files specific to your application . edit-profile Note :

      • Above example is for a redis database , change DBstack name according to your Database.
      • This is only for cpuRequests , we are not restricting cpuLimits .
      • Minimum CPU request is 160 and default is also set to 160 .
  • Add any code changes or changes to DB/external app connection (if required).
  • Raise service now incident for firewall requirements if required.

3. Pipeline execution & Validation

  • Run the modified pipeline and validate the deployment in each stage.
  • Update application config to use new Rancher end points (This is to be performed in all applications that use deployed endpoints in the codebase.)
  • Repeat Run and Validation step again to complete the code modifications.

[Note] CloudOne Azure Devops: How to Create Pull Request (PR)?
If no data space is required proceed to execute test cases and contact the Migration team to fix any issues encountered.

Setup Data Space (Stage)

Your DataSpace pipeline should be in version 4.0 before starting the migration activities.

1. Create new spacename in Rancher for each space

2. Code Repo Prep for DS Migration

  • Create new branch on the correct Repo
  • Pull in new DB credentials and DB Configs
  • Run the pipeline in backup mode and then run the pipeline in restore mode by selecting the new DS.
  • Update dependent appstacks with the new DS endpoints.

3. Pipeline execution & Validation

  • Run the pipeline and validate the restored data and check if the app database connection is successful.
  • Repeat pipeline execution and validation.
  • Execute application test cases to validate database connectivity and check if the restoration is successful.
  • Report any blocker issues encountered during the DS migration to the migration team.
  • Send validation completion of stage environment an email to ng-rancher-migration@netapp.com.

[Note] CloudOne Azure Devops: How to Create Pull Request (PR)?

Setup Host Space (Production)

Follow the steps mentioned in non-production/stage environment to setup production hostspace.

Setup Data Space (Production)

Follow the steps mentioned in non-production/stage environment to setup production dataspace.

Pre-Go Live Activities - To be done by the Application team

  1. Create & submit Change Request (RFC) for migrating app to Rancher.
    a. Include CTASK or Service Incident to change CNAME entry
  2. Create Production Cutover plan
    a. Include executable and validation tasks
    b. Include every task with owner, start date/time, end date/time, dependency
  3. Setup cutover plan review with ng-rancher-migration, app L2 team, & cutover task owners.
    Cutover plan template

Go-Live Activities

  1. Open production cutover zoom meeting – To be done by the Application team
  2. Execute RFC according to the production Cutover plan – Cutover task owners
  3. Communicate status of RFC every 2 hours to ng-rancher-migration, app team members, cutover task owners - To be done by the Application team

Post-Go Live Activities

1. Any migration issues, create an incident ticket to assignment group: ITSO > CloudOne DevOps

2. Setup Workspace

  • Raise an incident in ServiceNow that xyz-workspace needs to be migrated to Rancher and assign it to the Migration/L2 team. Follow INC3095664 incident for the right format. The migration team internally creates 4 ITasks for the following migration tasks

    1. Update 'xyz-workspace' CI with new Cloud Cluster (Assigned to Lisa).
    2. Perform migration and Once you have run the pipeline, capture the 'OpenShiftProjectURL' value from the Extensions tab and provide it in the next ITASK (Assigned to L2 team).
    3. Update 'xyz-workspace' CI with new Project URL (Assigned to Lisa).
    4. Delete the old Workspace Project 'xyz-workspace' (Assigned to L2 Team).
    5. Test and validate with other interfacing applications if required.
    6. Repeat run and validation step again to complete the code modifications.
      The last task will only be performed after confirmation from the application team
    7. Send validation completion of WS environment email to ng-rancher-migration@netapp.com.

3. Execution and Validation

  • Run the pipeline and validate the application. Contact the migration assistance team to resolve any issues.

4. Decommission Spaces from OpenShift environment

  • Decommission sub-prod (stg) hostspaces & Dataspaces from OpenShift environment via ServiceNow after 2 weeks of Go-Live on Rancher.

    • No RFC is required to decommission sub-prod(stg) namespaces.
  • Decommission Production (prd) hostspaces & Dataspaces from OpenShift environment via ServiceNow after 2 weeks of Go-Live on Rancher.

    • RFC is required to decommission Production (prd) namespaces.
    • Please enter all production namespaces to be decommissioned for your application under one change request.

      • Note: ServiceNow allows to decommission one namespace at a time but, same change request number can be used
    • Please refer to below KB articles:

      • KB0007439 - How to create a change request CloudOne DevOps/CaaS: CHG Requirements for Disruptive Actions.
      • KB0007428 - CloudOne DevOps/CaaS: Day 2 Hostspace Capabilities.
      • KB0007429 - Database Day 2 decommissioning - CloudOne DevOps/CaaS: Day 2 Dataspace Capabilities.