Skip to content

Mop for uuid addition and jdk/springboot upgrade

Precondition

  1. Make sure new AWS Elastic BeanStalk Environment for Virginia-prod created
  2. Make sure new AWS Elastic BeanStalk Environment for California-prod created
  3. 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

  1. Notify customer about the maintenance window
  2. 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)
  3. For California new Environment: env-url/ping can return region info, /customer/dashServices/891 can return datas
  4. Swap url with California old BeanStalk environment
  5. 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
  6. Set min instance=0 on Auto Scaling group|BeanStalk Old Environment for California
  7. 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)
  8. For Virginia new Environment: env-url/ping can return region info, /customer/dashServices/891 can return datas
  9. Swap url with Virginia new BeanStalk environment
  10. 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
  11. Check active region with https://service-status.webex.com/ping (should be us-east-1)
  12. Health check for service: https://service-status.webex.com/ping and https://service-status.webex.com/customer/dashServices/891
  13. Set min instance=0 on Auto Scaling group|BeanStalk Old Environment for Virginia
  14. 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)
  15. 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;)
  16. 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;)
  17. 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
  18. Deploy frontend California
  19. Check if it works: https://us-west-1.globalservicestatus.com
  20. 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
  21. Deploy frontend Virginia
  22. Check the current region: https://service-status.webex.com/ping
  23. Health check for service: https://service-status.webex.com/customer/dashServices/891
  24. Check if it works: https://us-east-1.globalservicestatus.com and https://status.webex.com
  25. Add release note
  26. close servicenow change