From 4a06079c10afc98fc9085f5855a853b42778687d Mon Sep 17 00:00:00 2001 From: Andres Taylor Date: Wed, 8 Oct 2025 15:35:16 +0200 Subject: [PATCH 01/11] update compatability list Signed-off-by: Andres Taylor --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b2efc4a5..2eb74050 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,7 @@ compatible with certain Vitess and Kubernetes versions, as shown in this table: | `v2.13.*` | `v20.0.*` | `v1.25.*`, `v1.26.*`, `v1.27.*`, or `v1.28.*` | | `v2.14.*` | `v21.0.*` | `v1.29.*`, `v1.30.*`, `v1.31.*` | | `v2.15.*` | `v22.0.*` | `v1.30.*`, `v1.31.*`, `v1.32.*` | +| `v2.16.*` | `v23.0.*` | `v1.30.*`, `v1.31.*`, `v1.32.*` | | `latest` | `latest` | `v1.30.*`, `v1.31.*`, `v1.32.*` | If for some reason you must attempt to use versions outside the recommend From 4e1158d62c4898c4f9fdee9f64ac6db735d444c4 Mon Sep 17 00:00:00 2001 From: Matt Lord Date: Wed, 8 Oct 2025 21:03:10 +0000 Subject: [PATCH 02/11] Try moving support forward to 1.34 Signed-off-by: Matt Lord --- README.md | 4 +- .../crds/planetscale.com_etcdlockservers.yaml | 17 ++ deploy/crds/planetscale.com_vitesscells.yaml | 48 ++++++ .../crds/planetscale.com_vitessclusters.yaml | 150 ++++++++++++++++++ .../crds/planetscale.com_vitesskeyspaces.yaml | 51 ++++++ deploy/crds/planetscale.com_vitessshards.yaml | 34 ++++ go.mod | 99 ++++++------ go.sum | 85 +++++----- tools/get-e2e-test-deps.sh | 2 +- tools/get-kube-binaries.sh | 2 +- tools/test.env | 4 +- 11 files changed, 403 insertions(+), 93 deletions(-) diff --git a/README.md b/README.md index 2eb74050..6dde0074 100644 --- a/README.md +++ b/README.md @@ -21,8 +21,8 @@ compatible with certain Vitess and Kubernetes versions, as shown in this table: | `v2.13.*` | `v20.0.*` | `v1.25.*`, `v1.26.*`, `v1.27.*`, or `v1.28.*` | | `v2.14.*` | `v21.0.*` | `v1.29.*`, `v1.30.*`, `v1.31.*` | | `v2.15.*` | `v22.0.*` | `v1.30.*`, `v1.31.*`, `v1.32.*` | -| `v2.16.*` | `v23.0.*` | `v1.30.*`, `v1.31.*`, `v1.32.*` | -| `latest` | `latest` | `v1.30.*`, `v1.31.*`, `v1.32.*` | +| `v2.16.*` | `v23.0.*` | `v1.31.*`, `v1.32.*`, `v1.33.*`, or `v1.34.*` | +| `latest` | `latest` | `v1.31.*`, `v1.32.*`, `v1.33.*`, or `v1.34.*` | If for some reason you must attempt to use versions outside the recommend window, we still welcome bug reports since a workaround might be possible. diff --git a/deploy/crds/planetscale.com_etcdlockservers.yaml b/deploy/crds/planetscale.com_etcdlockservers.yaml index 28e00336..6872c949 100644 --- a/deploy/crds/planetscale.com_etcdlockservers.yaml +++ b/deploy/crds/planetscale.com_etcdlockservers.yaml @@ -175,6 +175,23 @@ spec: - fieldPath type: object x-kubernetes-map-type: atomic + fileKeyRef: + properties: + key: + type: string + optional: + default: false + type: boolean + path: + type: string + volumeName: + type: string + required: + - key + - path + - volumeName + type: object + x-kubernetes-map-type: atomic resourceFieldRef: properties: containerName: diff --git a/deploy/crds/planetscale.com_vitesscells.yaml b/deploy/crds/planetscale.com_vitesscells.yaml index bb8c5f3a..561612f3 100644 --- a/deploy/crds/planetscale.com_vitesscells.yaml +++ b/deploy/crds/planetscale.com_vitesscells.yaml @@ -90,6 +90,12 @@ spec: stabilizationWindowSeconds: format: int32 type: integer + tolerance: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true type: object scaleUp: properties: @@ -116,6 +122,12 @@ spec: stabilizationWindowSeconds: format: int32 type: integer + tolerance: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true type: object type: object maxReplicas: @@ -428,6 +440,23 @@ spec: - fieldPath type: object x-kubernetes-map-type: atomic + fileKeyRef: + properties: + key: + type: string + optional: + default: false + type: boolean + path: + type: string + volumeName: + type: string + required: + - key + - path + - volumeName + type: object + x-kubernetes-map-type: atomic resourceFieldRef: properties: containerName: @@ -618,6 +647,8 @@ spec: - port type: object type: object + stopSignal: + type: string type: object replicas: format: int32 @@ -933,6 +964,23 @@ spec: - fieldPath type: object x-kubernetes-map-type: atomic + fileKeyRef: + properties: + key: + type: string + optional: + default: false + type: boolean + path: + type: string + volumeName: + type: string + required: + - key + - path + - volumeName + type: object + x-kubernetes-map-type: atomic resourceFieldRef: properties: containerName: diff --git a/deploy/crds/planetscale.com_vitessclusters.yaml b/deploy/crds/planetscale.com_vitessclusters.yaml index e11d5664..c5ae2d4a 100644 --- a/deploy/crds/planetscale.com_vitessclusters.yaml +++ b/deploy/crds/planetscale.com_vitessclusters.yaml @@ -329,6 +329,12 @@ spec: stabilizationWindowSeconds: format: int32 type: integer + tolerance: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true type: object scaleUp: properties: @@ -355,6 +361,12 @@ spec: stabilizationWindowSeconds: format: int32 type: integer + tolerance: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true type: object type: object maxReplicas: @@ -667,6 +679,23 @@ spec: - fieldPath type: object x-kubernetes-map-type: atomic + fileKeyRef: + properties: + key: + type: string + optional: + default: false + type: boolean + path: + type: string + volumeName: + type: string + required: + - key + - path + - volumeName + type: object + x-kubernetes-map-type: atomic resourceFieldRef: properties: containerName: @@ -857,6 +886,8 @@ spec: - port type: object type: object + stopSignal: + type: string type: object replicas: format: int32 @@ -1126,6 +1157,23 @@ spec: - fieldPath type: object x-kubernetes-map-type: atomic + fileKeyRef: + properties: + key: + type: string + optional: + default: false + type: boolean + path: + type: string + volumeName: + type: string + required: + - key + - path + - volumeName + type: object + x-kubernetes-map-type: atomic resourceFieldRef: properties: containerName: @@ -1450,6 +1498,23 @@ spec: - fieldPath type: object x-kubernetes-map-type: atomic + fileKeyRef: + properties: + key: + type: string + optional: + default: false + type: boolean + path: + type: string + volumeName: + type: string + required: + - key + - path + - volumeName + type: object + x-kubernetes-map-type: atomic resourceFieldRef: properties: containerName: @@ -1906,6 +1971,23 @@ spec: - fieldPath type: object x-kubernetes-map-type: atomic + fileKeyRef: + properties: + key: + type: string + optional: + default: false + type: boolean + path: + type: string + volumeName: + type: string + required: + - key + - path + - volumeName + type: object + x-kubernetes-map-type: atomic resourceFieldRef: properties: containerName: @@ -2355,6 +2437,23 @@ spec: - fieldPath type: object x-kubernetes-map-type: atomic + fileKeyRef: + properties: + key: + type: string + optional: + default: false + type: boolean + path: + type: string + volumeName: + type: string + required: + - key + - path + - volumeName + type: object + x-kubernetes-map-type: atomic resourceFieldRef: properties: containerName: @@ -2636,6 +2735,23 @@ spec: - fieldPath type: object x-kubernetes-map-type: atomic + fileKeyRef: + properties: + key: + type: string + optional: + default: false + type: boolean + path: + type: string + volumeName: + type: string + required: + - key + - path + - volumeName + type: object + x-kubernetes-map-type: atomic resourceFieldRef: properties: containerName: @@ -2843,6 +2959,23 @@ spec: - fieldPath type: object x-kubernetes-map-type: atomic + fileKeyRef: + properties: + key: + type: string + optional: + default: false + type: boolean + path: + type: string + volumeName: + type: string + required: + - key + - path + - volumeName + type: object + x-kubernetes-map-type: atomic resourceFieldRef: properties: containerName: @@ -3042,6 +3175,23 @@ spec: - fieldPath type: object x-kubernetes-map-type: atomic + fileKeyRef: + properties: + key: + type: string + optional: + default: false + type: boolean + path: + type: string + volumeName: + type: string + required: + - key + - path + - volumeName + type: object + x-kubernetes-map-type: atomic resourceFieldRef: properties: containerName: diff --git a/deploy/crds/planetscale.com_vitesskeyspaces.yaml b/deploy/crds/planetscale.com_vitesskeyspaces.yaml index b219fdfc..640a1b30 100644 --- a/deploy/crds/planetscale.com_vitesskeyspaces.yaml +++ b/deploy/crds/planetscale.com_vitesskeyspaces.yaml @@ -447,6 +447,23 @@ spec: - fieldPath type: object x-kubernetes-map-type: atomic + fileKeyRef: + properties: + key: + type: string + optional: + default: false + type: boolean + path: + type: string + volumeName: + type: string + required: + - key + - path + - volumeName + type: object + x-kubernetes-map-type: atomic resourceFieldRef: properties: containerName: @@ -896,6 +913,23 @@ spec: - fieldPath type: object x-kubernetes-map-type: atomic + fileKeyRef: + properties: + key: + type: string + optional: + default: false + type: boolean + path: + type: string + volumeName: + type: string + required: + - key + - path + - volumeName + type: object + x-kubernetes-map-type: atomic resourceFieldRef: properties: containerName: @@ -1211,6 +1245,23 @@ spec: - fieldPath type: object x-kubernetes-map-type: atomic + fileKeyRef: + properties: + key: + type: string + optional: + default: false + type: boolean + path: + type: string + volumeName: + type: string + required: + - key + - path + - volumeName + type: object + x-kubernetes-map-type: atomic resourceFieldRef: properties: containerName: diff --git a/deploy/crds/planetscale.com_vitessshards.yaml b/deploy/crds/planetscale.com_vitessshards.yaml index f75a594c..0f580c0c 100644 --- a/deploy/crds/planetscale.com_vitessshards.yaml +++ b/deploy/crds/planetscale.com_vitessshards.yaml @@ -430,6 +430,23 @@ spec: - fieldPath type: object x-kubernetes-map-type: atomic + fileKeyRef: + properties: + key: + type: string + optional: + default: false + type: boolean + path: + type: string + volumeName: + type: string + required: + - key + - path + - volumeName + type: object + x-kubernetes-map-type: atomic resourceFieldRef: properties: containerName: @@ -728,6 +745,23 @@ spec: - fieldPath type: object x-kubernetes-map-type: atomic + fileKeyRef: + properties: + key: + type: string + optional: + default: false + type: boolean + path: + type: string + volumeName: + type: string + required: + - key + - path + - volumeName + type: object + x-kubernetes-map-type: atomic resourceFieldRef: properties: containerName: diff --git a/go.mod b/go.mod index 56357371..58d28775 100644 --- a/go.mod +++ b/go.mod @@ -12,13 +12,13 @@ require ( github.com/spf13/pflag v1.0.10 github.com/stretchr/testify v1.11.0 gopkg.in/yaml.v2 v2.4.0 - k8s.io/api v0.32.2 - k8s.io/apimachinery v0.33.4 - k8s.io/client-go v0.32.2 + k8s.io/api v0.34.1 + k8s.io/apimachinery v0.34.1 + k8s.io/client-go v0.34.1 k8s.io/klog v1.0.0 k8s.io/kubectl v0.32.2 - k8s.io/kubernetes v1.32.2 - k8s.io/utils v0.0.0-20241210054802-24370beab758 + k8s.io/kubernetes v1.34.1 + k8s.io/utils v0.0.0-20250604170112-4c0f3b243397 sigs.k8s.io/controller-runtime v0.20.2 sigs.k8s.io/controller-tools v0.17.2 sigs.k8s.io/kustomize v2.0.3+incompatible @@ -105,7 +105,7 @@ require ( github.com/fatih/color v1.18.0 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect github.com/fsnotify/fsnotify v1.9.0 // indirect - github.com/fxamacker/cbor/v2 v2.7.0 // indirect + github.com/fxamacker/cbor/v2 v2.9.0 // indirect github.com/gammazero/deque v1.0.0 // indirect github.com/ghodss/yaml v1.0.0 // indirect github.com/go-jose/go-jose/v4 v4.1.2 // indirect @@ -125,9 +125,8 @@ require ( github.com/golang/protobuf v1.5.4 // indirect github.com/golang/snappy v1.0.0 // indirect github.com/google/btree v1.1.3 // indirect - github.com/google/gnostic-models v0.6.9 // indirect + github.com/google/gnostic-models v0.7.0 // indirect github.com/google/go-cmp v0.7.0 // indirect - github.com/google/gofuzz v1.2.0 // indirect github.com/google/s2a-go v0.1.9 // indirect github.com/google/safehtml v0.1.0 // indirect github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect @@ -135,6 +134,7 @@ require ( github.com/googleapis/gax-go/v2 v2.15.0 // indirect github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 // indirect github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 // indirect + github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3 // indirect github.com/hashicorp/consul/api v1.32.1 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 // indirect @@ -207,9 +207,9 @@ require ( github.com/yusufpapurcu/wmi v1.2.4 // indirect github.com/z-division/go-zookeeper v1.0.0 // indirect github.com/zeebo/errs v1.4.0 // indirect - go.etcd.io/etcd/api/v3 v3.5.21 // indirect - go.etcd.io/etcd/client/pkg/v3 v3.5.21 // indirect - go.etcd.io/etcd/client/v3 v3.5.21 // indirect + go.etcd.io/etcd/api/v3 v3.6.4 // indirect + go.etcd.io/etcd/client/pkg/v3 v3.6.4 // indirect + go.etcd.io/etcd/client/v3 v3.6.4 // indirect go.opentelemetry.io/auto/sdk v1.1.0 // indirect go.opentelemetry.io/collector/component v1.38.0 // indirect go.opentelemetry.io/collector/featuregate v1.39.0 // indirect @@ -228,6 +228,8 @@ require ( go.uber.org/atomic v1.11.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.uber.org/zap v1.27.0 // indirect + go.yaml.in/yaml/v2 v2.4.2 // indirect + go.yaml.in/yaml/v3 v3.0.4 // indirect golang.org/x/crypto v0.41.0 // indirect golang.org/x/exp v0.0.0-20250819193227-8b4c13bb791b // indirect golang.org/x/mod v0.27.0 // indirect @@ -253,52 +255,53 @@ require ( gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect k8s.io/apiextensions-apiserver v0.32.1 // indirect - k8s.io/apiserver v0.32.1 // indirect - k8s.io/component-base v0.32.1 // indirect - k8s.io/component-helpers v0.32.0 // indirect + k8s.io/apiserver v0.34.1 // indirect + k8s.io/component-base v0.34.1 // indirect + k8s.io/component-helpers v0.34.1 // indirect k8s.io/controller-manager v0.0.0 // indirect k8s.io/gengo v0.0.0-20250207200755-1244d31929d7 // indirect k8s.io/klog/v2 v2.130.1 // indirect - k8s.io/kube-openapi v0.0.0-20241212222426-2c72e554b1e7 // indirect + k8s.io/kube-openapi v0.0.0-20250710124328-f3f2b991d03b // indirect sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.5.0 // indirect - sigs.k8s.io/yaml v1.4.0 // indirect + sigs.k8s.io/randfill v1.0.0 // indirect + sigs.k8s.io/structured-merge-diff/v6 v6.3.0 // indirect + sigs.k8s.io/yaml v1.6.0 // indirect ) replace github.com/skeema/tengo => github.com/planetscale/tengo v0.10.1-ps.v4 // Required by Vitess for declerative statements // NOTE: Make sure controller-runtime's k8s minor version matches below -// Pinned to kubernetes-1.32.2 +// Pinned to kubernetes-1.34.1 replace ( - k8s.io/api => k8s.io/api v0.32.0 - k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.32.0 - k8s.io/apimachinery => k8s.io/apimachinery v0.32.0 - k8s.io/apiserver => k8s.io/apiserver v0.32.0 - k8s.io/cli-runtime => k8s.io/cli-runtime v0.32.0 - k8s.io/client-go => k8s.io/client-go v0.32.0 - k8s.io/cloud-provider => k8s.io/cloud-provider v0.32.0 - k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.32.0 - k8s.io/code-generator => k8s.io/code-generator v0.32.0 - k8s.io/component-base => k8s.io/component-base v0.32.0 - k8s.io/component-helpers => k8s.io/component-helpers v0.32.0 - k8s.io/controller-manager => k8s.io/controller-manager v0.32.0 - k8s.io/cri-api => k8s.io/cri-api v0.32.0 - k8s.io/cri-client => k8s.io/cri-client v0.32.0 - k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.32.0 - k8s.io/dynamic-resource-allocation => k8s.io/dynamic-resource-allocation v0.32.0 - k8s.io/endpointslice => k8s.io/endpointslice v0.32.0 + k8s.io/api => k8s.io/api v0.34.1 + k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.34.1 + k8s.io/apimachinery => k8s.io/apimachinery v0.34.1 + k8s.io/apiserver => k8s.io/apiserver v0.34.1 + k8s.io/cli-runtime => k8s.io/cli-runtime v0.34.1 + k8s.io/client-go => k8s.io/client-go v0.34.1 + k8s.io/cloud-provider => k8s.io/cloud-provider v0.34.1 + k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.34.1 + k8s.io/code-generator => k8s.io/code-generator v0.34.1 + k8s.io/component-base => k8s.io/component-base v0.34.1 + k8s.io/component-helpers => k8s.io/component-helpers v0.34.1 + k8s.io/controller-manager => k8s.io/controller-manager v0.34.1 + k8s.io/cri-api => k8s.io/cri-api v0.34.1 + k8s.io/cri-client => k8s.io/cri-client v0.34.1 + k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.34.1 + k8s.io/dynamic-resource-allocation => k8s.io/dynamic-resource-allocation v0.34.1 + k8s.io/endpointslice => k8s.io/endpointslice v0.34.1 k8s.io/externaljwt => k8s.io/externaljwt v0.32.3 - k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.32.0 - k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.32.0 - k8s.io/kube-proxy => k8s.io/kube-proxy v0.32.0 - k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.32.0 - k8s.io/kubectl => k8s.io/kubectl v0.32.0 - k8s.io/kubelet => k8s.io/kubelet v0.32.0 - k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.32.0 - k8s.io/metrics => k8s.io/metrics v0.32.0 - k8s.io/mount-utils => k8s.io/mount-utils v0.32.0 - k8s.io/pod-security-admission => k8s.io/pod-security-admission v0.32.0 - k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.32.0 - k8s.io/sample-cli-plugin => k8s.io/sample-cli-plugin v0.32.0 - k8s.io/sample-controller => k8s.io/sample-controller v0.32.0 + k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.34.1 + k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.34.1 + k8s.io/kube-proxy => k8s.io/kube-proxy v0.34.1 + k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.34.1 + k8s.io/kubectl => k8s.io/kubectl v0.34.1 + k8s.io/kubelet => k8s.io/kubelet v0.34.1 + k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.34.1 + k8s.io/metrics => k8s.io/metrics v0.34.1 + k8s.io/mount-utils => k8s.io/mount-utils v0.34.1 + k8s.io/pod-security-admission => k8s.io/pod-security-admission v0.34.1 + k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.34.1 + k8s.io/sample-cli-plugin => k8s.io/sample-cli-plugin v0.34.1 + k8s.io/sample-controller => k8s.io/sample-controller v0.34.1 ) diff --git a/go.sum b/go.sum index 8a74d253..55e6b733 100644 --- a/go.sum +++ b/go.sum @@ -224,8 +224,8 @@ github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHk github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k= github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= -github.com/fxamacker/cbor/v2 v2.7.0 h1:iM5WgngdRBanHcxugY4JySA0nk1wZorNOpTgCMedv5E= -github.com/fxamacker/cbor/v2 v2.7.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ= +github.com/fxamacker/cbor/v2 v2.9.0 h1:NpKPmjDBgUfBms6tr6JZkTHtfFGcMKsw3eGcmD/sapM= +github.com/fxamacker/cbor/v2 v2.9.0/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ= github.com/gammazero/deque v1.0.0 h1:LTmimT8H7bXkkCy6gZX7zNLtkbz4NdS2z8LZuor3j34= github.com/gammazero/deque v1.0.0/go.mod h1:iflpYvtGfM3U8S8j+sZEKIak3SAKYpA5/SQewgfXDKo= github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= @@ -299,15 +299,14 @@ github.com/golang/snappy v1.0.0 h1:Oy607GVXHs7RtbggtPBnr2RmDArIsAefDwvrdWvRhGs= github.com/golang/snappy v1.0.0/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/btree v1.1.3 h1:CVpQJjYgC4VbzxeGVHfvZrv1ctoYCAI8vbl07Fcxlyg= github.com/google/btree v1.1.3/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4= -github.com/google/gnostic-models v0.6.9 h1:MU/8wDLif2qCXZmzncUQ/BOfxWfthHi63KqpoNbWqVw= -github.com/google/gnostic-models v0.6.9/go.mod h1:CiWsm0s6BSQd1hRn8/QmxqB6BesYcbSZxsz9b0KuDBw= +github.com/google/gnostic-models v0.7.0 h1:qwTtogB15McXDaNqTZdzPJRHvaVJlAl+HVQnLmJEJxo= +github.com/google/gnostic-models v0.7.0/go.mod h1:whL5G0m6dmc5cPxKc5bdKdEN3UjI7OUGxBlw57miDrQ= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= @@ -336,6 +335,8 @@ github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 h1:UH//fgunKIs4JdUbpDl1VZCDa github.com/grpc-ecosystem/go-grpc-middleware v1.4.0/go.mod h1:g5qyo/la0ALbONm6Vbp88Yd8NsDy6rZz+RcrMPxvld8= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3 h1:5ZPtiqj0JL5oKWmcsq4VMaAW5ukBEgSGXEN89zeH1Jo= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3/go.mod h1:ndYquD05frm2vACXE1nsccT4oJzjhw2arTS2cpUD1PI= github.com/hashicorp/consul/api v1.32.1 h1:0+osr/3t/aZNAdJX558crU3PEjVrG4x6715aZHRgceE= github.com/hashicorp/consul/api v1.32.1/go.mod h1:mXUWLnxftwTmDv4W3lzxYCPD199iNLLUyLfLGFJbtl4= github.com/hashicorp/consul/sdk v0.16.1 h1:V8TxTnImoPD5cj0U9Spl0TUxcytjcbbJeADFF07KdHg= @@ -637,12 +638,12 @@ github.com/z-division/go-zookeeper v1.0.0 h1:ULsCj0nP6+U1liDFWe+2oEF6o4amixoDcDl github.com/z-division/go-zookeeper v1.0.0/go.mod h1:6X4UioQXpvyezJJl4J9NHAJKsoffCwy5wCaaTktXjOA= github.com/zeebo/errs v1.4.0 h1:XNdoD/RRMKP7HD0UhJnIzUy74ISdGGxURlYG8HSWSfM= github.com/zeebo/errs v1.4.0/go.mod h1:sgbWHsvVuTPHcqJJGQ1WhI5KbWlHYz+2+2C/LSEtCw4= -go.etcd.io/etcd/api/v3 v3.5.21 h1:A6O2/JDb3tvHhiIz3xf9nJ7REHvtEFJJ3veW3FbCnS8= -go.etcd.io/etcd/api/v3 v3.5.21/go.mod h1:c3aH5wcvXv/9dqIw2Y810LDXJfhSYdHQ0vxmP3CCHVY= -go.etcd.io/etcd/client/pkg/v3 v3.5.21 h1:lPBu71Y7osQmzlflM9OfeIV2JlmpBjqBNlLtcoBqUTc= -go.etcd.io/etcd/client/pkg/v3 v3.5.21/go.mod h1:BgqT/IXPjK9NkeSDjbzwsHySX3yIle2+ndz28nVsjUs= -go.etcd.io/etcd/client/v3 v3.5.21 h1:T6b1Ow6fNjOLOtM0xSoKNQt1ASPCLWrF9XMHcH9pEyY= -go.etcd.io/etcd/client/v3 v3.5.21/go.mod h1:mFYy67IOqmbRf/kRUvsHixzo3iG+1OF2W2+jVIQRAnU= +go.etcd.io/etcd/api/v3 v3.6.4 h1:7F6N7toCKcV72QmoUKa23yYLiiljMrT4xCeBL9BmXdo= +go.etcd.io/etcd/api/v3 v3.6.4/go.mod h1:eFhhvfR8Px1P6SEuLT600v+vrhdDTdcfMzmnxVXXSbk= +go.etcd.io/etcd/client/pkg/v3 v3.6.4 h1:9HBYrjppeOfFjBjaMTRxT3R7xT0GLK8EJMVC4xg6ok0= +go.etcd.io/etcd/client/pkg/v3 v3.6.4/go.mod h1:sbdzr2cl3HzVmxNw//PH7aLGVtY4QySjQFuaCgcRFAI= +go.etcd.io/etcd/client/v3 v3.6.4 h1:YOMrCfMhRzY8NgtzUsHl8hC2EBSnuqbR3dh84Uryl7A= +go.etcd.io/etcd/client/v3 v3.6.4/go.mod h1:jaNNHCyg2FdALyKWnd7hxZXZxZANb0+KGY+YQaEMISo= go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= go.opentelemetry.io/collector/component v1.38.0 h1:GeHVKtdJmf+dXXkviIs2QiwX198QpUDMeLCJzE+a3XU= @@ -720,6 +721,10 @@ go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN8 go.uber.org/zap v1.18.1/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= +go.yaml.in/yaml/v2 v2.4.2 h1:DzmwEr2rDGHl7lsFgAHxmNz/1NlQ7xLIrlN2h5d1eGI= +go.yaml.in/yaml/v2 v2.4.2/go.mod h1:081UH+NErpNdqlCXm3TtEran0rJZGxAYx9hb/ELlsPU= +go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= +go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190128193316-c7b33c32a30b/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= @@ -910,22 +915,22 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -k8s.io/api v0.32.0 h1:OL9JpbvAU5ny9ga2fb24X8H6xQlVp+aJMFlgtQjR9CE= -k8s.io/api v0.32.0/go.mod h1:4LEwHZEf6Q/cG96F3dqR965sYOfmPM7rq81BLgsE0p0= -k8s.io/apiextensions-apiserver v0.32.0 h1:S0Xlqt51qzzqjKPxfgX1xh4HBZE+p8KKBq+k2SWNOE0= -k8s.io/apiextensions-apiserver v0.32.0/go.mod h1:86hblMvN5yxMvZrZFX2OhIHAuFIMJIZ19bTvzkP+Fmw= -k8s.io/apimachinery v0.32.0 h1:cFSE7N3rmEEtv4ei5X6DaJPHHX0C+upp+v5lVPiEwpg= -k8s.io/apimachinery v0.32.0/go.mod h1:GpHVgxoKlTxClKcteaeuF1Ul/lDVb74KpZcxcmLDElE= -k8s.io/apiserver v0.32.0 h1:VJ89ZvQZ8p1sLeiWdRJpRD6oLozNZD2+qVSLi+ft5Qs= -k8s.io/apiserver v0.32.0/go.mod h1:HFh+dM1/BE/Hm4bS4nTXHVfN6Z6tFIZPi649n83b4Ag= -k8s.io/client-go v0.32.0 h1:DimtMcnN/JIKZcrSrstiwvvZvLjG0aSxy8PxN8IChp8= -k8s.io/client-go v0.32.0/go.mod h1:boDWvdM1Drk4NJj/VddSLnx59X3OPgwrOo0vGbtq9+8= -k8s.io/component-base v0.32.0 h1:d6cWHZkCiiep41ObYQS6IcgzOUQUNpywm39KVYaUqzU= -k8s.io/component-base v0.32.0/go.mod h1:JLG2W5TUxUu5uDyKiH2R/7NnxJo1HlPoRIIbVLkK5eM= -k8s.io/component-helpers v0.32.0 h1:pQEEBmRt3pDJJX98cQvZshDgJFeKRM4YtYkMmfOlczw= -k8s.io/component-helpers v0.32.0/go.mod h1:9RuClQatbClcokXOcDWSzFKQm1huIf0FzQlPRpizlMc= -k8s.io/controller-manager v0.32.0 h1:tpQl1rvH4huFB6Avl1nhowZHtZoCNWqn6OYdZPl7Ybc= -k8s.io/controller-manager v0.32.0/go.mod h1:JRuYnYCkKj3NgBTy+KNQKIUm/lJRoDAvGbfdEmk9LhY= +k8s.io/api v0.34.1 h1:jC+153630BMdlFukegoEL8E/yT7aLyQkIVuwhmwDgJM= +k8s.io/api v0.34.1/go.mod h1:SB80FxFtXn5/gwzCoN6QCtPD7Vbu5w2n1S0J5gFfTYk= +k8s.io/apiextensions-apiserver v0.34.1 h1:NNPBva8FNAPt1iSVwIE0FsdrVriRXMsaWFMqJbII2CI= +k8s.io/apiextensions-apiserver v0.34.1/go.mod h1:hP9Rld3zF5Ay2Of3BeEpLAToP+l4s5UlxiHfqRaRcMc= +k8s.io/apimachinery v0.34.1 h1:dTlxFls/eikpJxmAC7MVE8oOeP1zryV7iRyIjB0gky4= +k8s.io/apimachinery v0.34.1/go.mod h1:/GwIlEcWuTX9zKIg2mbw0LRFIsXwrfoVxn+ef0X13lw= +k8s.io/apiserver v0.34.1 h1:U3JBGdgANK3dfFcyknWde1G6X1F4bg7PXuvlqt8lITA= +k8s.io/apiserver v0.34.1/go.mod h1:eOOc9nrVqlBI1AFCvVzsob0OxtPZUCPiUJL45JOTBG0= +k8s.io/client-go v0.34.1 h1:ZUPJKgXsnKwVwmKKdPfw4tB58+7/Ik3CrjOEhsiZ7mY= +k8s.io/client-go v0.34.1/go.mod h1:kA8v0FP+tk6sZA0yKLRG67LWjqufAoSHA2xVGKw9Of8= +k8s.io/component-base v0.34.1 h1:v7xFgG+ONhytZNFpIz5/kecwD+sUhVE6HU7qQUiRM4A= +k8s.io/component-base v0.34.1/go.mod h1:mknCpLlTSKHzAQJJnnHVKqjxR7gBeHRv0rPXA7gdtQ0= +k8s.io/component-helpers v0.34.1 h1:gWhH3CCdwAx5P3oJqZKb4Lg5FYZTWVbdWtOI8n9U4XY= +k8s.io/component-helpers v0.34.1/go.mod h1:4VgnUH7UA/shuBur+OWoQC0xfb69sy/93ss0ybZqm3c= +k8s.io/controller-manager v0.34.1 h1:c9Cmun/zF740kmdRQWPGga+4MglT5SlrwsCXDS/KtJI= +k8s.io/controller-manager v0.34.1/go.mod h1:fGiJDhi3OSzSAB4f40ZkJLAqMQSag9RM+7m5BRhBO3Q= k8s.io/gengo v0.0.0-20201203183100-97869a43a9d9/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/gengo v0.0.0-20250207200755-1244d31929d7 h1:iOdAjO5OsCszwPG5xNcJJL+rKaMUogk5fx9HsYZJxQM= k8s.io/gengo v0.0.0-20250207200755-1244d31929d7/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= @@ -935,14 +940,14 @@ k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I= k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk= k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= -k8s.io/kube-openapi v0.0.0-20241212222426-2c72e554b1e7 h1:hcha5B1kVACrLujCKLbr8XWMxCxzQx42DY8QKYJrDLg= -k8s.io/kube-openapi v0.0.0-20241212222426-2c72e554b1e7/go.mod h1:GewRfANuJ70iYzvn+i4lezLDAFzvjxZYK1gn1lWcfas= -k8s.io/kubectl v0.32.0 h1:rpxl+ng9qeG79YA4Em9tLSfX0G8W0vfaiPVrc/WR7Xw= -k8s.io/kubectl v0.32.0/go.mod h1:qIjSX+QgPQUgdy8ps6eKsYNF+YmFOAO3WygfucIqFiE= -k8s.io/kubernetes v1.32.2 h1:mShetlA102UpjRVSGzB+5vjJwy8oPy8FMWrkTH5f37o= -k8s.io/kubernetes v1.32.2/go.mod h1:tiIKO63GcdPRBHW2WiUFm3C0eoLczl3f7qi56Dm1W8I= -k8s.io/utils v0.0.0-20241210054802-24370beab758 h1:sdbE21q2nlQtFh65saZY+rRM6x6aJJI8IUa1AmH/qa0= -k8s.io/utils v0.0.0-20241210054802-24370beab758/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= +k8s.io/kube-openapi v0.0.0-20250710124328-f3f2b991d03b h1:MloQ9/bdJyIu9lb1PzujOPolHyvO06MXG5TUIj2mNAA= +k8s.io/kube-openapi v0.0.0-20250710124328-f3f2b991d03b/go.mod h1:UZ2yyWbFTpuhSbFhv24aGNOdoRdJZgsIObGBUaYVsts= +k8s.io/kubectl v0.34.1 h1:1qP1oqT5Xc93K+H8J7ecpBjaz511gan89KO9Vbsh/OI= +k8s.io/kubectl v0.34.1/go.mod h1:JRYlhJpGPyk3dEmJ+BuBiOB9/dAvnrALJEiY/C5qa6A= +k8s.io/kubernetes v1.34.1 h1:F3p8dtpv+i8zQoebZeK5zBqM1g9x1aIdnA5vthvcuUk= +k8s.io/kubernetes v1.34.1/go.mod h1:iu+FhII+Oc/1gGWLJcer6wpyih441aNFHl7Pvm8yPto= +k8s.io/utils v0.0.0-20250604170112-4c0f3b243397 h1:hwvWFiBzdWw1FhfY1FooPn3kzWuJ8tmbZBHi4zVsl1Y= +k8s.io/utils v0.0.0-20250604170112-4c0f3b243397/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= sigs.k8s.io/controller-runtime v0.20.2 h1:/439OZVxoEc02psi1h4QO3bHzTgu49bb347Xp4gW1pc= sigs.k8s.io/controller-runtime v0.20.2/go.mod h1:xg2XB0K5ShQzAgsoujxuKN4LNXR2LfwwHsPj7Iaw+XY= sigs.k8s.io/controller-tools v0.17.2 h1:jNFOKps8WnaRKZU2R+4vRCHnXyJanVmXBWqkuUPFyFg= @@ -951,10 +956,12 @@ sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 h1:gBQPwqORJ8d8/YNZWEjoZs7np sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8/go.mod h1:mdzfpAEoE6DHQEN0uh9ZbOCuHbLK5wOm7dK4ctXE9Tg= sigs.k8s.io/kustomize v2.0.3+incompatible h1:JUufWFNlI44MdtnjUqVnvh29rR37PQFzPbLXqhyOyX0= sigs.k8s.io/kustomize v2.0.3+incompatible/go.mod h1:MkjgH3RdOWrievjo6c9T245dYlB5QeXV4WCbnt/PEpU= -sigs.k8s.io/structured-merge-diff/v4 v4.5.0 h1:nbCitCK2hfnhyiKo6uf2HxUPTCodY6Qaf85SbDIaMBk= -sigs.k8s.io/structured-merge-diff/v4 v4.5.0/go.mod h1:N8f93tFZh9U6vpxwRArLiikrE5/2tiu1w1AGfACIGE4= +sigs.k8s.io/randfill v1.0.0 h1:JfjMILfT8A6RbawdsK2JXGBR5AQVfd+9TbzrlneTyrU= +sigs.k8s.io/randfill v1.0.0/go.mod h1:XeLlZ/jmk4i1HRopwe7/aU3H5n1zNUcX6TM94b3QxOY= +sigs.k8s.io/structured-merge-diff/v6 v6.3.0 h1:jTijUJbW353oVOd9oTlifJqOGEkUw2jB/fXCbTiQEco= +sigs.k8s.io/structured-merge-diff/v6 v6.3.0/go.mod h1:M3W8sfWvn2HhQDIbGWj3S099YozAsymCo/wrT5ohRUE= sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= -sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E= -sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY= +sigs.k8s.io/yaml v1.6.0 h1:G8fkbMSAFqgEFgh4b1wmtzDnioxFCUgTZhlbj5P9QYs= +sigs.k8s.io/yaml v1.6.0/go.mod h1:796bPqUfzR/0jLAl6XjHl3Ck7MiyVv8dbTdyT3/pMf4= vitess.io/vitess v0.10.3-0.20250924091147-be0c44f96b65 h1:Mp3kX88AoldnE95/cmGtwTvAAFYUS0AN0YSydiPpBZY= vitess.io/vitess v0.10.3-0.20250924091147-be0c44f96b65/go.mod h1:aCkf07Rkc6hIk878kD0i1Nb9QKe5dvZWP8/h4b7Klgk= diff --git a/tools/get-e2e-test-deps.sh b/tools/get-e2e-test-deps.sh index ef598737..92514fc6 100755 --- a/tools/get-e2e-test-deps.sh +++ b/tools/get-e2e-test-deps.sh @@ -13,7 +13,7 @@ DIR="${BASH_SOURCE%/*}" mkdir -p "${DIR}/_bin" cd "${DIR}/_bin" -KUBE_VERSION="${KUBE_VERSION:-v1.32.2}" +KUBE_VERSION="${KUBE_VERSION:-v1.34.1}" KUBERNETES_RELEASE_URL="${KUBERNETES_RELEASE_URL:-https://dl.k8s.io}" # Download kubectl if needed. diff --git a/tools/get-kube-binaries.sh b/tools/get-kube-binaries.sh index 4393f04c..bb18ac65 100755 --- a/tools/get-kube-binaries.sh +++ b/tools/get-kube-binaries.sh @@ -9,7 +9,7 @@ set -euo pipefail # The integration test framework expects these binaries to be found in the PATH. # This is the kube-apiserver version to test against. -KUBE_VERSION="${KUBE_VERSION:-v1.32.2}" +KUBE_VERSION="${KUBE_VERSION:-v1.34.1}" KUBERNETES_RELEASE_URL="${KUBERNETES_RELEASE_URL:-https://dl.k8s.io}" # This should be the etcd version downloaded by kubernetes/hack/lib/etcd.sh diff --git a/tools/test.env b/tools/test.env index 3e976943..9cbcbe76 100755 --- a/tools/test.env +++ b/tools/test.env @@ -5,5 +5,5 @@ export PATH="$PATH:$PWD/tools/_bin" # BuildKite sets the K8S_VERSION, if it is not set (e.g. running locally) -# then we default to the latest version of K8S (1.32.2). -export KIND_VERSION="kindest/node:v${K8S_VERSION:-1.32.2}" \ No newline at end of file +# then we default to the latest version of K8S (1.34.1). +export KIND_VERSION="kindest/node:v${K8S_VERSION:-1.34.1}" From 06abe9c1d8ac2b7975ae822030626df1d77a97e7 Mon Sep 17 00:00:00 2001 From: Matt Lord Date: Thu, 9 Oct 2025 00:04:03 +0000 Subject: [PATCH 03/11] Fix kind version Signed-off-by: Matt Lord --- tools/get-e2e-test-deps.sh | 5 ++--- tools/test.env | 5 ++--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/tools/get-e2e-test-deps.sh b/tools/get-e2e-test-deps.sh index 92514fc6..b229e064 100755 --- a/tools/get-e2e-test-deps.sh +++ b/tools/get-e2e-test-deps.sh @@ -28,9 +28,8 @@ ln -sf "kubectl-${KUBE_VERSION}" kubectl # Download kind if needed. if ! command -v kind &> /dev/null then - echo "Downloading kind..." - curl --silent -L https://kind.sigs.k8s.io/dl/v0.27.0/kind-linux-amd64 > "kind" - chmod +x "kind" + echo "Installing kind..." + go install sigs.k8s.io/kind@v0.30.0 echo "Installed kind" else echo "Kind already installed" diff --git a/tools/test.env b/tools/test.env index 9cbcbe76..2a0d64dc 100755 --- a/tools/test.env +++ b/tools/test.env @@ -4,6 +4,5 @@ # since this is where we install the binaries that are needed export PATH="$PATH:$PWD/tools/_bin" -# BuildKite sets the K8S_VERSION, if it is not set (e.g. running locally) -# then we default to the latest version of K8S (1.34.1). -export KIND_VERSION="kindest/node:v${K8S_VERSION:-1.34.1}" +# We default to the latest version of Kind. +export KIND_VERSION="kindest/node:v${KIND_VERSION:-0.30.0}" From 3857584d6c46cff61a41099fef57ab8a4d909551 Mon Sep 17 00:00:00 2001 From: Matt Lord Date: Thu, 9 Oct 2025 00:47:02 +0000 Subject: [PATCH 04/11] Adjust diff util usage Signed-off-by: Matt Lord --- go.mod | 2 +- pkg/operator/reconciler/object.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/go.mod b/go.mod index 58d28775..c3e80595 100644 --- a/go.mod +++ b/go.mod @@ -16,7 +16,7 @@ require ( k8s.io/apimachinery v0.34.1 k8s.io/client-go v0.34.1 k8s.io/klog v1.0.0 - k8s.io/kubectl v0.32.2 + k8s.io/kubectl v0.34.1 k8s.io/kubernetes v1.34.1 k8s.io/utils v0.0.0-20250604170112-4c0f3b243397 sigs.k8s.io/controller-runtime v0.20.2 diff --git a/pkg/operator/reconciler/object.go b/pkg/operator/reconciler/object.go index c7630420..b94d5096 100644 --- a/pkg/operator/reconciler/object.go +++ b/pkg/operator/reconciler/object.go @@ -400,7 +400,7 @@ func describeDiff(curObj, newObj runtime.Object, kind runtime.Object) string { if err != nil { // Strategic merge patch might not work for every object. // Fall back to a more generic diff mechanism. - return diff.ObjectReflectDiff(curObj, newObj) + return diff.Diff(curObj, newObj) } return patch } From fd8816baa651d37125884838036ae9e2c43b4bb4 Mon Sep 17 00:00:00 2001 From: Matt Lord Date: Thu, 9 Oct 2025 01:17:04 +0000 Subject: [PATCH 05/11] Fix kind install Signed-off-by: Matt Lord --- tools/get-e2e-test-deps.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tools/get-e2e-test-deps.sh b/tools/get-e2e-test-deps.sh index b229e064..b3720a43 100755 --- a/tools/get-e2e-test-deps.sh +++ b/tools/get-e2e-test-deps.sh @@ -28,8 +28,9 @@ ln -sf "kubectl-${KUBE_VERSION}" kubectl # Download kind if needed. if ! command -v kind &> /dev/null then - echo "Installing kind..." - go install sigs.k8s.io/kind@v0.30.0 + echo "Downloading kind..." + curl --silent -L https://kind.sigs.k8s.io/dl/v0.30.0/kind-linux-amd64 > "kind" + chmod +x "kind" echo "Installed kind" else echo "Kind already installed" From 2a5ed002808667b731c85b750ef9507ba304c977 Mon Sep 17 00:00:00 2001 From: Matt Lord Date: Thu, 9 Oct 2025 13:24:02 +0000 Subject: [PATCH 06/11] Correct kind image version Signed-off-by: Matt Lord --- tools/test.env | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/test.env b/tools/test.env index 2a0d64dc..b0dd770c 100755 --- a/tools/test.env +++ b/tools/test.env @@ -5,4 +5,4 @@ export PATH="$PATH:$PWD/tools/_bin" # We default to the latest version of Kind. -export KIND_VERSION="kindest/node:v${KIND_VERSION:-0.30.0}" +export KIND_VERSION="kindest/node:v${KIND_VERSION:-1.34.0}" From e401df8b647ab0a45f0e345d1402984bb4c6826e Mon Sep 17 00:00:00 2001 From: Matt Lord Date: Thu, 9 Oct 2025 22:20:23 +0000 Subject: [PATCH 07/11] Update vtgate flags (_ -> -) Signed-off-by: Matt Lord --- pkg/operator/vtgate/deployment.go | 46 +++++++++++++++---------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/pkg/operator/vtgate/deployment.go b/pkg/operator/vtgate/deployment.go index 909b9eaa..03e08539 100644 --- a/pkg/operator/vtgate/deployment.go +++ b/pkg/operator/vtgate/deployment.go @@ -267,26 +267,26 @@ func (spec *Spec) baseFlags() vitess.Flags { return vitess.Flags{ "cell": spec.Cell.Name, - "cells_to_watch": strings.Join(cellsToWatch, ","), - "tablet_types_to_wait": tabletTypesToWait, + "cells-to-watch": strings.Join(cellsToWatch, ","), + "tablet-types-to-wait": tabletTypesToWait, - "enable_buffer": bufferMasterTrafficDuringFailover, - "buffer_min_time_between_failovers": bufferMinTimeBetweenFailovers, - "buffer_max_failover_duration": bufferMaxFailoverDuration, - "buffer_size": bufferSize, + "enable-buffer": bufferMasterTrafficDuringFailover, + "buffer-min-time-between-failovers": bufferMinTimeBetweenFailovers, + "buffer-max-failover-duration": bufferMaxFailoverDuration, + "buffer-size": bufferSize, - "grpc_max_message_size": grpcMaxMessageSize, + "grpc-max-message-size": grpcMaxMessageSize, - "mysql_server_port": planetscalev2.DefaultMysqlPort, + "mysql-server-port": planetscalev2.DefaultMysqlPort, "logtostderr": true, - "topo_implementation": spec.Cell.GlobalLockserver.Implementation, - "topo_global_server_address": spec.Cell.GlobalLockserver.Address, - "topo_global_root": spec.Cell.GlobalLockserver.RootPath, + "topo-implementation": spec.Cell.GlobalLockserver.Implementation, + "topo-global-server-address": spec.Cell.GlobalLockserver.Address, + "topo-global-root": spec.Cell.GlobalLockserver.RootPath, - "service_map": serviceMap, + "service-map": serviceMap, "port": planetscalev2.DefaultWebPort, - "grpc_port": planetscalev2.DefaultGrpcPort, + "grpc-port": planetscalev2.DefaultGrpcPort, } } @@ -295,9 +295,9 @@ func updateAuth(spec *Spec, flags vitess.Flags, container *corev1.Container, pod staticAuthFile := secrets.Mount(spec.Authentication.Static.Secret, staticAuthDirName) // Get usernames and passwords from a static file, mounted from a Secret. - flags["mysql_auth_server_impl"] = "static" - flags["mysql_auth_server_static_file"] = staticAuthFile.FilePath() - flags["mysql_auth_static_reload_interval"] = "30s" + flags["mysql-auth-server-impl"] = "static" + flags["mysql-auth-server-static-file"] = staticAuthFile.FilePath() + flags["mysql-auth-static-reload-interval"] = "30s" // Add the volume to the Pod, if needed. update.Volumes(&podSpec.Volumes, staticAuthFile.PodVolumes()) @@ -321,12 +321,12 @@ func updateTransport(spec *Spec, flags vitess.Flags, container *corev1.Container // GRPC does not have an equivalent flag, // and all GRPC transport is required to be encrypted when certs are set. - flags["mysql_server_require_secure_transport"] = spec.SecureTransport.Required + flags["mysql-server-require-secure-transport"] = spec.SecureTransport.Required - flags["mysql_server_ssl_cert"] = tlsCertFile.FilePath() - flags["mysql_server_ssl_key"] = tlsKeyFile.FilePath() - flags["grpc_cert"] = tlsCertFile.FilePath() - flags["grpc_key"] = tlsKeyFile.FilePath() + flags["mysql-server-ssl-cert"] = tlsCertFile.FilePath() + flags["mysql-server-ssl-key"] = tlsKeyFile.FilePath() + flags["grpc-cert"] = tlsCertFile.FilePath() + flags["grpc-key"] = tlsKeyFile.FilePath() // Add the volumes to the Pod, if needed. update.Volumes(&podSpec.Volumes, tlsCertFile.PodVolumes()) @@ -341,8 +341,8 @@ func updateTransport(spec *Spec, flags vitess.Flags, container *corev1.Container if tls.ClientCACertSecret != nil { clientCACertFile := secrets.Mount(tls.ClientCACertSecret, tlsClientCACertDirName) - flags["mysql_server_ssl_ca"] = clientCACertFile.FilePath() - flags["grpc_ca"] = clientCACertFile.FilePath() + flags["mysql-server-ssl-ca"] = clientCACertFile.FilePath() + flags["grpc-ca"] = clientCACertFile.FilePath() update.Volumes(&podSpec.Volumes, clientCACertFile.PodVolumes()) From f02c6a2592b0641a87a4a6a25a5a5176f014ccf5 Mon Sep 17 00:00:00 2001 From: Matt Lord Date: Thu, 9 Oct 2025 22:29:31 +0000 Subject: [PATCH 08/11] Update other flags Signed-off-by: Matt Lord --- pkg/operator/vtctld/deployment.go | 14 +++---- pkg/operator/vtorc/deployment.go | 8 ++-- pkg/operator/vttablet/flags.go | 64 +++++++++++++++---------------- 3 files changed, 43 insertions(+), 43 deletions(-) diff --git a/pkg/operator/vtctld/deployment.go b/pkg/operator/vtctld/deployment.go index 43b628ff..04eb3dee 100644 --- a/pkg/operator/vtctld/deployment.go +++ b/pkg/operator/vtctld/deployment.go @@ -236,12 +236,12 @@ func (spec *Spec) flags() vitess.Flags { "cell": spec.Cell.Name, "port": planetscalev2.DefaultWebPort, - "grpc_port": planetscalev2.DefaultGrpcPort, - "service_map": serviceMap, + "grpc-port": planetscalev2.DefaultGrpcPort, + "service-map": serviceMap, - "topo_implementation": spec.GlobalLockserver.Implementation, - "topo_global_server_address": spec.GlobalLockserver.Address, - "topo_global_root": spec.GlobalLockserver.RootPath, + "topo-implementation": spec.GlobalLockserver.Implementation, + "topo-global-server-address": spec.GlobalLockserver.Address, + "topo-global-root": spec.GlobalLockserver.RootPath, "logtostderr": true, } @@ -249,11 +249,11 @@ func (spec *Spec) flags() vitess.Flags { return flags } flags = flags.Merge(vitess.Flags{ - "backup_engine_implementation": string(spec.BackupEngine), + "backup-engine-implementation": string(spec.BackupEngine), }) if spec.BackupEngine == planetscalev2.VitessBackupEngineXtraBackup { flags = flags.Merge(vitess.Flags{ - "backup_storage_compress": true, + "backup-storage-compress": true, }) } clusterName := spec.Labels[planetscalev2.ClusterLabel] diff --git a/pkg/operator/vtorc/deployment.go b/pkg/operator/vtorc/deployment.go index 01332817..610dd0fd 100644 --- a/pkg/operator/vtorc/deployment.go +++ b/pkg/operator/vtorc/deployment.go @@ -211,12 +211,12 @@ func UpdateDeployment(obj *appsv1.Deployment, spec *Spec) { func (spec *Spec) flags() vitess.Flags { return vitess.Flags{ - "topo_implementation": spec.GlobalLockserver.Implementation, - "topo_global_server_address": spec.GlobalLockserver.Address, - "topo_global_root": spec.GlobalLockserver.RootPath, + "topo-implementation": spec.GlobalLockserver.Implementation, + "topo-global-server-address": spec.GlobalLockserver.Address, + "topo-global-root": spec.GlobalLockserver.RootPath, "port": planetscalev2.DefaultWebPort, - "clusters_to_watch": spec.Keyspace + "/" + spec.Shard, + "clusters-to-watch": spec.Keyspace + "/" + spec.Shard, "logtostderr": true, } diff --git a/pkg/operator/vttablet/flags.go b/pkg/operator/vttablet/flags.go index 3201bb60..6027d3c3 100644 --- a/pkg/operator/vttablet/flags.go +++ b/pkg/operator/vttablet/flags.go @@ -49,27 +49,27 @@ func init() { spec := s.(*Spec) return vitess.Flags{ "logtostderr": true, - "topo_implementation": spec.GlobalLockserver.Implementation, - "topo_global_server_address": spec.GlobalLockserver.Address, - "topo_global_root": spec.GlobalLockserver.RootPath, - "grpc_max_message_size": grpcMaxMessageSize, + "topo-implementation": spec.GlobalLockserver.Implementation, + "topo-global-server-address": spec.GlobalLockserver.Address, + "topo-global-root": spec.GlobalLockserver.RootPath, + "grpc-max-message-size": grpcMaxMessageSize, - "service_map": serviceMap, + "service-map": serviceMap, "port": planetscalev2.DefaultWebPort, - "grpc_port": planetscalev2.DefaultGrpcPort, + "grpc-port": planetscalev2.DefaultGrpcPort, "tablet-path": topoproto.TabletAliasString(&spec.Alias), // We inject the POD_IP environment variable up above via the Pod Downward API. // The Pod args list natively expands environment variables in this format, // so we don't need to use a shell to launch vttablet. - "tablet_hostname": "$(POD_IP)", + "tablet-hostname": "$(POD_IP)", - "init_keyspace": spec.KeyspaceName, - "init_shard": spec.KeyRange.String(), - "init_tablet_type": spec.Type.InitTabletType(), + "init-keyspace": spec.KeyspaceName, + "init-shard": spec.KeyRange.String(), + "init-tablet-type": spec.Type.InitTabletType(), - "health_check_interval": healthCheckInterval, + "health-check-interval": healthCheckInterval, "queryserver-config-max-result-size": queryserverConfigMaxResultSize, "queryserver-config-query-timeout": fmt.Sprintf("%ds", queryserverConfigQueryTimeout), @@ -85,13 +85,13 @@ func init() { dbInitScript := secrets.Mount(&spec.DatabaseInitScriptSecret, dbInitScriptDirName) return vitess.Flags{ "logtostderr": true, - "tablet_uid": spec.Alias.Uid, - "socket_file": mysqlctlSocketPath, - "mysql_socket": mysqlSocketPath, - "db_dba_user": dbConfigDbaUname, - "db_charset": spec.dbConfigCharset(), - "init_db_sql_file": dbInitScript.FilePath(), - "wait_time": mysqlctlWaitTime, + "tablet-uid": spec.Alias.Uid, + "socket-file": mysqlctlSocketPath, + "mysql-socket": mysqlSocketPath, + "db-dba-user": dbConfigDbaUname, + "db-charset": spec.dbConfigCharset(), + "init-db-sql-file": dbInitScript.FilePath(), + "wait-time": mysqlctlWaitTime, } }) @@ -115,27 +115,27 @@ func init() { return vitess.Flags{ // vtbackup-specific flags. "concurrency": vtbackupConcurrency, - "initial_backup": backupSpec.InitialBackup, - "min_backup_interval": backupSpec.MinBackupInterval, - "min_retention_time": backupSpec.MinRetentionTime, - "min_retention_count": backupSpec.MinRetentionCount, + "initial-backup": backupSpec.InitialBackup, + "min-backup-interval": backupSpec.MinBackupInterval, + "min-retention-time": backupSpec.MinRetentionTime, + "min-retention-count": backupSpec.MinRetentionCount, // Flags that are common to vttablet and mysqlctld. "logtostderr": true, - "topo_implementation": spec.GlobalLockserver.Implementation, - "topo_global_server_address": spec.GlobalLockserver.Address, - "topo_global_root": spec.GlobalLockserver.RootPath, + "topo-implementation": spec.GlobalLockserver.Implementation, + "topo-global-server-address": spec.GlobalLockserver.Address, + "topo-global-root": spec.GlobalLockserver.RootPath, - "init_keyspace": spec.KeyspaceName, - "init_shard": spec.KeyRange.String(), - "init_db_name_override": spec.localDatabaseName(), + "init-keyspace": spec.KeyspaceName, + "init-shard": spec.KeyRange.String(), + "init-db-name-override": spec.localDatabaseName(), - "db_dba_user": dbConfigDbaUname, - "db_charset": spec.dbConfigCharset(), + "db-dba-user": dbConfigDbaUname, + "db-charset": spec.dbConfigCharset(), - "init_db_sql_file": dbInitScript.FilePath(), + "init-db-sql-file": dbInitScript.FilePath(), - "mysql_socket": mysqlSocketPath, + "mysql-socket": mysqlSocketPath, } }) } From 8c3588d79f9f7fe26dcd46fa84e1676dbe3220f8 Mon Sep 17 00:00:00 2001 From: Matt Lord Date: Fri, 10 Oct 2025 17:16:15 +0000 Subject: [PATCH 09/11] Cleanup more flags and check for latest version Signed-off-by: Matt Lord --- pkg/operator/vitessbackup/storage_azblob.go | 10 ++-- pkg/operator/vitessbackup/storage_ceph.go | 4 +- pkg/operator/vitessbackup/storage_file.go | 4 +- pkg/operator/vitessbackup/storage_gcs.go | 6 +-- pkg/operator/vitessbackup/storage_s3.go | 14 +++--- pkg/operator/vttablet/backup.go | 22 ++++----- pkg/operator/vttablet/datastore.go | 48 +++++++++---------- pkg/operator/vttablet/mysqlctld.go | 2 +- pkg/operator/vttablet/vtbackup_pod.go | 4 +- test/endtoend/backup_restore_test.sh | 2 +- test/endtoend/backup_schedule_test.sh | 2 +- test/endtoend/hpa_test.sh | 2 +- .../operator/101_initial_cluster.yaml | 2 +- .../101_initial_cluster_autoscale.yaml | 2 +- .../operator/101_initial_cluster_backup.yaml | 2 +- .../101_initial_cluster_backup_schedule.yaml | 2 +- .../101_initial_cluster_unmanaged_tablet.yaml | 2 +- .../101_initial_cluster_vtorc_vtadmin.yaml | 2 +- .../operator/102_keyspace_teardown.yaml | 2 +- .../operator/201_customer_tablets.yaml | 2 +- test/endtoend/operator/302_new_shards.yaml | 2 +- test/endtoend/operator/306_down_shard_0.yaml | 2 +- .../operator/401_scheduled_backups.yaml | 2 +- test/endtoend/operator/cluster_autoscale.yaml | 2 +- test/endtoend/operator/cluster_upgrade.yaml | 2 +- test/endtoend/upgrade_test.sh | 2 +- test/endtoend/vtorc_vtadmin_test.sh | 2 +- 27 files changed, 75 insertions(+), 75 deletions(-) diff --git a/pkg/operator/vitessbackup/storage_azblob.go b/pkg/operator/vitessbackup/storage_azblob.go index 6ddbaf00..89f0a0db 100644 --- a/pkg/operator/vitessbackup/storage_azblob.go +++ b/pkg/operator/vitessbackup/storage_azblob.go @@ -26,11 +26,11 @@ import ( func azblobBackupFlags(azblob *planetscalev2.AzblobBackupLocation, clusterName string) vitess.Flags { return vitess.Flags{ - "backup_storage_implementation": azblobBackupStorageImplementationName, - "azblob_backup_account_name": azblob.Account, - "azblob_backup_account_key_file": secrets.Mount(&azblob.AuthSecret, azblobAuthDirName).FilePath(), - "azblob_backup_container_name": azblob.Container, - "azblob_backup_storage_root": rootKeyPrefix(azblob.KeyPrefix, clusterName), + "backup-storage-implementation": azblobBackupStorageImplementationName, + "azblob-backup-account-name": azblob.Account, + "azblob-backup-account-key-file": secrets.Mount(&azblob.AuthSecret, azblobAuthDirName).FilePath(), + "azblob-backup-container-name": azblob.Container, + "azblob-backup-storage-root": rootKeyPrefix(azblob.KeyPrefix, clusterName), } } diff --git a/pkg/operator/vitessbackup/storage_ceph.go b/pkg/operator/vitessbackup/storage_ceph.go index 4f5799ed..398a0fdc 100644 --- a/pkg/operator/vitessbackup/storage_ceph.go +++ b/pkg/operator/vitessbackup/storage_ceph.go @@ -25,8 +25,8 @@ import ( func cephBackupFlags(ceph *planetscalev2.CephBackupLocation) vitess.Flags { flags := vitess.Flags{ - "backup_storage_implementation": cephBackupStorageImplementationName, - "ceph_backup_storage_config": secrets.Mount(&ceph.AuthSecret, cephAuthDirName).FilePath(), + "backup-storage-implementation": cephBackupStorageImplementationName, + "ceph-backup-storage-config": secrets.Mount(&ceph.AuthSecret, cephAuthDirName).FilePath(), } return flags } diff --git a/pkg/operator/vitessbackup/storage_file.go b/pkg/operator/vitessbackup/storage_file.go index 2eeeb9b5..9c229a2b 100644 --- a/pkg/operator/vitessbackup/storage_file.go +++ b/pkg/operator/vitessbackup/storage_file.go @@ -23,8 +23,8 @@ import ( func fileBackupFlags(clusterName string) vitess.Flags { return vitess.Flags{ - "backup_storage_implementation": fileBackupStorageImplementationName, - "file_backup_storage_root": rootKeyPrefix(fileBackupStorageMountPath, clusterName), + "backup-storage-implementation": fileBackupStorageImplementationName, + "file-backup-storage-root": rootKeyPrefix(fileBackupStorageMountPath, clusterName), } } diff --git a/pkg/operator/vitessbackup/storage_gcs.go b/pkg/operator/vitessbackup/storage_gcs.go index 9c0223b3..5c3b3e24 100644 --- a/pkg/operator/vitessbackup/storage_gcs.go +++ b/pkg/operator/vitessbackup/storage_gcs.go @@ -26,9 +26,9 @@ import ( func gcsBackupFlags(gcs *planetscalev2.GCSBackupLocation, clusterName string) vitess.Flags { return vitess.Flags{ - "backup_storage_implementation": gcsBackupStorageImplementationName, - "gcs_backup_storage_bucket": gcs.Bucket, - "gcs_backup_storage_root": rootKeyPrefix(gcs.KeyPrefix, clusterName), + "backup-storage-implementation": gcsBackupStorageImplementationName, + "gcs-backup-storage-bucket": gcs.Bucket, + "gcs-backup-storage-root": rootKeyPrefix(gcs.KeyPrefix, clusterName), } } diff --git a/pkg/operator/vitessbackup/storage_s3.go b/pkg/operator/vitessbackup/storage_s3.go index adbfbc0c..50f800e1 100644 --- a/pkg/operator/vitessbackup/storage_s3.go +++ b/pkg/operator/vitessbackup/storage_s3.go @@ -26,19 +26,19 @@ import ( func s3BackupFlags(s3 *planetscalev2.S3BackupLocation, clusterName string) vitess.Flags { flags := vitess.Flags{ - "backup_storage_implementation": s3BackupStorageImplementationName, - "s3_backup_aws_region": s3.Region, - "s3_backup_storage_bucket": s3.Bucket, - "s3_backup_storage_root": rootKeyPrefix(s3.KeyPrefix, clusterName), - "s3_backup_force_path_style": s3.ForcePathStyle, + "backup-storage-implementation": s3BackupStorageImplementationName, + "s3-backup-aws-region": s3.Region, + "s3-backup-storage-bucket": s3.Bucket, + "s3-backup-storage-root": rootKeyPrefix(s3.KeyPrefix, clusterName), + "s3-backup-force-path-style": s3.ForcePathStyle, } if s3.MinPartSize > 0 { - flags["s3_backup_aws_min_partsize"] = s3.MinPartSize + flags["s3-backup-aws-min-partsize"] = s3.MinPartSize } if len(s3.Endpoint) > 0 { - flags["s3_backup_aws_endpoint"] = s3.Endpoint + flags["s3-backup-aws-endpoint"] = s3.Endpoint } return flags } diff --git a/pkg/operator/vttablet/backup.go b/pkg/operator/vttablet/backup.go index e5d3ab3e..210b8f64 100644 --- a/pkg/operator/vttablet/backup.go +++ b/pkg/operator/vttablet/backup.go @@ -28,12 +28,12 @@ import ( func xtrabackupFlags(backupThreads, restoreThreads int) vitess.Flags { flags := vitess.Flags{ - "xtrabackup_user": xtrabackupUser, - "xtrabackup_stream_mode": xtrabackupStreamMode, - "xtrabackup_stripes": xtrabackupStripeCount, - "xtrabackup_backup_flags": fmt.Sprintf("--parallel=%d", backupThreads), - "xbstream_restore_flags": fmt.Sprintf("--parallel=%d", restoreThreads), - "backup_storage_compress": true, + "xtrabackup-user": xtrabackupUser, + "xtrabackup-stream-mode": xtrabackupStreamMode, + "xtrabackup-stripes": xtrabackupStripeCount, + "xtrabackup-backup-flags": fmt.Sprintf("--parallel=%d", backupThreads), + "xbstream-restore-flags": fmt.Sprintf("--parallel=%d", restoreThreads), + "backup-storage-compress": true, } return flags @@ -55,10 +55,10 @@ func init() { return nil } flags := vitess.Flags{ - "restore_from_backup": true, - "restore_concurrency": restoreConcurrency, - "wait_for_backup_interval": waitForBackupInterval, - "backup_engine_implementation": string(spec.BackupEngine), + "restore-from-backup": true, + "restore-concurrency": restoreConcurrency, + "wait-for-backup-interval": waitForBackupInterval, + "backup-engine-implementation": string(spec.BackupEngine), } switch spec.BackupEngine { case planetscalev2.VitessBackupEngineXtraBackup: @@ -94,7 +94,7 @@ func init() { return nil } flags := vitess.Flags{ - "backup_engine_implementation": string(spec.BackupEngine), + "backup-engine-implementation": string(spec.BackupEngine), } if spec.BackupEngine == planetscalev2.VitessBackupEngineXtraBackup { // A vtbackup Pod is given the same resources as the mysqld diff --git a/pkg/operator/vttablet/datastore.go b/pkg/operator/vttablet/datastore.go index 21ce34d2..1f63ceb8 100644 --- a/pkg/operator/vttablet/datastore.go +++ b/pkg/operator/vttablet/datastore.go @@ -77,32 +77,32 @@ func datastoreFlags(spec *Spec) vitess.Flags { func localDatastoreFlags(spec *Spec) vitess.Flags { return vitess.Flags{ - "db_charset": spec.dbConfigCharset(), - "db_app_user": dbConfigAppUname, - "db_dba_user": dbConfigDbaUname, - "db_repl_user": dbConfigReplUname, - "db_filtered_user": dbConfigFilteredUname, + "db-charset": spec.dbConfigCharset(), + "db-app-user": dbConfigAppUname, + "db-dba-user": dbConfigDbaUname, + "db-repl-user": dbConfigReplUname, + "db-filtered-user": dbConfigFilteredUname, // Only in the case of local mysql do we want to use the vt_ prefix. - "init_db_name_override": spec.localDatabaseName(), + "init-db-name-override": spec.localDatabaseName(), - "enforce_strict_trans_tables": true, + "enforce-strict-trans-tables": true, // TODO: Should this be configurable? - "enable_replication_reporter": true, + "enable-replication-reporter": true, - "mysqlctl_socket": mysqlctlSocketPath, - "mycnf_socket_file": mysqlSocketPath, + "mysqlctl-socket": mysqlctlSocketPath, + "mycnf-socket-file": mysqlSocketPath, } } func externalDatastoreSSLCAFlags(spec *Spec) vitess.Flags { caCertFile := secrets.Mount(spec.ExternalDatastore.ServerCACertSecret, externalDatastoreCACertDirName) return vitess.Flags{ - "db_ssl_ca": caCertFile.FilePath(), + "db-ssl-ca": caCertFile.FilePath(), // TODO: See if this should be passed in rather than hard coded. - "db_flags": enableSSLBitflag, + "db-flags": enableSSLBitflag, } } @@ -111,21 +111,21 @@ func externalDatastoreFlags(spec *Spec) vitess.Flags { flags := vitess.Flags{ "unmanaged": true, - "restore_from_backup": false, - "db_app_user": spec.ExternalDatastore.User, - "db_appdebug_user": spec.ExternalDatastore.User, - "db_allprivs_user": spec.ExternalDatastore.User, - "db_dba_user": spec.ExternalDatastore.User, - "db_filtered_user": spec.ExternalDatastore.User, - "db_repl_user": spec.ExternalDatastore.User, + "restore-from-backup": false, + "db-app-user": spec.ExternalDatastore.User, + "db-appdebug-user": spec.ExternalDatastore.User, + "db-allprivs-user": spec.ExternalDatastore.User, + "db-dba-user": spec.ExternalDatastore.User, + "db-filtered-user": spec.ExternalDatastore.User, + "db-repl-user": spec.ExternalDatastore.User, "db-credentials-file": credentialsFile.FilePath(), - "db_host": spec.ExternalDatastore.Host, - "db_port": spec.ExternalDatastore.Port, - "init_db_name_override": spec.ExternalDatastore.Database, + "db-host": spec.ExternalDatastore.Host, + "db-port": spec.ExternalDatastore.Port, + "init-db-name-override": spec.ExternalDatastore.Database, - "enable_replication_reporter": false, + "enable-replication-reporter": false, - "enforce_strict_trans_tables": false, + "enforce-strict-trans-tables": false, } return flags diff --git a/pkg/operator/vttablet/mysqlctld.go b/pkg/operator/vttablet/mysqlctld.go index 2fe12f56..36bd3b96 100644 --- a/pkg/operator/vttablet/mysqlctld.go +++ b/pkg/operator/vttablet/mysqlctld.go @@ -38,7 +38,7 @@ fi mkdir -p /mnt/vt/vtdataroot ln -sf /dev/stderr /mnt/vt/config/stderr.symlink echo "log-error = /vt/config/stderr.symlink" > /mnt/vt/config/mycnf/log-error.cnf -echo "binlog_format=row" > /mnt/vt/config/mycnf/rbr.cnf +echo "binlog-format=row" > /mnt/vt/config/mycnf/rbr.cnf echo "socket = ` + mysqlSocketPath + `" > /mnt/vt/config/mycnf/socket.cnf ` diff --git a/pkg/operator/vttablet/vtbackup_pod.go b/pkg/operator/vttablet/vtbackup_pod.go index 813257f9..bb53a8e0 100644 --- a/pkg/operator/vttablet/vtbackup_pod.go +++ b/pkg/operator/vttablet/vtbackup_pod.go @@ -43,8 +43,8 @@ else fi ln -sf /dev/stderr /mnt/vt/config/stderr.symlink echo "log-error = /vt/config/stderr.symlink" > /mnt/vt/config/mycnf/log-error.cnf -echo "binlog_format=row" > /mnt/vt/config/mycnf/rbr.cnf -echo -e "sync_binlog=0\ninnodb_flush_log_at_trx_commit=0" > /mnt/vt/config/mycnf/vtbackup.cnf +echo "binlog-format=row" > /mnt/vt/config/mycnf/rbr.cnf +echo -e "sync-binlog=0\ninnodb-flush-log-at-trx-commit=0" > /mnt/vt/config/mycnf/vtbackup.cnf mkdir -p /mnt/vt/certs cp --no-clobber /etc/ssl/certs/ca-certificates.crt /mnt/vt/certs/ echo "socket = ` + mysqlSocketPath + `" > /mnt/vt/config/mycnf/socket.cnf diff --git a/test/endtoend/backup_restore_test.sh b/test/endtoend/backup_restore_test.sh index fd6c71d2..ca89833e 100755 --- a/test/endtoend/backup_restore_test.sh +++ b/test/endtoend/backup_restore_test.sh @@ -29,7 +29,7 @@ setupKindCluster cd test/endtoend/operator || exit 1 get_started "operator-latest.yaml" "101_initial_cluster_backup.yaml" -verifyVtGateVersion "23.0.0" +verifyVtGateVersion "24.0.0" checkSemiSyncSetup takeBackup "commerce/-" verifyListBackupsOutput diff --git a/test/endtoend/backup_schedule_test.sh b/test/endtoend/backup_schedule_test.sh index eb20ff61..b6df0a0d 100755 --- a/test/endtoend/backup_schedule_test.sh +++ b/test/endtoend/backup_schedule_test.sh @@ -32,7 +32,7 @@ setupKindCluster cd test/endtoend/operator || exit 1 get_started "operator-latest.yaml" "101_initial_cluster_backup_schedule.yaml" -verifyVtGateVersion "23.0.0" +verifyVtGateVersion "24.0.0" checkSemiSyncSetup verifyListBackupsOutputWithSchedule diff --git a/test/endtoend/hpa_test.sh b/test/endtoend/hpa_test.sh index 30cf23d2..98fe02a0 100755 --- a/test/endtoend/hpa_test.sh +++ b/test/endtoend/hpa_test.sh @@ -34,7 +34,7 @@ setupKindCluster cd test/endtoend/operator || exit 1 get_started "operator-latest.yaml" "101_initial_cluster_autoscale.yaml" -verifyVtGateVersion "23.0.0" +verifyVtGateVersion "24.0.0" checkSemiSyncSetup verifyHpaCount 0 diff --git a/test/endtoend/operator/101_initial_cluster.yaml b/test/endtoend/operator/101_initial_cluster.yaml index 16a73ee4..e9dce22d 100644 --- a/test/endtoend/operator/101_initial_cluster.yaml +++ b/test/endtoend/operator/101_initial_cluster.yaml @@ -32,7 +32,7 @@ spec: name: example-cluster-config key: users.json extraFlags: - tablet_refresh_interval: 10s + tablet-refresh-interval: 10s replicas: 1 resources: requests: diff --git a/test/endtoend/operator/101_initial_cluster_autoscale.yaml b/test/endtoend/operator/101_initial_cluster_autoscale.yaml index 8ab1e61d..c24408a6 100644 --- a/test/endtoend/operator/101_initial_cluster_autoscale.yaml +++ b/test/endtoend/operator/101_initial_cluster_autoscale.yaml @@ -26,7 +26,7 @@ spec: name: example-cluster-config key: users.json extraFlags: - tablet_refresh_interval: 10s + tablet-refresh-interval: 10s replicas: 1 resources: requests: diff --git a/test/endtoend/operator/101_initial_cluster_backup.yaml b/test/endtoend/operator/101_initial_cluster_backup.yaml index 20c9a0d8..146288b4 100644 --- a/test/endtoend/operator/101_initial_cluster_backup.yaml +++ b/test/endtoend/operator/101_initial_cluster_backup.yaml @@ -32,7 +32,7 @@ spec: name: example-cluster-config key: users.json extraFlags: - tablet_refresh_interval: 10s + tablet-refresh-interval: 10s replicas: 1 resources: requests: diff --git a/test/endtoend/operator/101_initial_cluster_backup_schedule.yaml b/test/endtoend/operator/101_initial_cluster_backup_schedule.yaml index 2115dd80..ad125bb2 100644 --- a/test/endtoend/operator/101_initial_cluster_backup_schedule.yaml +++ b/test/endtoend/operator/101_initial_cluster_backup_schedule.yaml @@ -63,7 +63,7 @@ spec: name: example-cluster-config key: users.json extraFlags: - tablet_refresh_interval: 10s + tablet-refresh-interval: 10s replicas: 1 resources: requests: diff --git a/test/endtoend/operator/101_initial_cluster_unmanaged_tablet.yaml b/test/endtoend/operator/101_initial_cluster_unmanaged_tablet.yaml index 7b28728e..a4f69eb9 100644 --- a/test/endtoend/operator/101_initial_cluster_unmanaged_tablet.yaml +++ b/test/endtoend/operator/101_initial_cluster_unmanaged_tablet.yaml @@ -27,7 +27,7 @@ spec: name: example-cluster-config key: users.json extraFlags: - tablet_refresh_interval: 10s + tablet-refresh-interval: 10s replicas: 1 resources: requests: diff --git a/test/endtoend/operator/101_initial_cluster_vtorc_vtadmin.yaml b/test/endtoend/operator/101_initial_cluster_vtorc_vtadmin.yaml index 737591ef..202de352 100644 --- a/test/endtoend/operator/101_initial_cluster_vtorc_vtadmin.yaml +++ b/test/endtoend/operator/101_initial_cluster_vtorc_vtadmin.yaml @@ -27,7 +27,7 @@ spec: name: example-cluster-config key: users.json extraFlags: - tablet_refresh_interval: 10s + tablet-refresh-interval: 10s replicas: 1 resources: requests: diff --git a/test/endtoend/operator/102_keyspace_teardown.yaml b/test/endtoend/operator/102_keyspace_teardown.yaml index 75550ba9..8dcabb53 100644 --- a/test/endtoend/operator/102_keyspace_teardown.yaml +++ b/test/endtoend/operator/102_keyspace_teardown.yaml @@ -32,7 +32,7 @@ spec: name: example-cluster-config key: users.json extraFlags: - tablet_refresh_interval: 10s + tablet-refresh-interval: 10s replicas: 1 resources: requests: diff --git a/test/endtoend/operator/201_customer_tablets.yaml b/test/endtoend/operator/201_customer_tablets.yaml index b0bee856..dd75636a 100644 --- a/test/endtoend/operator/201_customer_tablets.yaml +++ b/test/endtoend/operator/201_customer_tablets.yaml @@ -28,7 +28,7 @@ spec: name: example-cluster-config key: users.json extraFlags: - tablet_refresh_interval: 10s + tablet-refresh-interval: 10s replicas: 1 resources: requests: diff --git a/test/endtoend/operator/302_new_shards.yaml b/test/endtoend/operator/302_new_shards.yaml index 2c1430dd..375c145f 100644 --- a/test/endtoend/operator/302_new_shards.yaml +++ b/test/endtoend/operator/302_new_shards.yaml @@ -28,7 +28,7 @@ spec: name: example-cluster-config key: users.json extraFlags: - tablet_refresh_interval: 10s + tablet-refresh-interval: 10s replicas: 1 resources: requests: diff --git a/test/endtoend/operator/306_down_shard_0.yaml b/test/endtoend/operator/306_down_shard_0.yaml index ce3c38a1..f0642e09 100644 --- a/test/endtoend/operator/306_down_shard_0.yaml +++ b/test/endtoend/operator/306_down_shard_0.yaml @@ -28,7 +28,7 @@ spec: name: example-cluster-config key: users.json extraFlags: - tablet_refresh_interval: 10s + tablet-refresh-interval: 10s replicas: 1 resources: requests: diff --git a/test/endtoend/operator/401_scheduled_backups.yaml b/test/endtoend/operator/401_scheduled_backups.yaml index 8f4837cd..77211c75 100644 --- a/test/endtoend/operator/401_scheduled_backups.yaml +++ b/test/endtoend/operator/401_scheduled_backups.yaml @@ -62,7 +62,7 @@ spec: name: example-cluster-config key: users.json extraFlags: - tablet_refresh_interval: 10s + tablet-refresh-interval: 10s replicas: 1 resources: requests: diff --git a/test/endtoend/operator/cluster_autoscale.yaml b/test/endtoend/operator/cluster_autoscale.yaml index a6feef11..9efccbe6 100644 --- a/test/endtoend/operator/cluster_autoscale.yaml +++ b/test/endtoend/operator/cluster_autoscale.yaml @@ -36,7 +36,7 @@ spec: name: example-cluster-config key: users.json extraFlags: - tablet_refresh_interval: 10s + tablet-refresh-interval: 10s replicas: 1 resources: requests: diff --git a/test/endtoend/operator/cluster_upgrade.yaml b/test/endtoend/operator/cluster_upgrade.yaml index 0153bc97..dc7e6ac3 100644 --- a/test/endtoend/operator/cluster_upgrade.yaml +++ b/test/endtoend/operator/cluster_upgrade.yaml @@ -32,7 +32,7 @@ spec: name: example-cluster-config key: users.json extraFlags: - tablet_refresh_interval: 10s + tablet-refresh-interval: 10s replicas: 1 resources: requests: diff --git a/test/endtoend/upgrade_test.sh b/test/endtoend/upgrade_test.sh index 5c2a8ab2..62602abb 100755 --- a/test/endtoend/upgrade_test.sh +++ b/test/endtoend/upgrade_test.sh @@ -271,7 +271,7 @@ checkSemiSyncSetup # Initially too durability policy should be specified verifyDurabilityPolicy "commerce" "semi_sync" upgradeToLatest -verifyVtGateVersion "23.0.0" +verifyVtGateVersion "24.0.0" verifyResourceSpec checkSemiSyncSetup # After upgrading, we verify that the durability policy is still semi_sync diff --git a/test/endtoend/vtorc_vtadmin_test.sh b/test/endtoend/vtorc_vtadmin_test.sh index 2c48f2e9..f02ce655 100755 --- a/test/endtoend/vtorc_vtadmin_test.sh +++ b/test/endtoend/vtorc_vtadmin_test.sh @@ -173,7 +173,7 @@ setupKindCluster cd test/endtoend/operator || exit 1 get_started_vtorc_vtadmin -verifyVtGateVersion "23.0.0" +verifyVtGateVersion "24.0.0" checkSemiSyncSetup # Check Vtadmin is setup From bdd43575e423a4b75db50ad1088dee0b045a0090 Mon Sep 17 00:00:00 2001 From: Matt Lord Date: Sat, 11 Oct 2025 21:40:39 +0000 Subject: [PATCH 10/11] Adjust tablet refresh flag for v22 until we're using v23->v24 Signed-off-by: Matt Lord --- test/endtoend/operator/101_initial_cluster.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/endtoend/operator/101_initial_cluster.yaml b/test/endtoend/operator/101_initial_cluster.yaml index e9dce22d..16a73ee4 100644 --- a/test/endtoend/operator/101_initial_cluster.yaml +++ b/test/endtoend/operator/101_initial_cluster.yaml @@ -32,7 +32,7 @@ spec: name: example-cluster-config key: users.json extraFlags: - tablet-refresh-interval: 10s + tablet_refresh_interval: 10s replicas: 1 resources: requests: From 07b414dc455aab9635b4d8f2d1d6b2ca0640504c Mon Sep 17 00:00:00 2001 From: Matt Lord Date: Thu, 16 Oct 2025 14:01:43 +0000 Subject: [PATCH 11/11] Revert flag changes. Make these changes in 2.17 instead. Signed-off-by: Matt Lord --- pkg/operator/vitessbackup/storage_azblob.go | 10 ++-- pkg/operator/vitessbackup/storage_ceph.go | 4 +- pkg/operator/vitessbackup/storage_file.go | 4 +- pkg/operator/vitessbackup/storage_gcs.go | 6 +- pkg/operator/vitessbackup/storage_s3.go | 14 ++--- pkg/operator/vtctld/deployment.go | 14 ++--- pkg/operator/vtgate/deployment.go | 46 +++++++-------- pkg/operator/vtorc/deployment.go | 8 +-- pkg/operator/vttablet/backup.go | 22 +++---- pkg/operator/vttablet/datastore.go | 48 ++++++++-------- pkg/operator/vttablet/flags.go | 64 ++++++++++----------- pkg/operator/vttablet/mysqlctld.go | 2 +- pkg/operator/vttablet/vtbackup_pod.go | 4 +- 13 files changed, 123 insertions(+), 123 deletions(-) diff --git a/pkg/operator/vitessbackup/storage_azblob.go b/pkg/operator/vitessbackup/storage_azblob.go index 89f0a0db..6ddbaf00 100644 --- a/pkg/operator/vitessbackup/storage_azblob.go +++ b/pkg/operator/vitessbackup/storage_azblob.go @@ -26,11 +26,11 @@ import ( func azblobBackupFlags(azblob *planetscalev2.AzblobBackupLocation, clusterName string) vitess.Flags { return vitess.Flags{ - "backup-storage-implementation": azblobBackupStorageImplementationName, - "azblob-backup-account-name": azblob.Account, - "azblob-backup-account-key-file": secrets.Mount(&azblob.AuthSecret, azblobAuthDirName).FilePath(), - "azblob-backup-container-name": azblob.Container, - "azblob-backup-storage-root": rootKeyPrefix(azblob.KeyPrefix, clusterName), + "backup_storage_implementation": azblobBackupStorageImplementationName, + "azblob_backup_account_name": azblob.Account, + "azblob_backup_account_key_file": secrets.Mount(&azblob.AuthSecret, azblobAuthDirName).FilePath(), + "azblob_backup_container_name": azblob.Container, + "azblob_backup_storage_root": rootKeyPrefix(azblob.KeyPrefix, clusterName), } } diff --git a/pkg/operator/vitessbackup/storage_ceph.go b/pkg/operator/vitessbackup/storage_ceph.go index 398a0fdc..4f5799ed 100644 --- a/pkg/operator/vitessbackup/storage_ceph.go +++ b/pkg/operator/vitessbackup/storage_ceph.go @@ -25,8 +25,8 @@ import ( func cephBackupFlags(ceph *planetscalev2.CephBackupLocation) vitess.Flags { flags := vitess.Flags{ - "backup-storage-implementation": cephBackupStorageImplementationName, - "ceph-backup-storage-config": secrets.Mount(&ceph.AuthSecret, cephAuthDirName).FilePath(), + "backup_storage_implementation": cephBackupStorageImplementationName, + "ceph_backup_storage_config": secrets.Mount(&ceph.AuthSecret, cephAuthDirName).FilePath(), } return flags } diff --git a/pkg/operator/vitessbackup/storage_file.go b/pkg/operator/vitessbackup/storage_file.go index 9c229a2b..2eeeb9b5 100644 --- a/pkg/operator/vitessbackup/storage_file.go +++ b/pkg/operator/vitessbackup/storage_file.go @@ -23,8 +23,8 @@ import ( func fileBackupFlags(clusterName string) vitess.Flags { return vitess.Flags{ - "backup-storage-implementation": fileBackupStorageImplementationName, - "file-backup-storage-root": rootKeyPrefix(fileBackupStorageMountPath, clusterName), + "backup_storage_implementation": fileBackupStorageImplementationName, + "file_backup_storage_root": rootKeyPrefix(fileBackupStorageMountPath, clusterName), } } diff --git a/pkg/operator/vitessbackup/storage_gcs.go b/pkg/operator/vitessbackup/storage_gcs.go index 5c3b3e24..9c0223b3 100644 --- a/pkg/operator/vitessbackup/storage_gcs.go +++ b/pkg/operator/vitessbackup/storage_gcs.go @@ -26,9 +26,9 @@ import ( func gcsBackupFlags(gcs *planetscalev2.GCSBackupLocation, clusterName string) vitess.Flags { return vitess.Flags{ - "backup-storage-implementation": gcsBackupStorageImplementationName, - "gcs-backup-storage-bucket": gcs.Bucket, - "gcs-backup-storage-root": rootKeyPrefix(gcs.KeyPrefix, clusterName), + "backup_storage_implementation": gcsBackupStorageImplementationName, + "gcs_backup_storage_bucket": gcs.Bucket, + "gcs_backup_storage_root": rootKeyPrefix(gcs.KeyPrefix, clusterName), } } diff --git a/pkg/operator/vitessbackup/storage_s3.go b/pkg/operator/vitessbackup/storage_s3.go index 50f800e1..adbfbc0c 100644 --- a/pkg/operator/vitessbackup/storage_s3.go +++ b/pkg/operator/vitessbackup/storage_s3.go @@ -26,19 +26,19 @@ import ( func s3BackupFlags(s3 *planetscalev2.S3BackupLocation, clusterName string) vitess.Flags { flags := vitess.Flags{ - "backup-storage-implementation": s3BackupStorageImplementationName, - "s3-backup-aws-region": s3.Region, - "s3-backup-storage-bucket": s3.Bucket, - "s3-backup-storage-root": rootKeyPrefix(s3.KeyPrefix, clusterName), - "s3-backup-force-path-style": s3.ForcePathStyle, + "backup_storage_implementation": s3BackupStorageImplementationName, + "s3_backup_aws_region": s3.Region, + "s3_backup_storage_bucket": s3.Bucket, + "s3_backup_storage_root": rootKeyPrefix(s3.KeyPrefix, clusterName), + "s3_backup_force_path_style": s3.ForcePathStyle, } if s3.MinPartSize > 0 { - flags["s3-backup-aws-min-partsize"] = s3.MinPartSize + flags["s3_backup_aws_min_partsize"] = s3.MinPartSize } if len(s3.Endpoint) > 0 { - flags["s3-backup-aws-endpoint"] = s3.Endpoint + flags["s3_backup_aws_endpoint"] = s3.Endpoint } return flags } diff --git a/pkg/operator/vtctld/deployment.go b/pkg/operator/vtctld/deployment.go index 04eb3dee..43b628ff 100644 --- a/pkg/operator/vtctld/deployment.go +++ b/pkg/operator/vtctld/deployment.go @@ -236,12 +236,12 @@ func (spec *Spec) flags() vitess.Flags { "cell": spec.Cell.Name, "port": planetscalev2.DefaultWebPort, - "grpc-port": planetscalev2.DefaultGrpcPort, - "service-map": serviceMap, + "grpc_port": planetscalev2.DefaultGrpcPort, + "service_map": serviceMap, - "topo-implementation": spec.GlobalLockserver.Implementation, - "topo-global-server-address": spec.GlobalLockserver.Address, - "topo-global-root": spec.GlobalLockserver.RootPath, + "topo_implementation": spec.GlobalLockserver.Implementation, + "topo_global_server_address": spec.GlobalLockserver.Address, + "topo_global_root": spec.GlobalLockserver.RootPath, "logtostderr": true, } @@ -249,11 +249,11 @@ func (spec *Spec) flags() vitess.Flags { return flags } flags = flags.Merge(vitess.Flags{ - "backup-engine-implementation": string(spec.BackupEngine), + "backup_engine_implementation": string(spec.BackupEngine), }) if spec.BackupEngine == planetscalev2.VitessBackupEngineXtraBackup { flags = flags.Merge(vitess.Flags{ - "backup-storage-compress": true, + "backup_storage_compress": true, }) } clusterName := spec.Labels[planetscalev2.ClusterLabel] diff --git a/pkg/operator/vtgate/deployment.go b/pkg/operator/vtgate/deployment.go index 03e08539..909b9eaa 100644 --- a/pkg/operator/vtgate/deployment.go +++ b/pkg/operator/vtgate/deployment.go @@ -267,26 +267,26 @@ func (spec *Spec) baseFlags() vitess.Flags { return vitess.Flags{ "cell": spec.Cell.Name, - "cells-to-watch": strings.Join(cellsToWatch, ","), - "tablet-types-to-wait": tabletTypesToWait, + "cells_to_watch": strings.Join(cellsToWatch, ","), + "tablet_types_to_wait": tabletTypesToWait, - "enable-buffer": bufferMasterTrafficDuringFailover, - "buffer-min-time-between-failovers": bufferMinTimeBetweenFailovers, - "buffer-max-failover-duration": bufferMaxFailoverDuration, - "buffer-size": bufferSize, + "enable_buffer": bufferMasterTrafficDuringFailover, + "buffer_min_time_between_failovers": bufferMinTimeBetweenFailovers, + "buffer_max_failover_duration": bufferMaxFailoverDuration, + "buffer_size": bufferSize, - "grpc-max-message-size": grpcMaxMessageSize, + "grpc_max_message_size": grpcMaxMessageSize, - "mysql-server-port": planetscalev2.DefaultMysqlPort, + "mysql_server_port": planetscalev2.DefaultMysqlPort, "logtostderr": true, - "topo-implementation": spec.Cell.GlobalLockserver.Implementation, - "topo-global-server-address": spec.Cell.GlobalLockserver.Address, - "topo-global-root": spec.Cell.GlobalLockserver.RootPath, + "topo_implementation": spec.Cell.GlobalLockserver.Implementation, + "topo_global_server_address": spec.Cell.GlobalLockserver.Address, + "topo_global_root": spec.Cell.GlobalLockserver.RootPath, - "service-map": serviceMap, + "service_map": serviceMap, "port": planetscalev2.DefaultWebPort, - "grpc-port": planetscalev2.DefaultGrpcPort, + "grpc_port": planetscalev2.DefaultGrpcPort, } } @@ -295,9 +295,9 @@ func updateAuth(spec *Spec, flags vitess.Flags, container *corev1.Container, pod staticAuthFile := secrets.Mount(spec.Authentication.Static.Secret, staticAuthDirName) // Get usernames and passwords from a static file, mounted from a Secret. - flags["mysql-auth-server-impl"] = "static" - flags["mysql-auth-server-static-file"] = staticAuthFile.FilePath() - flags["mysql-auth-static-reload-interval"] = "30s" + flags["mysql_auth_server_impl"] = "static" + flags["mysql_auth_server_static_file"] = staticAuthFile.FilePath() + flags["mysql_auth_static_reload_interval"] = "30s" // Add the volume to the Pod, if needed. update.Volumes(&podSpec.Volumes, staticAuthFile.PodVolumes()) @@ -321,12 +321,12 @@ func updateTransport(spec *Spec, flags vitess.Flags, container *corev1.Container // GRPC does not have an equivalent flag, // and all GRPC transport is required to be encrypted when certs are set. - flags["mysql-server-require-secure-transport"] = spec.SecureTransport.Required + flags["mysql_server_require_secure_transport"] = spec.SecureTransport.Required - flags["mysql-server-ssl-cert"] = tlsCertFile.FilePath() - flags["mysql-server-ssl-key"] = tlsKeyFile.FilePath() - flags["grpc-cert"] = tlsCertFile.FilePath() - flags["grpc-key"] = tlsKeyFile.FilePath() + flags["mysql_server_ssl_cert"] = tlsCertFile.FilePath() + flags["mysql_server_ssl_key"] = tlsKeyFile.FilePath() + flags["grpc_cert"] = tlsCertFile.FilePath() + flags["grpc_key"] = tlsKeyFile.FilePath() // Add the volumes to the Pod, if needed. update.Volumes(&podSpec.Volumes, tlsCertFile.PodVolumes()) @@ -341,8 +341,8 @@ func updateTransport(spec *Spec, flags vitess.Flags, container *corev1.Container if tls.ClientCACertSecret != nil { clientCACertFile := secrets.Mount(tls.ClientCACertSecret, tlsClientCACertDirName) - flags["mysql-server-ssl-ca"] = clientCACertFile.FilePath() - flags["grpc-ca"] = clientCACertFile.FilePath() + flags["mysql_server_ssl_ca"] = clientCACertFile.FilePath() + flags["grpc_ca"] = clientCACertFile.FilePath() update.Volumes(&podSpec.Volumes, clientCACertFile.PodVolumes()) diff --git a/pkg/operator/vtorc/deployment.go b/pkg/operator/vtorc/deployment.go index 610dd0fd..01332817 100644 --- a/pkg/operator/vtorc/deployment.go +++ b/pkg/operator/vtorc/deployment.go @@ -211,12 +211,12 @@ func UpdateDeployment(obj *appsv1.Deployment, spec *Spec) { func (spec *Spec) flags() vitess.Flags { return vitess.Flags{ - "topo-implementation": spec.GlobalLockserver.Implementation, - "topo-global-server-address": spec.GlobalLockserver.Address, - "topo-global-root": spec.GlobalLockserver.RootPath, + "topo_implementation": spec.GlobalLockserver.Implementation, + "topo_global_server_address": spec.GlobalLockserver.Address, + "topo_global_root": spec.GlobalLockserver.RootPath, "port": planetscalev2.DefaultWebPort, - "clusters-to-watch": spec.Keyspace + "/" + spec.Shard, + "clusters_to_watch": spec.Keyspace + "/" + spec.Shard, "logtostderr": true, } diff --git a/pkg/operator/vttablet/backup.go b/pkg/operator/vttablet/backup.go index 210b8f64..e5d3ab3e 100644 --- a/pkg/operator/vttablet/backup.go +++ b/pkg/operator/vttablet/backup.go @@ -28,12 +28,12 @@ import ( func xtrabackupFlags(backupThreads, restoreThreads int) vitess.Flags { flags := vitess.Flags{ - "xtrabackup-user": xtrabackupUser, - "xtrabackup-stream-mode": xtrabackupStreamMode, - "xtrabackup-stripes": xtrabackupStripeCount, - "xtrabackup-backup-flags": fmt.Sprintf("--parallel=%d", backupThreads), - "xbstream-restore-flags": fmt.Sprintf("--parallel=%d", restoreThreads), - "backup-storage-compress": true, + "xtrabackup_user": xtrabackupUser, + "xtrabackup_stream_mode": xtrabackupStreamMode, + "xtrabackup_stripes": xtrabackupStripeCount, + "xtrabackup_backup_flags": fmt.Sprintf("--parallel=%d", backupThreads), + "xbstream_restore_flags": fmt.Sprintf("--parallel=%d", restoreThreads), + "backup_storage_compress": true, } return flags @@ -55,10 +55,10 @@ func init() { return nil } flags := vitess.Flags{ - "restore-from-backup": true, - "restore-concurrency": restoreConcurrency, - "wait-for-backup-interval": waitForBackupInterval, - "backup-engine-implementation": string(spec.BackupEngine), + "restore_from_backup": true, + "restore_concurrency": restoreConcurrency, + "wait_for_backup_interval": waitForBackupInterval, + "backup_engine_implementation": string(spec.BackupEngine), } switch spec.BackupEngine { case planetscalev2.VitessBackupEngineXtraBackup: @@ -94,7 +94,7 @@ func init() { return nil } flags := vitess.Flags{ - "backup-engine-implementation": string(spec.BackupEngine), + "backup_engine_implementation": string(spec.BackupEngine), } if spec.BackupEngine == planetscalev2.VitessBackupEngineXtraBackup { // A vtbackup Pod is given the same resources as the mysqld diff --git a/pkg/operator/vttablet/datastore.go b/pkg/operator/vttablet/datastore.go index 1f63ceb8..21ce34d2 100644 --- a/pkg/operator/vttablet/datastore.go +++ b/pkg/operator/vttablet/datastore.go @@ -77,32 +77,32 @@ func datastoreFlags(spec *Spec) vitess.Flags { func localDatastoreFlags(spec *Spec) vitess.Flags { return vitess.Flags{ - "db-charset": spec.dbConfigCharset(), - "db-app-user": dbConfigAppUname, - "db-dba-user": dbConfigDbaUname, - "db-repl-user": dbConfigReplUname, - "db-filtered-user": dbConfigFilteredUname, + "db_charset": spec.dbConfigCharset(), + "db_app_user": dbConfigAppUname, + "db_dba_user": dbConfigDbaUname, + "db_repl_user": dbConfigReplUname, + "db_filtered_user": dbConfigFilteredUname, // Only in the case of local mysql do we want to use the vt_ prefix. - "init-db-name-override": spec.localDatabaseName(), + "init_db_name_override": spec.localDatabaseName(), - "enforce-strict-trans-tables": true, + "enforce_strict_trans_tables": true, // TODO: Should this be configurable? - "enable-replication-reporter": true, + "enable_replication_reporter": true, - "mysqlctl-socket": mysqlctlSocketPath, - "mycnf-socket-file": mysqlSocketPath, + "mysqlctl_socket": mysqlctlSocketPath, + "mycnf_socket_file": mysqlSocketPath, } } func externalDatastoreSSLCAFlags(spec *Spec) vitess.Flags { caCertFile := secrets.Mount(spec.ExternalDatastore.ServerCACertSecret, externalDatastoreCACertDirName) return vitess.Flags{ - "db-ssl-ca": caCertFile.FilePath(), + "db_ssl_ca": caCertFile.FilePath(), // TODO: See if this should be passed in rather than hard coded. - "db-flags": enableSSLBitflag, + "db_flags": enableSSLBitflag, } } @@ -111,21 +111,21 @@ func externalDatastoreFlags(spec *Spec) vitess.Flags { flags := vitess.Flags{ "unmanaged": true, - "restore-from-backup": false, - "db-app-user": spec.ExternalDatastore.User, - "db-appdebug-user": spec.ExternalDatastore.User, - "db-allprivs-user": spec.ExternalDatastore.User, - "db-dba-user": spec.ExternalDatastore.User, - "db-filtered-user": spec.ExternalDatastore.User, - "db-repl-user": spec.ExternalDatastore.User, + "restore_from_backup": false, + "db_app_user": spec.ExternalDatastore.User, + "db_appdebug_user": spec.ExternalDatastore.User, + "db_allprivs_user": spec.ExternalDatastore.User, + "db_dba_user": spec.ExternalDatastore.User, + "db_filtered_user": spec.ExternalDatastore.User, + "db_repl_user": spec.ExternalDatastore.User, "db-credentials-file": credentialsFile.FilePath(), - "db-host": spec.ExternalDatastore.Host, - "db-port": spec.ExternalDatastore.Port, - "init-db-name-override": spec.ExternalDatastore.Database, + "db_host": spec.ExternalDatastore.Host, + "db_port": spec.ExternalDatastore.Port, + "init_db_name_override": spec.ExternalDatastore.Database, - "enable-replication-reporter": false, + "enable_replication_reporter": false, - "enforce-strict-trans-tables": false, + "enforce_strict_trans_tables": false, } return flags diff --git a/pkg/operator/vttablet/flags.go b/pkg/operator/vttablet/flags.go index 6027d3c3..3201bb60 100644 --- a/pkg/operator/vttablet/flags.go +++ b/pkg/operator/vttablet/flags.go @@ -49,27 +49,27 @@ func init() { spec := s.(*Spec) return vitess.Flags{ "logtostderr": true, - "topo-implementation": spec.GlobalLockserver.Implementation, - "topo-global-server-address": spec.GlobalLockserver.Address, - "topo-global-root": spec.GlobalLockserver.RootPath, - "grpc-max-message-size": grpcMaxMessageSize, + "topo_implementation": spec.GlobalLockserver.Implementation, + "topo_global_server_address": spec.GlobalLockserver.Address, + "topo_global_root": spec.GlobalLockserver.RootPath, + "grpc_max_message_size": grpcMaxMessageSize, - "service-map": serviceMap, + "service_map": serviceMap, "port": planetscalev2.DefaultWebPort, - "grpc-port": planetscalev2.DefaultGrpcPort, + "grpc_port": planetscalev2.DefaultGrpcPort, "tablet-path": topoproto.TabletAliasString(&spec.Alias), // We inject the POD_IP environment variable up above via the Pod Downward API. // The Pod args list natively expands environment variables in this format, // so we don't need to use a shell to launch vttablet. - "tablet-hostname": "$(POD_IP)", + "tablet_hostname": "$(POD_IP)", - "init-keyspace": spec.KeyspaceName, - "init-shard": spec.KeyRange.String(), - "init-tablet-type": spec.Type.InitTabletType(), + "init_keyspace": spec.KeyspaceName, + "init_shard": spec.KeyRange.String(), + "init_tablet_type": spec.Type.InitTabletType(), - "health-check-interval": healthCheckInterval, + "health_check_interval": healthCheckInterval, "queryserver-config-max-result-size": queryserverConfigMaxResultSize, "queryserver-config-query-timeout": fmt.Sprintf("%ds", queryserverConfigQueryTimeout), @@ -85,13 +85,13 @@ func init() { dbInitScript := secrets.Mount(&spec.DatabaseInitScriptSecret, dbInitScriptDirName) return vitess.Flags{ "logtostderr": true, - "tablet-uid": spec.Alias.Uid, - "socket-file": mysqlctlSocketPath, - "mysql-socket": mysqlSocketPath, - "db-dba-user": dbConfigDbaUname, - "db-charset": spec.dbConfigCharset(), - "init-db-sql-file": dbInitScript.FilePath(), - "wait-time": mysqlctlWaitTime, + "tablet_uid": spec.Alias.Uid, + "socket_file": mysqlctlSocketPath, + "mysql_socket": mysqlSocketPath, + "db_dba_user": dbConfigDbaUname, + "db_charset": spec.dbConfigCharset(), + "init_db_sql_file": dbInitScript.FilePath(), + "wait_time": mysqlctlWaitTime, } }) @@ -115,27 +115,27 @@ func init() { return vitess.Flags{ // vtbackup-specific flags. "concurrency": vtbackupConcurrency, - "initial-backup": backupSpec.InitialBackup, - "min-backup-interval": backupSpec.MinBackupInterval, - "min-retention-time": backupSpec.MinRetentionTime, - "min-retention-count": backupSpec.MinRetentionCount, + "initial_backup": backupSpec.InitialBackup, + "min_backup_interval": backupSpec.MinBackupInterval, + "min_retention_time": backupSpec.MinRetentionTime, + "min_retention_count": backupSpec.MinRetentionCount, // Flags that are common to vttablet and mysqlctld. "logtostderr": true, - "topo-implementation": spec.GlobalLockserver.Implementation, - "topo-global-server-address": spec.GlobalLockserver.Address, - "topo-global-root": spec.GlobalLockserver.RootPath, + "topo_implementation": spec.GlobalLockserver.Implementation, + "topo_global_server_address": spec.GlobalLockserver.Address, + "topo_global_root": spec.GlobalLockserver.RootPath, - "init-keyspace": spec.KeyspaceName, - "init-shard": spec.KeyRange.String(), - "init-db-name-override": spec.localDatabaseName(), + "init_keyspace": spec.KeyspaceName, + "init_shard": spec.KeyRange.String(), + "init_db_name_override": spec.localDatabaseName(), - "db-dba-user": dbConfigDbaUname, - "db-charset": spec.dbConfigCharset(), + "db_dba_user": dbConfigDbaUname, + "db_charset": spec.dbConfigCharset(), - "init-db-sql-file": dbInitScript.FilePath(), + "init_db_sql_file": dbInitScript.FilePath(), - "mysql-socket": mysqlSocketPath, + "mysql_socket": mysqlSocketPath, } }) } diff --git a/pkg/operator/vttablet/mysqlctld.go b/pkg/operator/vttablet/mysqlctld.go index 36bd3b96..2fe12f56 100644 --- a/pkg/operator/vttablet/mysqlctld.go +++ b/pkg/operator/vttablet/mysqlctld.go @@ -38,7 +38,7 @@ fi mkdir -p /mnt/vt/vtdataroot ln -sf /dev/stderr /mnt/vt/config/stderr.symlink echo "log-error = /vt/config/stderr.symlink" > /mnt/vt/config/mycnf/log-error.cnf -echo "binlog-format=row" > /mnt/vt/config/mycnf/rbr.cnf +echo "binlog_format=row" > /mnt/vt/config/mycnf/rbr.cnf echo "socket = ` + mysqlSocketPath + `" > /mnt/vt/config/mycnf/socket.cnf ` diff --git a/pkg/operator/vttablet/vtbackup_pod.go b/pkg/operator/vttablet/vtbackup_pod.go index bb53a8e0..813257f9 100644 --- a/pkg/operator/vttablet/vtbackup_pod.go +++ b/pkg/operator/vttablet/vtbackup_pod.go @@ -43,8 +43,8 @@ else fi ln -sf /dev/stderr /mnt/vt/config/stderr.symlink echo "log-error = /vt/config/stderr.symlink" > /mnt/vt/config/mycnf/log-error.cnf -echo "binlog-format=row" > /mnt/vt/config/mycnf/rbr.cnf -echo -e "sync-binlog=0\ninnodb-flush-log-at-trx-commit=0" > /mnt/vt/config/mycnf/vtbackup.cnf +echo "binlog_format=row" > /mnt/vt/config/mycnf/rbr.cnf +echo -e "sync_binlog=0\ninnodb_flush_log_at_trx_commit=0" > /mnt/vt/config/mycnf/vtbackup.cnf mkdir -p /mnt/vt/certs cp --no-clobber /etc/ssl/certs/ca-certificates.crt /mnt/vt/certs/ echo "socket = ` + mysqlSocketPath + `" > /mnt/vt/config/mycnf/socket.cnf