mirror of https://github.com/k3s-io/k3s
Moved func WaitForPersistentVolumeClaimBeRemoved Among Other WaitFor Functions
It's better to have all WaitFor functions in the same location even though the func WaitForPersistentVolumeClaimBeRemoved is used only in one file. This was requested in [1]. [1] https://github.com/kubernetes/kubernetes/pull/56931#discussion_r156724019pull/6/head
parent
c9c6901303
commit
d2be1ebb5f
|
@ -5118,3 +5118,19 @@ func waitForServerPreferredNamespacedResources(d discovery.DiscoveryInterface, t
|
||||||
}
|
}
|
||||||
return resources, nil
|
return resources, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// WaitForPersistentVolumeClaimBeRemoved waits for a PersistentVolumeClaim to be removed from the system until timeout occurs, whichever comes first.
|
||||||
|
func WaitForPersistentVolumeClaimBeRemoved(c clientset.Interface, ns string, pvcName string, Poll, timeout time.Duration) error {
|
||||||
|
Logf("Waiting up to %v for PersistentVolumeClaim %s to be removed", timeout, pvcName)
|
||||||
|
for start := time.Now(); time.Since(start) < timeout; time.Sleep(Poll) {
|
||||||
|
_, err := c.CoreV1().PersistentVolumeClaims(ns).Get(pvcName, metav1.GetOptions{})
|
||||||
|
if err != nil {
|
||||||
|
if apierrs.IsNotFound(err) {
|
||||||
|
Logf("Claim %q in namespace %q doesn't exist in the system", pvcName, ns)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
Logf("Failed to get claim %q in namespace %q, retrying in %v. Error: %v", pvcName, ns, Poll, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return fmt.Errorf("PersistentVolumeClaim %s is not removed from the system within %v", pvcName, timeout)
|
||||||
|
}
|
||||||
|
|
|
@ -17,14 +17,10 @@ limitations under the License.
|
||||||
package storage
|
package storage
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
|
||||||
"time"
|
|
||||||
|
|
||||||
. "github.com/onsi/ginkgo"
|
. "github.com/onsi/ginkgo"
|
||||||
. "github.com/onsi/gomega"
|
. "github.com/onsi/gomega"
|
||||||
|
|
||||||
"k8s.io/api/core/v1"
|
"k8s.io/api/core/v1"
|
||||||
apierrs "k8s.io/apimachinery/pkg/api/errors"
|
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
clientset "k8s.io/client-go/kubernetes"
|
clientset "k8s.io/client-go/kubernetes"
|
||||||
"k8s.io/kubernetes/pkg/util/slice"
|
"k8s.io/kubernetes/pkg/util/slice"
|
||||||
|
@ -80,7 +76,7 @@ var _ = utils.SIGDescribe("PVC Protection [Feature:PVCProtection]", func() {
|
||||||
By("Deleting the PVC")
|
By("Deleting the PVC")
|
||||||
err = client.CoreV1().PersistentVolumeClaims(pvc.Namespace).Delete(pvc.Name, metav1.NewDeleteOptions(0))
|
err = client.CoreV1().PersistentVolumeClaims(pvc.Namespace).Delete(pvc.Name, metav1.NewDeleteOptions(0))
|
||||||
Expect(err).NotTo(HaveOccurred(), "Error deleting PVC")
|
Expect(err).NotTo(HaveOccurred(), "Error deleting PVC")
|
||||||
waitForPersistentVolumeClaimBeRemoved(client, pvc.Namespace, pvc.Name, framework.Poll, framework.ClaimProvisionTimeout)
|
framework.WaitForPersistentVolumeClaimBeRemoved(client, pvc.Namespace, pvc.Name, framework.Poll, framework.ClaimProvisionTimeout)
|
||||||
pvcCreatedAndNotDeleted = false
|
pvcCreatedAndNotDeleted = false
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -104,23 +100,7 @@ var _ = utils.SIGDescribe("PVC Protection [Feature:PVCProtection]", func() {
|
||||||
Expect(err).NotTo(HaveOccurred(), "Error terminating and deleting pod")
|
Expect(err).NotTo(HaveOccurred(), "Error terminating and deleting pod")
|
||||||
|
|
||||||
By("Checking that the PVC is automatically removed from the system because it's no longer in active use by a pod")
|
By("Checking that the PVC is automatically removed from the system because it's no longer in active use by a pod")
|
||||||
waitForPersistentVolumeClaimBeRemoved(client, pvc.Namespace, pvc.Name, framework.Poll, framework.ClaimProvisionTimeout)
|
framework.WaitForPersistentVolumeClaimBeRemoved(client, pvc.Namespace, pvc.Name, framework.Poll, framework.ClaimProvisionTimeout)
|
||||||
pvcCreatedAndNotDeleted = false
|
pvcCreatedAndNotDeleted = false
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
// waitForPersistentVolumeClaimBeRemoved waits for a PersistentVolumeClaim to be removed from the system until timeout occurs, whichever comes first.
|
|
||||||
func waitForPersistentVolumeClaimBeRemoved(c clientset.Interface, ns string, pvcName string, Poll, timeout time.Duration) error {
|
|
||||||
framework.Logf("Waiting up to %v for PersistentVolumeClaim %s to be removed", timeout, pvcName)
|
|
||||||
for start := time.Now(); time.Since(start) < timeout; time.Sleep(Poll) {
|
|
||||||
_, err := c.CoreV1().PersistentVolumeClaims(ns).Get(pvcName, metav1.GetOptions{})
|
|
||||||
if err != nil {
|
|
||||||
if apierrs.IsNotFound(err) {
|
|
||||||
framework.Logf("Claim %q in namespace %q doesn't exist in the system", pvcName, ns)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
framework.Logf("Failed to get claim %q in namespace %q, retrying in %v. Error: %v", pvcName, ns, Poll, err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return fmt.Errorf("PersistentVolumeClaim %s is not removed from the system within %v", pvcName, timeout)
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in New Issue