Mop for uuid addition and jdk/springboot upgrade ¶
Precondition ¶
- Make sure new AWS Elastic BeanStalk Environment for Virginia-prod created
- Make sure new AWS Elastic BeanStalk Environment for California-prod created
- Configuration
1. Make sure that the parameters are added to AWS|Parameter Store for two regions: 1. /gss/prod/gss-service.gss-oauth2.mode: sso
Note: (The total amount of datas in each table that currently needs to add uuid)
| count(*) | 90days | limit | |
|---|---|---|---|
| status_release_note | 42 | ||
| status_api_doc | 11 | ||
| status_maintenance_event | 6879 | 344 | 50->100->500 |
| status_maintenance_rss | 391 | 13 | 50->100 |
| status_maintenance_dcs | 11 | ||
| status_maintenance_clusters | 21 | ||
| status_incident_subscription_info | 211 | ||
| status_announcements_subscription_info | 3248 | 100->500 |
Mop ¶
- Notify customer about the maintenance window
- DB change for California: 1. Update CodeBuild BeanStalk env name to new env 2. Modify BeanStalk BeanStalk configuration(set min instance=2) 3. Run jenkins pipeline to deploy backend service to new env(uuid can be added to DB)
- For California new Environment: env-url/ping can return region info, /customer/dashServices/891 can return datas
- Swap url with California old BeanStalk environment
- Health check for service: https://service-status-us-west-1.webex.com/ping and https://service-status-us-west-1.webex.com/customer/dashServices/891
- Set min instance=0 on Auto Scaling group|BeanStalk Old Environment for California
- DB change for Virginia: 1. Update CodeBuild BeanStalk env name to new env 2. Modify BeanStalk BeanStalk configuration(set min instance=4) 3. Run jenkins pipeline to deploy backend service to new env(uuid can be added to DB)
- For Virginia new Environment: env-url/ping can return region info, /customer/dashServices/891 can return datas
- Swap url with Virginia new BeanStalk environment
- Health check for service: https://service-status-us-east-1.webex.com/ping and https://service-status-us-east-1.webex.com/customer/dashServices/891
- Check active region with https://service-status.webex.com/ping (should be us-east-1)
- Health check for service: https://service-status.webex.com/ping and https://service-status.webex.com/customer/dashServices/891
- Set min instance=0 on Auto Scaling group|BeanStalk Old Environment for Virginia
- Update history datas with https://service-status.webex.com domain:(should work with old frontend code) 1. status_release_note (PUT +/status/releaseNotes) → check California-SQS(dbEvent-prod-california.fifo) about dataSync 2. status_api_doc (PUT +/status/apiDocs) 3. status_maintenance_dcs (PUT +/status/dataCenter/history) 4. status_maintenance_clusters (PUT +/status/cluster/history) 5. status_incident_subscription_info: (PUT +/subscription/incident/history?limit=50) 6. status_maintenance_rss(90days): PUT +/status/maintenance/announcement/891/history/90days?limit=50 7. status_maintenance_event(90days): PUT +/status/maintenance/891/history/90days?limit=50 8. status_maintenance_rss(All): PUT +/status/maintenance/announcement/891/history?limit=50 9. status_maintenance_event(All): PUT +/status/maintenance/891/history?limit=50 10. status_announcements_subscription_info (PUT +/subscription/announcement/history?limit=50)
- Check all datas with uuid for prod 1. status_release_note (select * from status_release_note where uuid is null;) 2. status_api_doc (select * from status_api_doc where uuid is null;) 3. status_maintenance_event (select * from status_maintenance_event where uuid is null;) 4. status_maintenance_rss (select * from status_maintenance_rss where uuid is null;) 5. status_maintenance_dcs (select * from status_maintenance_dcs where uuid is null;) 6. status_maintenance_clusters (select * from status_maintenance_clusters where uuid is null; + select * from status_maintenance_clusters where dc_uuid is null;) 7. status_incident_subscription_info (select * from status_incident_subscription_info where uuid is null;) 8. status_announcements_subscription_info (select * from status_announcements_subscription_info where uuid is null; + select * from status_announcements_subscription_info where announcement_uuid is null;)
- Check all datas with uuid for California 1. status_release_note (select * from status_release_note where uuid is null;) 2. status_api_doc (select * from status_api_doc where uuid is null;) 3. status_maintenance_event (select * from status_maintenance_event where uuid is null and service_id='891') 4. status_maintenance_rss (select * from status_maintenance_rss where uuid is null and service_id='891') 5. status_maintenance_dcs (select * from status_maintenance_dcs where uuid is null;) 6. status_maintenance_clusters (select * from status_maintenance_clusters where uuid is null; + select * from status_maintenance_clusters where dc_uuid is null;) 7. status_announcements_subscription_info (select * from status_announcements_subscription_info where uuid is null; + select * from status_announcements_subscription_info where announcement_uuid is null;) 8. status_incident_subscription_info (select * from status_incident_subscription_info where uuid is null;) 1. should have one data uuid is null(incident_id=3527f88077c511f08df8abfd36515f89) 2. Update status_incident_subscription_info data for California: 1. DELETE + /subscription/unsubscribe/incident?incidentId=3527f88077c511f08df8abfd36515f89 2. Check again: status_incident_subscription_info (select * from status_incident_subscription_info where uuid is null;)
- Health check for california service: https://service-status-us-west-1.webex.com/ping and https://service-status-us-west-1.webex.com/customer/dashServices/891
- Deploy frontend California
- Check if it works: https://us-west-1.globalservicestatus.com
- Health check for virginia service: https://service-status-us-east-1.webex.com/ping and https://service-status-us-east-1.webex.com/customer/dashServices/891
- Deploy frontend Virginia
- Check the current region: https://service-status.webex.com/ping
- Health check for service: https://service-status.webex.com/customer/dashServices/891
- Check if it works: https://us-east-1.globalservicestatus.com and https://status.webex.com
- Add release note
- close servicenow change