Some tenants may have to move to a different cluster. The list below provides details on how to proceed to minimize the downtime. The whole process will be tested using the ybg tenant moving it (for instance) from QA to LABS.
Prerequisites
[x] Destination cluster is up and running
[x] Destination cluster runs a version which is compliant with the source (no data migration)
[x] Charger's template are the same on both clusters
[x] CI/CD of the destination is in place and can build/deploy hotfixes from the open-source repository
[x] SMTP is properly configured to allow sending notifications via emails
[x] Smart-charging URL - do not use the one from SAP
[ ] Monitoring of the destination is live (prometheus/grafana)
[ ] PM2 monitoring is properly configured as well
[ ] Optional - Connection to MongoDB ATLAS is using a private link
[ ] Enable Access to ev-database (Car Catalog)
GCP Prerequisites
Create GCP Account - to enable Google's API
[ ] Firebase is properly configured to allow sending notifications to the mobile app
[ ] Recaptcha - secret key / key ID
[ ] Enable Google Maps
[ ] Enable Address Completion
OCPI Prerequisites
Gireve
[x] Synchronize with GIREVE on how to migrate existing accounts
[x] White list IP addresses of the destination cluster
[x] Make sure Gireve is properly configured - handshake? - partner ID
Domain Name Prerequisites
All chargers that are to be moved should connect via a dedicated domain name - a.k.a a CPMS domain name.
e.g.: emobility-cpms.com
This domain is dedicated to charger connections - cannot be used for the dashboard/mobile app.
[x] CPMS domain name MUST be registered on the destination registrar
[x] [NS] records of the CPMS domain name points to the name server of the destination
[x] Configure the load balancer (target group) at SAP - forward des web sockets
[x] declare *.emobility-cpms.com in ACM on the destination
[x] In route 53 - first route the trafic to the load balancer of the destination to activate SSL
[x] [A] records of the CPMS domain name points to the static IP of the global accelerator (of the source)
Preparation Phase per Customer (Can be done in Parallel)
The preparation phase is important. Each customer will have to do it before moving the tenant to the destination.
[x] Specify at the tenant level the CPMS domain name
[x] The subdomain MUST be specified as well - e.g.: For tenant ybg, the new FQHN should be ybg.emobility-cpms.com
[x] Ask the customer to update all chargers and make sure they all use the new URL
[x] Plan the date of the switch to the destination
[x] Make sure NOT TO DO IT when critical jobs are running (1st day of the month, etc...)
[ ] Plan with the customer the adaptation of external tools (Dashboards)
[ ] Plan with the customer the adaptation of their own mobile app
[ ] Clarify specific constraints (Gireve, IOThink, Concur, ...)
Cut-over to the Destination
[ ] Switch OFF all jobs for this tenant (both on the source and destination)
[ ] Backup/Restore tenant Data
[ ] Update the URL to the smart-charging endpoint
[ ] Update [A] records of the CPMS domain name (INCLUDING THE SUBDOMAIN) to target the ALB of the destination
[ ] Restart some charging stations manually - check the impact
[ ] Redirect of the whole tenant to the destination - redirectDomain property must be set on the source - DO NOT PUT THE SUBDOMAIN - DO NOT USE emobility-cpms!!!!
[ ] Trigger an OCPPJ restart on the source - can be done by triggering the OCPPJ deployment again
[ ] Monitor WebSocket connections (via Grafana) on both clusters
[ ] Check that chargers are now connected to the destination
[ ] Roaming - Get from GIREVE the new token and perform the handshake
Some tenants may have to move to a different cluster. The list below provides details on how to proceed to minimize the downtime. The whole process will be tested using the ybg tenant moving it (for instance) from QA to LABS.
Prerequisites
GCP Prerequisites
Create GCP Account - to enable Google's API
OCPI Prerequisites
Gireve
Domain Name Prerequisites All chargers that are to be moved should connect via a dedicated domain name - a.k.a a CPMS domain name. e.g.: emobility-cpms.com This domain is dedicated to charger connections - cannot be used for the dashboard/mobile app.
Preparation Phase per Customer (Can be done in Parallel)
The preparation phase is important. Each customer will have to do it before moving the tenant to the destination.
Cut-over to the Destination
Rollback in Case of Emergency/Outage
In case of issues, a rollback should be possible
Source Sunset
Anticipate the source sunset