Skip to content

Commit

Permalink
Merge pull request #597 from planetscale/bump-k8s-version
Browse files Browse the repository at this point in the history
Bump Kubernetes version to 1.31.0 and add CI matrix
  • Loading branch information
frouioui authored Sep 3, 2024
2 parents e6d6fe9 + 4553a5e commit c85f611
Show file tree
Hide file tree
Showing 29 changed files with 754 additions and 525 deletions.
211 changes: 121 additions & 90 deletions .buildkite/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,100 +4,131 @@ agents:
env:
GO_VERSION_FILE: "go1.23.0.linux-amd64.tar.gz"


# Mount the docker.sock as to the docker container, so that we are able to
# run docker build command and kind is spawned as a sibling container.
steps:
- name: "Upgrade Test"
command:
- apk add g++ make bash gcompat curl mysql mysql-client libc6-compat
- wget https://golang.org/dl/$GO_VERSION_FILE
- tar -C /usr/local -xzf $GO_VERSION_FILE
- export PATH=$PATH:/usr/local/go/bin
- rm $GO_VERSION_FILE
- ln -s /lib/libc.so.6 /usr/lib/libresolv.so.2
- make upgrade-test
concurrency: 1
concurrency_group: 'vtop/upgrade-downgrade-test'
timeout_in_minutes: 60
plugins:
- docker#v3.12.0:
image: "docker:latest"
propagate-environment: true
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
- group: "Upgrade Test"
steps:
- label: "Upgrade Test {{matrix}}"
matrix:
- "1.31.0"
- "1.30.4"
- "1.29.8"
command:
- apk add g++ make bash gcompat curl mysql mysql-client libc6-compat
- wget https://golang.org/dl/$GO_VERSION_FILE
- tar -C /usr/local -xzf $GO_VERSION_FILE
- export PATH=$PATH:/usr/local/go/bin
- rm $GO_VERSION_FILE
- ln -s /lib/libc.so.6 /usr/lib/libresolv.so.2
- K8S_VERSION={{matrix}} make upgrade-test
concurrency: 1
concurrency_group: 'vtop/upgrade-downgrade-test'
timeout_in_minutes: 60
plugins:
- docker#v3.12.0:
image: "docker:latest"
propagate-environment: true
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"

- name: "Backup Restore Test"
command:
- apk add g++ make bash gcompat curl mysql mysql-client libc6-compat
- wget https://golang.org/dl/$GO_VERSION_FILE
- tar -C /usr/local -xzf $GO_VERSION_FILE
- export PATH=$PATH:/usr/local/go/bin
- rm $GO_VERSION_FILE
- ln -s /lib/libc.so.6 /usr/lib/libresolv.so.2
- make backup-restore-test
concurrency: 1
concurrency_group: 'vtop/backup-restore-test'
timeout_in_minutes: 60
plugins:
- docker#v3.12.0:
image: "docker:latest"
propagate-environment: true
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
- group: "Backup Restore Test"
steps:
- label: "Backup Restore Test {{matrix}}"
matrix:
- "1.31.0"
- "1.30.4"
- "1.29.8"
command:
- apk add g++ make bash gcompat curl mysql mysql-client libc6-compat
- wget https://golang.org/dl/$GO_VERSION_FILE
- tar -C /usr/local -xzf $GO_VERSION_FILE
- export PATH=$PATH:/usr/local/go/bin
- rm $GO_VERSION_FILE
- ln -s /lib/libc.so.6 /usr/lib/libresolv.so.2
- K8S_VERSION={{matrix}} make backup-restore-test
concurrency: 1
concurrency_group: 'vtop/backup-restore-test'
timeout_in_minutes: 60
plugins:
- docker#v3.12.0:
image: "docker:latest"
propagate-environment: true
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"

- name: "Backup Schedule Test"
command:
- apk add g++ make bash gcompat curl mysql mysql-client libc6-compat
- wget https://golang.org/dl/$GO_VERSION_FILE
- tar -C /usr/local -xzf $GO_VERSION_FILE
- export PATH=$PATH:/usr/local/go/bin
- rm $GO_VERSION_FILE
- ln -s /lib/libc.so.6 /usr/lib/libresolv.so.2
- make backup-schedule-test
concurrency: 1
concurrency_group: 'vtop/backup-schedule-test'
timeout_in_minutes: 60
plugins:
- docker#v3.12.0:
image: "docker:latest"
propagate-environment: true
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
- group: "Backup Schedule Test"
steps:
- name: "Backup Schedule Test {{matrix}}"
matrix:
- "1.31.0"
- "1.30.4"
- "1.29.8"
command:
- apk add g++ make bash gcompat curl mysql mysql-client libc6-compat
- wget https://golang.org/dl/$GO_VERSION_FILE
- tar -C /usr/local -xzf $GO_VERSION_FILE
- export PATH=$PATH:/usr/local/go/bin
- rm $GO_VERSION_FILE
- ln -s /lib/libc.so.6 /usr/lib/libresolv.so.2
- K8S_VERSION={{matrix}} make backup-schedule-test
concurrency: 1
concurrency_group: 'vtop/backup-schedule-test'
timeout_in_minutes: 60
plugins:
- docker#v3.12.0:
image: "docker:latest"
propagate-environment: true
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"

- name: "VTOrc and VTAdmin Test"
command:
- apk add g++ make bash gcompat curl mysql mysql-client libc6-compat chromium
- wget https://golang.org/dl/$GO_VERSION_FILE
- tar -C /usr/local -xzf $GO_VERSION_FILE
- export PATH=$PATH:/usr/local/go/bin
- rm $GO_VERSION_FILE
- ln -s /lib/libc.so.6 /usr/lib/libresolv.so.2
- make vtorc-vtadmin-test
concurrency: 1
concurrency_group: 'vtop/vtorc-vtadmin-test'
timeout_in_minutes: 60
plugins:
- docker#v3.12.0:
image: "docker:latest"
propagate-environment: true
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
- group: "VTOrc and VTAdmin Test"
steps:
- label: "VTOrc and VTAdmin Test {{matrix}}"
matrix:
- "1.31.0"
- "1.30.4"
- "1.29.8"
command:
- apk add g++ make bash gcompat curl mysql mysql-client libc6-compat chromium
- wget https://golang.org/dl/$GO_VERSION_FILE
- tar -C /usr/local -xzf $GO_VERSION_FILE
- export PATH=$PATH:/usr/local/go/bin
- rm $GO_VERSION_FILE
- ln -s /lib/libc.so.6 /usr/lib/libresolv.so.2
- K8S_VERSION={{matrix}} make vtorc-vtadmin-test
concurrency: 1
concurrency_group: 'vtop/vtorc-vtadmin-test'
timeout_in_minutes: 60
plugins:
- docker#v3.12.0:
image: "docker:latest"
propagate-environment: true
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"

- name: "Unmanaged Tablet Test"
command:
- apk add g++ make bash gcompat curl mysql mysql-client libc6-compat chromium
- wget https://golang.org/dl/$GO_VERSION_FILE
- tar -C /usr/local -xzf $GO_VERSION_FILE
- export PATH=$PATH:/usr/local/go/bin
- rm $GO_VERSION_FILE
- ln -s /lib/libc.so.6 /usr/lib/libresolv.so.2
- make unmanaged-tablet-test
concurrency: 1
concurrency_group: 'vtop/unmanaged-tablet-test'
timeout_in_minutes: 60
plugins:
- docker#v3.12.0:
image: "docker:latest"
propagate-environment: true
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
- group: "Unmanaged Tablet Test"
steps:
- label: "Unmanaged Tablet Test {{matrix}}"
matrix:
- "1.31.0"
- "1.30.4"
- "1.29.8"
command:
- apk add g++ make bash gcompat curl mysql mysql-client libc6-compat chromium
- wget https://golang.org/dl/$GO_VERSION_FILE
- tar -C /usr/local -xzf $GO_VERSION_FILE
- export PATH=$PATH:/usr/local/go/bin
- rm $GO_VERSION_FILE
- ln -s /lib/libc.so.6 /usr/lib/libresolv.so.2
- K8S_VERSION={{matrix}} make unmanaged-tablet-test
concurrency: 1
concurrency_group: 'vtop/unmanaged-tablet-test'
timeout_in_minutes: 60
plugins:
- docker#v3.12.0:
image: "docker:latest"
propagate-environment: true
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
7 changes: 6 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,18 @@ compatible with certain Vitess and Kubernetes versions, as shown in this table:
| `v2.11.*` | `v18.0.*` | `v1.22.*`, `v1.23.*`, `v1.24.*`, or `v1.25.*` |
| `v2.12.*` | `v19.0.*` | `v1.25.*`, `v1.26.*`, `v1.27.*`, or `v1.28.*` |
| `v2.13.*` | `v20.0.*` | `v1.25.*`, `v1.26.*`, `v1.27.*`, or `v1.28.*` |
| `latest` | `latest` | `v1.25.*`, `v1.26.*`, `v1.27.*`, or `v1.28.*` |
| `latest` | `latest` | `v1.29.*`, `v1.30.*`, `v1.31.*` |

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.
However, in some cases we may be unable to overcome the underlying limitations
in our dependencies.

Each major release of the vitess-operator will support the three latest major releases of Kubernetes at the time
of the vitess-operator's major release RC-1. This will ensure that the major release of the vitess-operator will
always support at least one major release of Kubernetes for its whole lifetime (1 year).
More information about the release cycle of vitess-operator in the following section.

### Release Cycle

For each major release of Vitess there will be a minor release of the vitess-operator.
Expand Down
27 changes: 13 additions & 14 deletions deploy/crds/planetscale.com_etcdlockservers.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.11.3
creationTimestamp: null
controller-gen.kubebuilder.io/version: v0.16.1
name: etcdlockservers.planetscale.com
spec:
group: planetscale.com
Expand Down Expand Up @@ -62,6 +61,7 @@ spec:
items:
type: string
type: array
x-kubernetes-list-type: atomic
dataSource:
properties:
apiGroup:
Expand Down Expand Up @@ -91,18 +91,6 @@ spec:
type: object
resources:
properties:
claims:
items:
properties:
name:
type: string
required:
- name
type: object
type: array
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
limits:
additionalProperties:
anyOf:
Expand Down Expand Up @@ -133,11 +121,13 @@ spec:
items:
type: string
type: array
x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
Expand All @@ -146,6 +136,8 @@ spec:
x-kubernetes-map-type: atomic
storageClassName:
type: string
volumeAttributesClassName:
type: string
volumeMode:
type: string
volumeName:
Expand All @@ -165,6 +157,7 @@ spec:
key:
type: string
name:
default: ""
type: string
optional:
type: boolean
Expand Down Expand Up @@ -203,6 +196,7 @@ spec:
key:
type: string
name:
default: ""
type: string
optional:
type: boolean
Expand Down Expand Up @@ -234,6 +228,8 @@ spec:
type: string
readOnly:
type: boolean
recursiveReadOnly:
type: string
subPath:
type: string
subPathExpr:
Expand All @@ -253,6 +249,7 @@ spec:
items:
properties:
name:
default: ""
type: string
type: object
x-kubernetes-map-type: atomic
Expand Down Expand Up @@ -280,6 +277,8 @@ spec:
properties:
name:
type: string
request:
type: string
required:
- name
type: object
Expand Down
3 changes: 1 addition & 2 deletions deploy/crds/planetscale.com_vitessbackups.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.11.3
creationTimestamp: null
controller-gen.kubebuilder.io/version: v0.16.1
name: vitessbackups.planetscale.com
spec:
group: planetscale.com
Expand Down
5 changes: 3 additions & 2 deletions deploy/crds/planetscale.com_vitessbackupschedules.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.11.3
creationTimestamp: null
controller-gen.kubebuilder.io/version: v0.16.1
name: vitessbackupschedules.planetscale.com
spec:
group: planetscale.com
Expand Down Expand Up @@ -69,6 +68,8 @@ spec:
properties:
name:
type: string
request:
type: string
required:
- name
type: object
Expand Down
3 changes: 1 addition & 2 deletions deploy/crds/planetscale.com_vitessbackupstorages.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.11.3
creationTimestamp: null
controller-gen.kubebuilder.io/version: v0.16.1
name: vitessbackupstorages.planetscale.com
spec:
group: planetscale.com
Expand Down
Loading

0 comments on commit c85f611

Please sign in to comment.