Skip to content
This repository was archived by the owner on May 28, 2021. It is now read-only.

Files

Latest commit

20ff3b1 · Jul 4, 2018

History

History
59 lines (45 loc) · 2.56 KB

0.1-upgrade.md

File metadata and controls

59 lines (45 loc) · 2.56 KB

v0.1.* Upgrade

The v0.1.* release series is the only release series of the MySQL Operator which supports MySQL 5.7. InnoDB Group replication and associated tooling has been dramatically improved with the GA release of MySQL 8 (8.0.11). As a result from the v0.2.0 MySQL Operator release onwards MySQL 8.0.11 is the minimum supported version.

Due to the complexities of the upgrade path between MySQL 5.7 and MySQL 8 we aren't implementing an upgrade path between the v0.1.* and v0.2.* MySQL Operator release series.

Instead users need to:

  1. Backup all MySQL Clusters deployed by the MySQL Operator. NOTE: If you choose to use the inbuilt backup functionality of the MySQL Operator for this you will need to ensure you save the associated MySQLBackup resources locally, update them in line with the v0.2.0 API changes, and the recreate them after installing v0.2.0.

  2. Delete the MySQL Operator release

    $ helm delete mysql-operator

    NOTE: You may have named the installed MySQL Operator release something different during installation (see helm list).

  3. Follow the installation instructions to install v0.2.0 of the MySQL Operator.

  4. Create replacement MySQL Clusters using the updated API and restore the backups created in step #1.

Other Breaking Changes

Additionally, we have taken this opportunity to make a number of breaking changes to the MySQL Operator API to improve its usability.

API Version Downgrade

We have downgraded the API Version from v1 to v1alpha1 to enable future iteration on the API design (taking advantage of the fact that Custom Resource Definitions can now define multiple versions) and to better reflect the stability of the MySQL Operator API.

Resource Kinds Renamed

Previously the MySQL Operator Custom Resource Kinds were prefixed with MySQL (e.g. MySQLCluster). This prefix has been removed, however, the prefix has been maintained in the singular/plural names used when interacting via kubectl (e.g. kubectl get mysqlclusters).

API changes

Numerous fields on all MySQL Operator Custom Resources have been renamed and some field types changed. Please review pkg/apis/mysql/v1alpha1/types.go as the definitive source of truth and see the updated examples/.