From 0efb5e92aba22f428902847893ace63913b96933 Mon Sep 17 00:00:00 2001 From: Derek Su Date: Sat, 5 Oct 2024 22:28:31 +0800 Subject: [PATCH] Revert "e2e: confirm the cleanup of PVs with legacy affinity attributes" This reverts commit 59a15da27280a4a487a8755d0e5d12ad4a84dbc1. --- test/pod_test.go | 51 +++++++------------ test/testdata/kind-cluster.yaml | 4 -- .../pod-with-node-affinity/patch.yaml | 2 +- .../kustomization.yaml | 10 ---- test/testdata/pv-with-legacy-affinity/pv.yaml | 38 -------------- test/util.go | 2 +- 6 files changed, 21 insertions(+), 86 deletions(-) delete mode 100644 test/testdata/pv-with-legacy-affinity/kustomization.yaml delete mode 100644 test/testdata/pv-with-legacy-affinity/pv.yaml diff --git a/test/pod_test.go b/test/pod_test.go index cf040529c..ed52ca36e 100644 --- a/test/pod_test.go +++ b/test/pod_test.go @@ -82,38 +82,38 @@ func TestPVCTestSuite(t *testing.T) { func (p *PodTestSuite) TestPodWithHostPathVolume() { p.kustomizeDir = "pod" - runTest(p, []string{p.config.IMAGE}, waitCondition("ready"), hostPathVolumeType) + runTest(p, []string{p.config.IMAGE}, "ready", hostPathVolumeType) } func (p *PodTestSuite) TestPodWithLocalVolume() { p.kustomizeDir = "pod-with-local-volume" - runTest(p, []string{p.config.IMAGE}, waitCondition("ready"), localVolumeType) + runTest(p, []string{p.config.IMAGE}, "ready", localVolumeType) } func (p *PodTestSuite) TestPodWithLocalVolumeDefault() { p.kustomizeDir = "pod-with-default-local-volume" - runTest(p, []string{p.config.IMAGE}, waitCondition("ready"), localVolumeType) + runTest(p, []string{p.config.IMAGE}, "ready", localVolumeType) } func (p *PodTestSuite) TestPodWithNodeAffinity() { p.kustomizeDir = "pod-with-node-affinity" - runTest(p, []string{p.config.IMAGE}, waitCondition("ready"), hostPathVolumeType) + runTest(p, []string{p.config.IMAGE}, "ready", hostPathVolumeType) } func (p *PodTestSuite) TestPodWithRWOPVolume() { p.kustomizeDir = "pod-with-rwop-volume" - runTest(p, []string{p.config.IMAGE}, waitCondition("ready"), localVolumeType) + runTest(p, []string{p.config.IMAGE}, "ready", localVolumeType) } func (p *PodTestSuite) TestPodWithSecurityContext() { p.kustomizeDir = "pod-with-security-context" kustomizeDir := testdataFile(p.kustomizeDir) - runTest(p, []string{p.config.IMAGE}, waitCondition("podscheduled"), hostPathVolumeType) + runTest(p, []string{p.config.IMAGE}, "podscheduled", hostPathVolumeType) cmd := fmt.Sprintf(`kubectl get pod -l %s=%s -o=jsonpath='{.items[0].status.conditions[?(@.type=="Ready")].reason}'`, LabelKey, LabelValue) @@ -142,33 +142,22 @@ loop: func (p *PodTestSuite) TestPodWithSubpath() { p.kustomizeDir = "pod-with-subpath" - runTest(p, []string{p.config.IMAGE}, waitCondition("ready"), hostPathVolumeType) + runTest(p, []string{p.config.IMAGE}, "ready", hostPathVolumeType) } func (p *PodTestSuite) xxTestPodWithMultipleStorageClasses() { p.kustomizeDir = "multiple-storage-classes" - runTest(p, []string{p.config.IMAGE}, waitCondition("ready"), hostPathVolumeType) + runTest(p, []string{p.config.IMAGE}, "ready", hostPathVolumeType) } func (p *PodTestSuite) TestPodWithCustomPathPatternStorageClasses() { p.kustomizeDir = "custom-path-pattern" - runTest(p, []string{p.config.IMAGE}, waitCondition("ready"), hostPathVolumeType) + runTest(p, []string{p.config.IMAGE}, "ready", hostPathVolumeType) } -func (p *PodTestSuite) TestPodWithLegacyAffinityConstraint() { - // The helper pod should be correctly scheduled - p.kustomizeDir = "pv-with-legacy-affinity" - - runTest(p, []string{p.config.IMAGE}, "kubectl wait pv pvc-to-clean-up --for delete --timeout=120s", "") -} - -func waitCondition(waitCondition string) string { - return fmt.Sprintf("kubectl wait pod -l %s=%s --for condition=%s --timeout=120s", LabelKey, LabelValue, waitCondition) -} - -func runTest(p *PodTestSuite, images []string, waitCmd, volumeType string) { +func runTest(p *PodTestSuite, images []string, waitCondition, volumeType string) { kustomizeDir := testdataFile(p.kustomizeDir) var cmds []string @@ -182,7 +171,7 @@ func runTest(p *PodTestSuite, images []string, waitCmd, volumeType string) { cmds, fmt.Sprintf("kustomize edit add label %s:%s -f", LabelKey, LabelValue), "kustomize build | kubectl apply -f -", - waitCmd, + fmt.Sprintf("kubectl wait pod -l %s=%s --for condition=%s --timeout=120s", LabelKey, LabelValue, waitCondition), ) for _, cmd := range cmds { @@ -199,15 +188,13 @@ func runTest(p *PodTestSuite, images []string, waitCmd, volumeType string) { } } - if volumeType != "" { - typeCheckCmd := fmt.Sprintf("kubectl get pv $(%s) -o jsonpath='{.spec.%s}'", "kubectl get pv -o jsonpath='{.items[0].metadata.name}'", volumeType) - c := createCmd(p.T(), typeCheckCmd, kustomizeDir, p.config.envs(), nil) - typeCheckOutput, err := c.CombinedOutput() - if err != nil { - p.FailNow("", "failed to check volume type: %v", err) - } - if len(typeCheckOutput) == 0 || !strings.Contains(string(typeCheckOutput), "path") { - p.FailNow("volume Type not correct") - } + typeCheckCmd := fmt.Sprintf("kubectl get pv $(%s) -o jsonpath='{.spec.%s}'", "kubectl get pv -o jsonpath='{.items[0].metadata.name}'", volumeType) + c := createCmd(p.T(), typeCheckCmd, kustomizeDir, p.config.envs(), nil) + typeCheckOutput, err := c.CombinedOutput() + if err != nil { + p.FailNow("", "failed to check volume type: %v", err) + } + if len(typeCheckOutput) == 0 || !strings.Contains(string(typeCheckOutput), "path") { + p.FailNow("volume Type not correct") } } diff --git a/test/testdata/kind-cluster.yaml b/test/testdata/kind-cluster.yaml index 9d1fb8ace..5d48018e1 100644 --- a/test/testdata/kind-cluster.yaml +++ b/test/testdata/kind-cluster.yaml @@ -3,8 +3,4 @@ kind: Cluster nodes: - role: control-plane - role: worker - labels: - kubernetes.io/hostname: kind-worker1.hostname - role: worker - labels: - kubernetes.io/hostname: kind-worker2.hostname diff --git a/test/testdata/pod-with-node-affinity/patch.yaml b/test/testdata/pod-with-node-affinity/patch.yaml index efbf3d19a..204d775d3 100644 --- a/test/testdata/pod-with-node-affinity/patch.yaml +++ b/test/testdata/pod-with-node-affinity/patch.yaml @@ -11,4 +11,4 @@ spec: - key: kubernetes.io/hostname operator: In values: - - kind-worker1.hostname + - kind-worker diff --git a/test/testdata/pv-with-legacy-affinity/kustomization.yaml b/test/testdata/pv-with-legacy-affinity/kustomization.yaml deleted file mode 100644 index b0f1729c7..000000000 --- a/test/testdata/pv-with-legacy-affinity/kustomization.yaml +++ /dev/null @@ -1,10 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -resources: -- ../../../deploy -- pv.yaml -commonLabels: - app: local-path-provisioner -images: -- name: rancher/local-path-provisioner - newTag: dev \ No newline at end of file diff --git a/test/testdata/pv-with-legacy-affinity/pv.yaml b/test/testdata/pv-with-legacy-affinity/pv.yaml deleted file mode 100644 index e13781c27..000000000 --- a/test/testdata/pv-with-legacy-affinity/pv.yaml +++ /dev/null @@ -1,38 +0,0 @@ -apiVersion: v1 -kind: PersistentVolume -metadata: - annotations: - local.path.provisioner/selected-node: kind-worker - pv.kubernetes.io/provisioned-by: rancher.io/local-path - finalizers: - - kubernetes.io/pv-protection - labels: - test/avoid-cleanup: "true" - name: pvc-to-clean-up -spec: - accessModes: - - ReadWriteOnce - capacity: - storage: 100Mi - hostPath: - path: /opt/local-path-provisioner/default/local-path-pvc - type: DirectoryOrCreate - nodeAffinity: - required: - nodeSelectorTerms: - - matchExpressions: - - key: kubernetes.io/hostname - operator: In - values: - - kind-worker1.hostname - claimRef: - apiVersion: v1 - kind: PersistentVolumeClaim - name: no-such-pvc - namespace: default - # The PVC "definitely doesn't exist any more" - resourceVersion: "1" - uid: 12345678-1234-5678-9abc-123456789abc - persistentVolumeReclaimPolicy: Delete - storageClassName: local-path-custom-path-pattern - volumeMode: Filesystem diff --git a/test/util.go b/test/util.go index b20cebef7..7aedec0b6 100644 --- a/test/util.go +++ b/test/util.go @@ -78,7 +78,7 @@ func testdataFile(fields ...string) string { func deleteKustomizeDeployment(t *testing.T, kustomizeDir string, envs []string) error { _, err := runCmd( t, - "kustomize build | kubectl delete --timeout=180s -f - -l 'test/avoid-cleanup!=true'", + "kustomize build | kubectl delete --timeout=180s -f -", testdataFile(kustomizeDir), envs, nil,