diff --git a/.github/workflows/test_e2e.yml b/.github/workflows/test_e2e.yml index 536f4dbef4ff4f6cd02b232ee270a75ae9f7a1d3..6be487f8c8a644e38c4c253fca23ba412af1a3ff 100644 --- a/.github/workflows/test_e2e.yml +++ b/.github/workflows/test_e2e.yml @@ -6,7 +6,7 @@ jobs: runs-on: self-hosted strategy: matrix: - k8s: [ k8s-1.22.15, k8s-1.23.13, k8s-1.24.7, k8s-1.25.3 ] + k8s: [ k8s-1.23.15, k8s-1.24.9, k8s-1.25.5, k8s-1.26.0 ] name: k8s ${{ matrix.k8s }} steps: - uses: actions/setup-go@v2 diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index eaaadd98f12dfde089343baedf3134789209c064..c3754889e02298d80bad76d83cae45d8d5710c3f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -5,7 +5,7 @@ include: stages: - test - - E2E + - e2e-test - build - release @@ -22,34 +22,15 @@ unit: - hc-bladerunner -.k8se2e: &k8se2e +e2e: image: docker:git - stage: E2E - variables: - K8S_VERSION: k8s-1.17.14 + stage: e2e-test + parallel: + matrix: + - K8S_VERSION: [ k8s-1.23.15, k8s-1.24.9, k8s-1.25.5, k8s-1.26.0 ] before_script: - apk add --no-cache git make musl-dev go script: - go test $(go list ./... | grep e2etests) -v -timeout 60m tags: - hc-bladerunner-build - -k8s 1.22: - <<: *k8se2e - variables: - K8S_VERSION: k8s-1.22.15 - -k8s 1.23: - <<: *k8se2e - variables: - K8S_VERSION: k8s-1.23.13 - -k8s 1.24: - <<: *k8se2e - variables: - K8S_VERSION: k8s-1.24.7 - -k8s 1.25: - <<: *k8se2e - variables: - K8S_VERSION: k8s-1.25.3 \ No newline at end of file diff --git a/README.md b/README.md index 67443fec1103bcf517dd1549817d3cbbd1b5c07f..9f750a437d3f6c3214353f40275d57ddd22d18d6 100644 --- a/README.md +++ b/README.md @@ -179,6 +179,7 @@ related only to an unsupported version. | Kubernetes | CSI Driver | Deployment File | | ---------- | ---------: | ------------------------------------------------------------------------------------------------: | +| 1.26 | 2.1.0 | https://raw.githubusercontent.com/hetznercloud/csi-driver/v2.1.0/deploy/kubernetes/hcloud-csi.yml | | 1.25 | 2.1.0 | https://raw.githubusercontent.com/hetznercloud/csi-driver/v2.1.0/deploy/kubernetes/hcloud-csi.yml | | 1.24 | 2.1.0 | https://raw.githubusercontent.com/hetznercloud/csi-driver/v2.1.0/deploy/kubernetes/hcloud-csi.yml | | 1.23 | 2.1.0 | https://raw.githubusercontent.com/hetznercloud/csi-driver/v2.1.0/deploy/kubernetes/hcloud-csi.yml | diff --git a/e2etests/e2e_test.go b/e2etests/e2e_test.go index 4c1657eed1f33a74d347d815365918279a560cc1..2d7124cf5132f51e222df61e4f3fab44bfad0c49 100644 --- a/e2etests/e2e_test.go +++ b/e2etests/e2e_test.go @@ -25,13 +25,19 @@ func TestMain(m *testing.M) { func TestOfficialTestsuite(t *testing.T) { t.Run("parallel tests", func(t *testing.T) { - err := RunCommandVisibleOnServer(testCluster.setup.privKey, testCluster.setup.MainNode, fmt.Sprintf("KUBECONFIG=/root/.kube/config ./ginkgo -nodes=6 -v -focus='External.Storage' -skip='\\[Feature:|\\[Disruptive\\]|\\[Serial\\]' ./e2e.test -- -storage.testdriver=test-driver.yml")) + err := RunCommandVisibleOnServer(testCluster.setup.privKey, testCluster.setup.MainNode, "KUBECONFIG=/root/.kube/config ./ginkgo -nodes=6 -v -focus='External.Storage' -skip='\\[Feature:|\\[Disruptive\\]|\\[Serial\\]' ./e2e.test -- -storage.testdriver=test-driver.yml") if err != nil { t.Error(err) } }) t.Run("serial tests", func(t *testing.T) { - err := RunCommandVisibleOnServer(testCluster.setup.privKey, testCluster.setup.MainNode, fmt.Sprintf("KUBECONFIG=/root/.kube/config ./ginkgo -v -focus='External.Storage.*(\\[Feature:|\\[Serial\\])' ./e2e.test -- -storage.testdriver=test-driver.yml")) + // Tests tagged as "Feature:SELinuxMountReadWriteOncePod" were added in + // Kubernetes v1.26, and fail for us because we do not support the + // SINGLE_NODE_MULTI_WRITER Capability (equivalent to ReadWriteOncePod + // Volume Access Mode in Kubernetes). + // This feature is being tracked in https://github.com/hetznercloud/csi-driver/issues/327 + // and we should add the tests once we have implemented the capability. + err := RunCommandVisibleOnServer(testCluster.setup.privKey, testCluster.setup.MainNode, "KUBECONFIG=/root/.kube/config ./ginkgo -v -focus='External.Storage.*(\\[Feature:|\\[Serial\\])' -skip='\\[Feature:SELinuxMountReadWriteOncePod\\]' ./e2e.test -- -storage.testdriver=test-driver.yml") if err != nil { t.Error(err) }