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. |
...
Coordinate with product to determine an upgrade timeframe for devstack.
Update the “Planned 5.7 DevStack Upgrade” column below.
Please link any created tickets to https://openedx.atlassian.net/browse/OPS-4652
Identify dependency changes
If your app uses any python database libraries, please update these.
Upgrading Devstack
Find your app’s docker-compose block(s) in https://github.com/edx/devstack
Update your apps container to point at
mysql57
instead ofmysql
and update any related make commands.
(e.g. https://github.com/edx/devstack/blob/a76042b19aeb8fc8b02d93d3db4be783a54a0be1/docker-compose-marketing-site.yml#L15 )If possible run e2e tests to see if the change causes any issues.
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)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.
If you learned any lessons that would be valuable to other teams, please describe or link to them here.
Upgrading Travis or CircleCI
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)
Upgrading Sandboxes
SRE will be upgrading Sandboxes before we upgrade stage with this PR: https://github.com/edx/configuration/pull/5695/files
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)
Be on the lookout for any performance impacts once SRE notifies you that stage and prod are being upgraded.
Note: RDS Aurora MySQL Databases will likely require downtime, but RDS MySQL databases can be upgraded without downtime.
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
...