Skip to content

Latest commit

 

History

History
360 lines (213 loc) · 9 KB

File metadata and controls

360 lines (213 loc) · 9 KB

Red Hat has limited amount of permissions to customer data (extended limitations)

This document describes the necessary steps that are required in order to migrate from on-prem to RHOAM with Red Hat having limited access to customer's AWS account.

Note: The following steps are subject to change

Before migration pre-requisites

These steps must be completed a day (or more) before the migration starts. All of the steps listed in this section are not service affecting and are done in order to minimize the time it takes to migrate.

Red Hat pre-requistes

Pre-requisite 1

Owner : Red Hat - BU/SRE-P

Goal : Provide RHOAM Eng team with the access to:

  • Destination AWS account
  • Destination cluster kubeadmin access

Pre-requisite 2

Owner : Red Hat - RHOAM Eng

Goal : Confirm access to the resources from Pre-requisite 1


Pre-requisite 3

Owner : Red Hat - RHOAM Eng

Goal : Create migration cluster and:

  • Confirm access to it
  • Install 3scale version matching the source 3scale version using -mas channel

SOP Link


Pre-requisite 4

Owner : Red Hat - RHOAM Eng

Goal : Configure stand alone VPC

SOP Link


Pre-requisite 5

Owner : Red Hat - RHOAM Eng

Goal : On migration cluster AWS account standalone VPC create the following:

  • System database matching the same type and version that's used on source cluster
  • Two Redis instances with version matching RHOAM version
  • In case if the system database is not PostgreSQL database type, provision PostgreSQL - this database will be used as the destination database during conversion from MySQL or Oracle to PostgreSQL

Customer / Red Hat pre-requisites

Pre-requisite 1

Owner : Customer

Goal : Create an S3 bucket with 3scale secrets in it

SOP Link


Pre-requisite 2

Owner : Customer

Goal : Provide RHOAM Eng with the access to the S3 bucket


Pre-requisite 3

Owner : RHOAM Eng

Goal : Confirm that the access to the S3 is correct and that the bucket contents can be pulled


Pre-requisite 4

Owner : Customer

Goal : Configure IDP on the destination cluster and confirm that the cluster is accessible via the IDP created


Pre-requisite 5 - OPTIONAL

Owner : Customer

Goal : Create custom domain CR on destination cluster


Pre-requisite 6

Owner : Customer

Goal : Trigger RHOAM installation, ensure that the following configuration is correct:

  • SMTP
  • Custom domain
  • Notification email address
  • Quota

Pre-requisite 7

Owner : RHOAM Eng

Goal : Scale down RHOAM Operator as soon as the APIManager is created on destination cluster

SOP Link


Pre-requisite 8

Owner : Customer

Goal : Confirm that there's a rollback procedure in place in case of migration failure

Migration

Once all of the pre-requisites are met the migration can start

Source cluster

Below are the steps to be performed on source cluster


Step 1

Owner : Customer

Goal : Prepare 3scale isntance for the migration:

  • Stop traffic going to 3scale instance
  • Clear the job queue or accept the potential data loss
  • Scale down 3scale instance

Step 2

Owner : Customer

Goal : Perform data dump from:

  • System database
  • Backend Redis instance
  • Scale down 3scale instance

Migration cluster

Below are the steps to be performed on the migration cluster

Step 3

Owner : RHOAM Eng

Goal : Source system database with the dump provided by the customer

SOP Link


Step 4

Owner : RHOAM Eng

Goal : Upgrade the MySQL version from 5.28 to 8.X

SOP Link


Step 5

Owner : RHOAM Eng

Goal : Migrate from MySQL to PostgreSQL

SOP Link


Step 6

Owner : RHOAM Eng

Goal : Edit master routes and customer tenant/tenants admin routes

SOP Link


Step 7

Owner : RHOAM Eng

Goal : Scale down 3scale instance

SOP Link


Step 8

Owner : RHOAM Eng

Goal : Copy secrets from source to migration cluster and plug in AWS system database and Redises to 3scale instance

Copy secrets:

SOP Link

Plug in external databases to 3scale

SOP Link


Step 9

Owner : RHOAM Eng

Goal : Scale up 3scale and confirm apis are accessible via master api calls

SOP Link


Step 10

Owner : RHOAM Eng

Goal : Perform 3scale updates up to version matching current RHOAM 3scale version

SOP Link


Step 11

Owner : RHOAM Eng

Goal : Scale 3scale down and update master and customer tenant/tenants admin portal route to the route matching destination cluster

Scale 3scale down:

SOP Link

Update master and customer tenant/tenants admin portal routes

SOP Link


Step 12

Owner : RHOAM Eng

Goal : Perform backup of Postgres database and put backup in S3 bucket (if needed)

SOP Link

Production cluster

Below are the steps required to be performed against production cluster and AWS account


Step 13

Owner : RHOAM Eng

Goal : Scale 3scale down and push Postgres database dump to destination cluster via throwaway pod

Scale down 3scale instance

SOP Link

Source system database with the PostgreSQL dump

SOP Link


Step 14

Owner : Customer

Goal : Recover backend Redis

SOP Link


Step 15

Owner : RHOAM Eng

Goal : Copy secrets from local to destination cluster

SOP Link


Step 16

Owner : RHOAM Eng

Goal : Scale up 3scale and provide routes to the customer so that they can configure their systems with the new routes

SOP Link


Step 17

Owner : RHOAM Eng

Goal : Set master account plan to "Enterprise"

SOP Link


Step 18

Owner : RHOAM Eng

Goal : Confirm 3scale is up and running, navigate to customer tenant/s (impresonate) make few api calls etc


Step 19

Owner : RHOAM Eng

Goal : Create RHOAM default tenant

SOP Link


Step 20

Owner : RHOAM Eng

Goal : Scale up RHOAM

SOP Link


Step 21

Owner : RHOAM Eng

Goal : Wait for RHOAM Operator to finish installation


Step 22

Owner : RHOAM Eng

Goal : Create SSO integration on additional tenant

SOP Link


Step 23

Owner : Customer

Goal : Publish SSO Integration by logging to 3scale and testing SSO Integration


Step 24

Owner : Customer

Goal : Perform verification steps


Step 25

Owner : Customer

Goal : Update systems to point to new routes