From da117a2417d7410be913a000506efd67255f29cc Mon Sep 17 00:00:00 2001 From: shunki-fujita Date: Wed, 13 Nov 2024 05:28:55 +0000 Subject: [PATCH] issue-753: update test matrix and documents --- .github/workflows/ci-e2e.yaml | 6 +++--- DEVELOP.md | 10 +++++----- Dockerfile | 4 ++-- Makefile | 2 +- README.md | 4 ++-- docs/change-pvc-template.md | 2 +- docs/custom-mysqld.md | 8 ++++---- docs/customize-system-container.md | 2 +- docs/designdoc/allow_customize_containers.md | 4 ++-- docs/designdoc/support_reduce_volume_size.md | 2 +- docs/usage.md | 6 +++--- e2e/Makefile | 2 +- e2e/upgrade_test.go | 2 +- examples/anti-affinity.yaml | 2 +- examples/collect-metrics.yaml | 2 +- examples/custom-mycnf.yaml | 2 +- examples/custom-probe.yaml | 2 +- examples/guaranteed.yaml | 2 +- examples/loadbalancer.yaml | 2 +- 19 files changed, 33 insertions(+), 33 deletions(-) diff --git a/.github/workflows/ci-e2e.yaml b/.github/workflows/ci-e2e.yaml index 91a1a85d5..765d72f5f 100644 --- a/.github/workflows/ci-e2e.yaml +++ b/.github/workflows/ci-e2e.yaml @@ -20,7 +20,7 @@ jobs: name: Integration tests with MySQL strategy: matrix: - mysql-version: ["8.0.28", "8.0.36", "8.0.37", "8.0.39", "8.4.2"] + mysql-version: ["8.0.28", "8.0.37", "8.0.39", "8.0.40", "8.4.3"] runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 @@ -40,7 +40,7 @@ jobs: name: Supported Kubernetes versions End-to-End Tests strategy: matrix: - mysql-version: ["8.4.2"] + mysql-version: ["8.4.3"] k8s-version: ["1.29.4", "1.30.4", "1.31.0"] runs-on: group: moco @@ -64,7 +64,7 @@ jobs: name: Supported MySQL versions End-to-End Tests strategy: matrix: - mysql-version: ["8.0.28", "8.0.36", "8.0.37", "8.0.39", "8.4.2"] + mysql-version: ["8.0.28", "8.0.37", "8.0.39", "8.0.40", "8.4.3"] k8s-version: ["1.31.0"] runs-on: group: moco diff --git a/DEVELOP.md b/DEVELOP.md index 0b32ddf42..2141fbef5 100644 --- a/DEVELOP.md +++ b/DEVELOP.md @@ -54,10 +54,10 @@ Edit the following lines in `Dockerfile`: ``` # The tag should be the latest one -FROM ghcr.io/cybozu-go/moco/mysql:8.4.2.1 as mysql +FROM ghcr.io/cybozu-go/moco/mysql:8.4.3.1 as mysql # See the below description for how to get the version string. -ARG MYSQLSH_VERSION=8.4.0-1 +ARG MYSQLSH_VERSION=8.4.3-1 ``` The MySQL shell debian package can be found in https://dev.mysql.com/downloads/shell/ . @@ -84,14 +84,14 @@ MySQL versions appear twice: name: Integration tests with MySQL strategy: matrix: - mysql-version: ["8.0.28", "8.0.36", "8.0.37", "8.0.39", "8.4.2"] + mysql-version: ["8.0.28", "8.0.37", "8.0.39", "8.0.40", "8.4.3"] ... # Matrix tests for the latest MySQL version on different Kubernetes versions. e2e: name: Supported Kubernetes versions End-to-End Tests strategy: matrix: - mysql-version: ["8.4.2"] + mysql-version: ["8.4.3"] k8s-version: ["1.29.4", "1.30.4", "1.31.0"] ... # Matrix tests for different MySQL versions on the latest supported Kubernetes version. @@ -99,7 +99,7 @@ MySQL versions appear twice: name: Supported MySQL versions End-to-End Tests strategy: matrix: - mysql-version: ["8.0.28", "8.0.36", "8.0.37", "8.0.39", "8.4.2"] + mysql-version: ["8.0.28", "8.0.37", "8.0.39", "8.0.40", "8.4.3"] k8s-version: ["1.31.0"] ``` diff --git a/Dockerfile b/Dockerfile index 040c028c1..9de583819 100644 --- a/Dockerfile +++ b/Dockerfile @@ -20,13 +20,13 @@ USER 10000:10000 ENTRYPOINT ["/moco-controller"] # For MySQL binaries -FROM --platform=$TARGETPLATFORM ghcr.io/cybozu-go/moco/mysql:8.4.0.1 as mysql +FROM --platform=$TARGETPLATFORM ghcr.io/cybozu-go/moco/mysql:8.4.3.1 as mysql # the backup image FROM --platform=$TARGETPLATFORM ghcr.io/cybozu/ubuntu:22.04 LABEL org.opencontainers.image.source https://github.com/cybozu-go/moco -ARG MYSQLSH_VERSION=8.4.0 +ARG MYSQLSH_VERSION=8.4.3 ARG MYSQLSH_GLIBC_VERSION=2.28 ARG TARGETARCH diff --git a/Makefile b/Makefile index 80175d763..0d1dab42d 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ CTRL_RUNTIME_VERSION := $(shell awk '/sigs.k8s.io\/controller-runtime/ {print su KUSTOMIZE_VERSION = 5.4.3 HELM_VERSION = 3.15.4 CRD_TO_MARKDOWN_VERSION = 0.0.3 -MYSQLSH_VERSION = 8.4.0-1 +MYSQLSH_VERSION = 8.4.3-1 MDBOOK_VERSION = 0.4.40 GORELEASER_VERSION = 1.26.2 YQ_VERSION = 4.44.3 diff --git a/README.md b/README.md index c149d207a..11c778152 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ Blog article: [Introducing MOCO, a modern MySQL operator on Kubernetes](https:// ## Supported software -- MySQL: 8.0.28, 8.0.36, 8.0.37, 8.0.39, 8.4.2 +- MySQL: 8.0.28, 8.0.37, 8.0.39, 8.0.40, 8.4.3 - Kubernetes: 1.29, 1.30, 1.31 MOCO supports (tests) the LTS releases of MySQL 8. @@ -74,7 +74,7 @@ spec: spec: containers: - name: mysqld - image: ghcr.io/cybozu-go/moco/mysql:8.4.2 + image: ghcr.io/cybozu-go/moco/mysql:8.4.3 volumeClaimTemplates: - metadata: name: mysql-data diff --git a/docs/change-pvc-template.md b/docs/change-pvc-template.md index f2a9b9dcd..9294f738a 100644 --- a/docs/change-pvc-template.md +++ b/docs/change-pvc-template.md @@ -93,7 +93,7 @@ For example, the user modifies the `.spec.volumeClaimTemplates` of the MySQLClus spec: containers: - name: mysqld - image: ghcr.io/cybozu-go/moco/mysql:8.4.2 + image: ghcr.io/cybozu-go/moco/mysql:8.4.3 volumeClaimTemplates: - metadata: name: mysql-data diff --git a/docs/custom-mysqld.md b/docs/custom-mysqld.md index 0e64d0fcd..b473c1093 100644 --- a/docs/custom-mysqld.md +++ b/docs/custom-mysqld.md @@ -11,7 +11,7 @@ spec: spec: containers: - name: mysqld - image: ghcr.io/cybozu-go/moco/mysql:8.4.2 + image: ghcr.io/cybozu-go/moco/mysql:8.4.3 ``` If you want to build and use your own `mysqld`, read the rest of this document. @@ -35,9 +35,9 @@ On Ubuntu 22.04, you can build the source code as follows: $ sudo apt-get update $ sudo apt-get -y --no-install-recommends install build-essential libssl-dev \ cmake libncurses5-dev libjemalloc-dev libnuma-dev libaio-dev pkg-config -$ curl -fsSL -O https://dev.mysql.com/get/Downloads/MySQL-8.4/mysql-8.4.2.tar.gz -$ tar -x -z -f mysql-8.4.2.tar.gz -$ cd mysql-8.4.2 +$ curl -fsSL -O https://dev.mysql.com/get/Downloads/MySQL-8.4/mysql-8.4.3.tar.gz +$ tar -x -z -f mysql-8.4.3.tar.gz +$ cd mysql-8.4.3 $ mkdir bld $ cd bld $ cmake .. -DBUILD_CONFIG=mysql_release -DCMAKE_BUILD_TYPE=Release \ diff --git a/docs/customize-system-container.md b/docs/customize-system-container.md index 225d0c10c..931a936e8 100644 --- a/docs/customize-system-container.md +++ b/docs/customize-system-container.md @@ -18,7 +18,7 @@ spec: spec: containers: - name: mysqld - image: ghcr.io/cybozu-go/moco/mysql:8.0.30 + image: ghcr.io/cybozu-go/moco/mysql:8.4.3 overwriteContainers: - name: agent resources: diff --git a/docs/designdoc/allow_customize_containers.md b/docs/designdoc/allow_customize_containers.md index e061a4744..d309d7719 100644 --- a/docs/designdoc/allow_customize_containers.md +++ b/docs/designdoc/allow_customize_containers.md @@ -32,7 +32,7 @@ spec: spec: containers: - name: mysqld - image: ghcr.io/cybozu-go/moco/mysql:8.4.2 + image: ghcr.io/cybozu-go/moco/mysql:8.4.3 overwriteContainers: - name: agent resources: @@ -95,7 +95,7 @@ spec: spec: containers: - name: mysqld - image: ghcr.io/cybozu-go/moco/mysql:8.4.2 + image: ghcr.io/cybozu-go/moco/mysql:8.4.3 overwriteContainers: agent: resources: diff --git a/docs/designdoc/support_reduce_volume_size.md b/docs/designdoc/support_reduce_volume_size.md index 41c21fe3f..d79da6333 100644 --- a/docs/designdoc/support_reduce_volume_size.md +++ b/docs/designdoc/support_reduce_volume_size.md @@ -45,7 +45,7 @@ For example, the user modifies the `.spec.volumeClaimTemplates` of the MySQLClus spec: containers: - name: mysqld - image: ghcr.io/cybozu-go/moco/mysql:8.4.2 + image: ghcr.io/cybozu-go/moco/mysql:8.4.3 volumeClaimTemplates: - metadata: name: mysql-data diff --git a/docs/usage.md b/docs/usage.md index fc9270328..86420aa4e 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -101,7 +101,7 @@ spec: containers: # At least a container named "mysqld" must be defined. - name: mysqld - image: ghcr.io/cybozu-go/moco/mysql:8.4.2 + image: ghcr.io/cybozu-go/moco/mysql:8.4.3 # By limiting CPU and memory, Pods will have Guaranteed QoS class. # requests can be omitted; it will be set to the same value as limits. resources: @@ -209,7 +209,7 @@ spec: spec: containers: - name: mysqld - image: ghcr.io/cybozu-go/moco/mysql:8.4.2 # must be the same version as the donor + image: ghcr.io/cybozu-go/moco/mysql:8.4.3 # must be the same version as the donor volumeClaimTemplates: - metadata: name: mysql-data @@ -728,7 +728,7 @@ spec: containers: - name: mysqld # Edit the next line - image: ghcr.io/cybozu-go/moco/mysql:8.4.2 + image: ghcr.io/cybozu-go/moco/mysql:8.4.3 ``` You are advised to make backups and/or create a replica cluster before starting the upgrade process. diff --git a/e2e/Makefile b/e2e/Makefile index 88a729cca..09dd3f4d1 100644 --- a/e2e/Makefile +++ b/e2e/Makefile @@ -1,7 +1,7 @@ KIND_VERSION = 0.23.0 KUBERNETES_VERSION = 1.31.0 CERT_MANAGER_VERSION = 1.15.3 -MYSQL_VERSION = 8.4.2 +MYSQL_VERSION = 8.4.3 KIND := $(dir $(shell pwd))/bin/kind KUBECTL := $(dir $(shell pwd))/bin/kubectl diff --git a/e2e/upgrade_test.go b/e2e/upgrade_test.go index 0c5841838..cd319cdae 100644 --- a/e2e/upgrade_test.go +++ b/e2e/upgrade_test.go @@ -20,7 +20,7 @@ var upgradeYAML string const ( mysqlVersionOld = "8.0.28" - mysqlVersionNew = "8.4.2" + mysqlVersionNew = "8.4.3" ) var _ = Context("upgrade", Ordered, func() { diff --git a/examples/anti-affinity.yaml b/examples/anti-affinity.yaml index 36d6dfb4f..0b0e4a8bb 100644 --- a/examples/anti-affinity.yaml +++ b/examples/anti-affinity.yaml @@ -26,7 +26,7 @@ spec: topologyKey: "kubernetes.io/hostname" containers: - name: mysqld - image: ghcr.io/cybozu-go/moco/mysql:8.4.2 + image: ghcr.io/cybozu-go/moco/mysql:8.4.3 resources: requests: cpu: "10" diff --git a/examples/collect-metrics.yaml b/examples/collect-metrics.yaml index 2b5a78576..8f308ca03 100644 --- a/examples/collect-metrics.yaml +++ b/examples/collect-metrics.yaml @@ -14,7 +14,7 @@ spec: spec: containers: - name: mysqld - image: ghcr.io/cybozu-go/moco/mysql:8.4.2 + image: ghcr.io/cybozu-go/moco/mysql:8.4.3 volumeClaimTemplates: - metadata: name: mysql-data diff --git a/examples/custom-mycnf.yaml b/examples/custom-mycnf.yaml index bfa69b8a0..7bf42f462 100644 --- a/examples/custom-mycnf.yaml +++ b/examples/custom-mycnf.yaml @@ -24,7 +24,7 @@ spec: spec: containers: - name: mysqld - image: ghcr.io/cybozu-go/moco/mysql:8.4.2 + image: ghcr.io/cybozu-go/moco/mysql:8.4.3 volumeClaimTemplates: - metadata: name: mysql-data diff --git a/examples/custom-probe.yaml b/examples/custom-probe.yaml index c67f07212..8c9a6a9fc 100644 --- a/examples/custom-probe.yaml +++ b/examples/custom-probe.yaml @@ -10,7 +10,7 @@ spec: spec: containers: - name: mysqld - image: ghcr.io/cybozu-go/moco/mysql:8.4.2 + image: ghcr.io/cybozu-go/moco/mysql:8.4.3 # If you want to override the default probes, you cannot override the httpGet. livenessProbe: failureThreshold: 3 diff --git a/examples/guaranteed.yaml b/examples/guaranteed.yaml index d1731ef72..d294d760f 100644 --- a/examples/guaranteed.yaml +++ b/examples/guaranteed.yaml @@ -10,7 +10,7 @@ spec: spec: containers: - name: mysqld - image: ghcr.io/cybozu-go/moco/mysql:8.4.2 + image: ghcr.io/cybozu-go/moco/mysql:8.4.3 # By limiting CPU and memory, Pods will have Guaranteed QoS class. # requests can be omitted; it will be set to the same value as limits. resources: diff --git a/examples/loadbalancer.yaml b/examples/loadbalancer.yaml index 1e73ae1fb..3f9c92571 100644 --- a/examples/loadbalancer.yaml +++ b/examples/loadbalancer.yaml @@ -18,7 +18,7 @@ spec: spec: containers: - name: mysqld - image: ghcr.io/cybozu-go/moco/mysql:8.4.2 + image: ghcr.io/cybozu-go/moco/mysql:8.4.3 volumeClaimTemplates: - metadata: name: mysql-data