Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade the mysqld version and support major version upgrades in vitess-operator #14160

Open
frouioui opened this issue Oct 2, 2023 · 0 comments

Comments

@frouioui
Copy link
Member

frouioui commented Oct 2, 2023

Feature Description

Here is an outline of what we want to achieve:

  • Ease how we upgrade the version of mysqld in Vitess.
  • Support mysqld upgrades in vitess-operator.
  • Ship a lightweight Docker Image for the mysqld container.
  • Enable users to easily select what mysqld version they want to run.
  • Bump default 8.0 version to 8.0.34.

The current MySQL version we ship in Vitess is 8.0.30. This version is slightly outdated as there is a more recent (8.0.34) version available. We would like to upgrade to 8.0.34. However, upgrading the MySQL version on a live cluster can be tricky and might require the vitess-operator (or the end-user) to shutdown the mysqld instances with innodb_fast_shutdown=0 to allow for a safe upgrade. The current issue with the vitess-operator is that there is no clear way of knowing the user is about to upgrade the MySQL version when doing an apply. To enable the vitess-operator of knowing that there is a MySQL upgrade incoming, we would like to use a dedicated mysqld Docker Image that is tagged by MySQL version. Just by comparing the tag of the Docker Image the end-user wants to apply, and the current tag used by the deployment, the vitess-operator will be able to decide whether or not to set innodb_fast_shutdown to 0. This will facilitate any future MySQL upgrade, giving the choice to end-users to remain on a specific MySQL version or to move to the new one.

The goal is that instead of using the vitess/lite:latest image for mysql80Compatible in the K8S YAML file, end-users will use i.e. vitess/lite:8.0.34.

Use Case(s)

na

@frouioui frouioui added Type: Feature Needs Triage This issue needs to be correctly labelled and triaged labels Oct 2, 2023
@frouioui frouioui self-assigned this Oct 2, 2023
@frouioui frouioui added Type: CI/Build Component: Docker and removed Needs Triage This issue needs to be correctly labelled and triaged labels Oct 2, 2023
@frouioui frouioui changed the title Bump the default version of MySQL 8.0 and build our own MySQL Docker Images Upgrade the mysqld version and support major version upgrades in vitess-operator Oct 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant