Documentation ¶
Index ¶
- func PVWriteReadSingleNodeCheck(client clientset.Interface, claim *v1.PersistentVolumeClaim, id string)
- func TestDynamicLateBindingProvisioning(client clientset.Interface, claim *v1.PersistentVolumeClaim, id string)
- func WaitForPodsWithLabelRunningReady(c clientset.Interface, ns string, label labels.Selector, num int, ...) (pods *v1.PodList, err error)
- type BackoffManager
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func PVWriteReadSingleNodeCheck ¶
func PVWriteReadSingleNodeCheck(client clientset.Interface, claim *v1.PersistentVolumeClaim, id string)
PVWriteReadSingleNodeCheck checks that a PV retains data on a single node.
It starts two pods: - The first pod writes 'hello word' to the /mnt/test (= the volume) on one node. - The second pod runs grep 'hello world' on /mnt/test on the same node.
The node is selected by Kubernetes when scheduling the first pod. It's then selected via its name for the second pod.
If both succeed, Kubernetes actually allocated something that is persistent across pods.
This is a common test that can be called from a StorageClassTest.PvCheck.
func TestDynamicLateBindingProvisioning ¶
func TestDynamicLateBindingProvisioning(client clientset.Interface, claim *v1.PersistentVolumeClaim, id string)
TestDynamicLateBindingProvisioning is a variant of k8s.io/kubernetes/test/e2e/storage/testsuites/provisioning.go which works with late binding.
func WaitForPodsWithLabelRunningReady ¶
func WaitForPodsWithLabelRunningReady(c clientset.Interface, ns string, label labels.Selector, num int, timeout time.Duration) (pods *v1.PodList, err error)
This is a copy from framework/utils.go with the fix from https://github.com/kubernetes/kubernetes/pull/78687 TODO: update to Kubernetes 1.15 (assuming that PR gets merged in time for that) and remove this function.
Types ¶
type BackoffManager ¶ added in v0.7.0
BackoffManager manages backoff with a particular scheme based on its underlying implementation. It provides an interface to return a timer for backoff, and caller shall backoff until Timer.C returns. If the second Backoff() is called before the timer from the first Backoff() call finishes, the first timer will NOT be drained. The BackoffManager is supposed to be called in a single-threaded environment.
func NewExponentialBackoffManager ¶ added in v0.7.0
func NewExponentialBackoffManager(initBackoff, maxBackoff, resetDuration time.Duration, backoffFactor, jitter float64, c clock.Clock) BackoffManager
NewExponentialBackoffManager returns a manager for managing exponential backoff. Each backoff is jittered and backoff will not exceed the given max. If the backoff is not called within resetDuration, the backoff is reset. This backoff manager is used to reduce load during upstream unhealthiness.