Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This article describes the upgrade path and expectations for IDAs moving from MySQL 5.6 to 5.7

Note

1: This work has been completed as of 2/2, however this page has been left for contextual purposes.

2: This page is public, but some of the details here pertain only to edX deployments, and many of the links are to protected pages.

...

  1. Coordinate with product to determine an upgrade timeframe for devstack.

    1. Update the “Planned 5.7 DevStack Upgrade” column below.

    2. Please link any created tickets to https://openedx.atlassian.net/browse/OPS-4652

  2. Identify dependency changes

    1. If your app uses any python database libraries, please update these.

  3. Upgrading Devstack

    1. Find your app’s docker-compose block(s) in https://github.com/edx/devstack

    2. Update your apps container to point at mysql57 instead of mysql and update any related make commands.
      (e.g. https://github.com/edx/devstack/blob/a76042b19aeb8fc8b02d93d3db4be783a54a0be1/docker-compose-marketing-site.yml#L15 )

    3. If possible run e2e tests to see if the change causes any issues.

    4. Merge your PR and notify engineering if any manual steps are needed to recreate data locally.
      (e.g. make dev.dbcopy57.<service> , see 10/6 “Discovery switching to mysql 5.7” email thread from Mike for examples)

    5. If manual steps are needed and your service is an Open edX service, please also post to Discourse (e.g. https://discuss.openedx.org/t/discovery-switching-to-mysql-5-7/3360) and add make sure the Koa release planning notes reflect your changes.

    6. If you learned any lessons that would be valuable to other teams, please describe or link to them here.

  4. Upgrading Travis or CircleCI

    1. Make sure that whatever Travis or CircleCI tests you have which use MySQL are using a 5.7 container. (e.g. https://github.com/edx/xqueue/pull/783/files)

  5. Upgrading Sandboxes

    1. SRE will be upgrading Sandboxes before we upgrade stage with this PR: https://github.com/edx/configuration/pull/5695/files

    2. However you may need to coordinate the timing of persistent sandbox deployments.
      (e.g. partner registrar sandboxes should get rebuilt after prod gets upgraded, int sandboxes get upgraded ahead of time)

  6. Be on the lookout for any performance impacts once SRE notifies you that stage and prod are being upgraded.

    1. Note: RDS Aurora MySQL Databases will likely require downtime, but RDS MySQL databases can be upgraded without downtime.

    2. If there are downtime constraints for prod please let the SRE team know, we will be estimating the downtime and choosing which upgrade path makes the most sense and will be attempting to

...