mirror of https://github.com/k3s-io/k3s
Add e2e test for removing the subpath directory
parent
f33d5d3b05
commit
6279515914
|
@ -22,7 +22,7 @@ import (
|
|||
"regexp"
|
||||
"strings"
|
||||
|
||||
"k8s.io/api/core/v1"
|
||||
v1 "k8s.io/api/core/v1"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/util/rand"
|
||||
"k8s.io/apimachinery/pkg/util/wait"
|
||||
|
@ -377,6 +377,32 @@ func testSubPath(input *subPathTestInput) {
|
|||
// Pod should fail
|
||||
testPodFailSubpath(input.f, input.pod, true)
|
||||
})
|
||||
|
||||
It("should be able to unmount after the subpath directory is deleted", func() {
|
||||
// Change volume container to busybox so we can exec later
|
||||
input.pod.Spec.Containers[1].Image = imageutils.GetE2EImage(imageutils.BusyBox)
|
||||
input.pod.Spec.Containers[1].Command = []string{"/bin/sh", "-ec", "sleep 100000"}
|
||||
|
||||
By(fmt.Sprintf("Creating pod %s", input.pod.Name))
|
||||
pod, err := input.f.ClientSet.CoreV1().Pods(input.f.Namespace.Name).Create(input.pod)
|
||||
Expect(err).ToNot(HaveOccurred(), "while creating pod")
|
||||
defer func() {
|
||||
By(fmt.Sprintf("Deleting pod %s", pod.Name))
|
||||
framework.DeletePodWithWait(input.f, input.f.ClientSet, pod)
|
||||
}()
|
||||
|
||||
// Wait for pod to be running
|
||||
err = framework.WaitForPodRunningInNamespace(input.f.ClientSet, pod)
|
||||
Expect(err).ToNot(HaveOccurred(), "while waiting for pod to be running")
|
||||
|
||||
// Exec into container that mounted the volume, delete subpath directory
|
||||
rmCmd := fmt.Sprintf("rm -rf %s", input.subPathDir)
|
||||
_, err = podContainerExec(pod, 1, rmCmd)
|
||||
Expect(err).ToNot(HaveOccurred(), "while removing subpath directory")
|
||||
|
||||
// Delete pod (from defer) and wait for it to be successfully deleted
|
||||
})
|
||||
|
||||
// TODO: add a test case for the same disk with two partitions
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue