kubernetes: k8s.io/kubernetes/test/e2e/framework/pod Index | Files

package pod

import "k8s.io/kubernetes/test/e2e/framework/pod"

Index

Package Files

create.go delete.go node_selection.go resource.go wait.go

Constants

const (
    // PodDeleteTimeout is how long to wait for a pod to be deleted.
    PodDeleteTimeout = 5 * time.Minute
)

Variables

var (
    // BusyBoxImage is the image URI of BusyBox.
    BusyBoxImage = imageutils.GetE2EImage(imageutils.BusyBox)
)

func CheckPodsRunningReady Uses

func CheckPodsRunningReady(c clientset.Interface, ns string, podNames []string, timeout time.Duration) bool

CheckPodsRunningReady returns whether all pods whose names are listed in podNames in namespace ns are running and ready, using c and waiting at most timeout.

func CheckPodsRunningReadyOrSucceeded Uses

func CheckPodsRunningReadyOrSucceeded(c clientset.Interface, ns string, podNames []string, timeout time.Duration) bool

CheckPodsRunningReadyOrSucceeded returns whether all pods whose names are listed in podNames in namespace ns are running and ready, or succeeded; use c and waiting at most timeout.

func CountRemainingPods Uses

func CountRemainingPods(c clientset.Interface, namespace string) (int, int, error)

CountRemainingPods queries the server to count number of remaining pods, and number of pods that had a missing deletion timestamp.

func CreateClientPod Uses

func CreateClientPod(c clientset.Interface, ns string, pvc *v1.PersistentVolumeClaim) (*v1.Pod, error)

CreateClientPod defines and creates a pod with a mounted PV. Pod runs infinite loop until killed.

func CreateExecPodOrFail Uses

func CreateExecPodOrFail(client clientset.Interface, ns, generateName string, tweak func(*v1.Pod)) *v1.Pod

CreateExecPodOrFail creates a agnhost pause pod used as a vessel for kubectl exec commands. Pod name is uniquely generated.

func CreatePod Uses

func CreatePod(client clientset.Interface, namespace string, nodeSelector map[string]string, pvclaims []*v1.PersistentVolumeClaim, isPrivileged bool, command string) (*v1.Pod, error)

CreatePod with given claims based on node selector

func CreateSecPod Uses

func CreateSecPod(client clientset.Interface, namespace string, pvclaims []*v1.PersistentVolumeClaim, inlineVolumeSources []*v1.VolumeSource, isPrivileged bool, command string, hostIPC bool, hostPID bool, seLinuxLabel *v1.SELinuxOptions, fsGroup *int64, timeout time.Duration) (*v1.Pod, error)

CreateSecPod creates security pod with given claims

func CreateSecPodWithNodeSelection Uses

func CreateSecPodWithNodeSelection(client clientset.Interface, namespace string, pvclaims []*v1.PersistentVolumeClaim, inlineVolumeSources []*v1.VolumeSource, isPrivileged bool, command string, hostIPC bool, hostPID bool, seLinuxLabel *v1.SELinuxOptions, fsGroup *int64, node NodeSelection, timeout time.Duration) (*v1.Pod, error)

CreateSecPodWithNodeSelection creates security pod with given claims

func CreateUnschedulablePod Uses

func CreateUnschedulablePod(client clientset.Interface, namespace string, nodeSelector map[string]string, pvclaims []*v1.PersistentVolumeClaim, isPrivileged bool, command string) (*v1.Pod, error)

CreateUnschedulablePod with given claims based on node selector

func CreateWaitAndDeletePod Uses

func CreateWaitAndDeletePod(c clientset.Interface, ns string, pvc *v1.PersistentVolumeClaim, command string) (err error)

CreateWaitAndDeletePod creates the test pod, wait for (hopefully) success, and then delete the pod. Note: need named return value so that the err assignment in the defer sets the returned error.

Has been shown to be necessary using Go 1.7.

func DeletePodOrFail Uses

func DeletePodOrFail(c clientset.Interface, ns, name string)

DeletePodOrFail deletes the pod of the specified namespace and name.

func DeletePodWithWait Uses

func DeletePodWithWait(c clientset.Interface, pod *v1.Pod) error

DeletePodWithWait deletes the passed-in pod and waits for the pod to be terminated. Resilient to the pod not existing.

func DeletePodWithWaitByName Uses

func DeletePodWithWaitByName(c clientset.Interface, podName, podNamespace string) error

DeletePodWithWaitByName deletes the named and namespaced pod and waits for the pod to be terminated. Resilient to the pod not existing.

func DumpAllPodInfo Uses

func DumpAllPodInfo(c clientset.Interface)

DumpAllPodInfo logs basic info for all pods.

func DumpAllPodInfoForNamespace Uses

func DumpAllPodInfoForNamespace(c clientset.Interface, namespace string)

DumpAllPodInfoForNamespace logs all pod information for a given namespace.

func FilterNonRestartablePods Uses

func FilterNonRestartablePods(pods []*v1.Pod) []*v1.Pod

FilterNonRestartablePods filters out pods that will never get recreated if deleted after termination.

func GetPodLogs Uses

func GetPodLogs(c clientset.Interface, namespace, podName, containerName string) (string, error)

GetPodLogs returns the logs of the specified container (namespace/pod/container). TODO(random-liu): Change this to be a member function of the framework.

func GetPodsInNamespace Uses

func GetPodsInNamespace(c clientset.Interface, ns string, ignoreLabels map[string]string) ([]*v1.Pod, error)

GetPodsInNamespace returns the pods in the given namespace.

func GetPodsScheduled Uses

func GetPodsScheduled(masterNodes sets.String, pods *v1.PodList) (scheduledPods, notScheduledPods []v1.Pod)

GetPodsScheduled returns a number of currently scheduled and not scheduled Pods.

func GetPreviousPodLogs Uses

func GetPreviousPodLogs(c clientset.Interface, namespace, podName, containerName string) (string, error)

GetPreviousPodLogs returns the logs of the previous instance of the specified container (namespace/pod/container).

func LogPodStates Uses

func LogPodStates(pods []v1.Pod)

LogPodStates logs basic info of provided pods for debugging.

func MakePod Uses

func MakePod(ns string, nodeSelector map[string]string, pvclaims []*v1.PersistentVolumeClaim, isPrivileged bool, command string) *v1.Pod

MakePod returns a pod definition based on the namespace. The pod references the PVC's name. A slice of BASH commands can be supplied as args to be run by the pod

func MakeSecPod Uses

func MakeSecPod(ns string, pvclaims []*v1.PersistentVolumeClaim, inlineVolumeSources []*v1.VolumeSource, isPrivileged bool, command string, hostIPC bool, hostPID bool, seLinuxLabel *v1.SELinuxOptions, fsGroup *int64) *v1.Pod

MakeSecPod returns a pod definition based on the namespace. The pod references the PVC's name. A slice of BASH commands can be supplied as args to be run by the pod. SELinux testing requires to pass HostIPC and HostPID as booleansi arguments.

func NewExecPodSpec Uses

func NewExecPodSpec(ns, name string, hostNetwork bool) *v1.Pod

NewExecPodSpec returns the pod spec of hostexec pod

func PatchContainerImages Uses

func PatchContainerImages(containers []v1.Container) error

PatchContainerImages replaces the specified Container Registry with a custom one provided via the KUBE_TEST_REPO_LIST env variable

func PodsCreated Uses

func PodsCreated(c clientset.Interface, ns, name string, replicas int32) (*v1.PodList, error)

PodsCreated returns a pod list matched by the given name.

func PodsCreatedByLabel Uses

func PodsCreatedByLabel(c clientset.Interface, ns, name string, replicas int32, label labels.Selector) (*v1.PodList, error)

PodsCreatedByLabel returns a created pod list matched by the given label.

func PodsResponding Uses

func PodsResponding(c clientset.Interface, ns, name string, wantName bool, pods *v1.PodList) error

PodsResponding waits for the pods to response.

func SetAffinity Uses

func SetAffinity(nodeSelection *NodeSelection, nodeName string)

SetAffinity sets affinity to nodeName to nodeSelection

func SetAntiAffinity Uses

func SetAntiAffinity(nodeSelection *NodeSelection, nodeName string)

SetAntiAffinity sets anti-affinity to nodeName to nodeSelection

func VerifyPods Uses

func VerifyPods(c clientset.Interface, ns, name string, wantName bool, replicas int32) error

VerifyPods checks if the specified pod is responding.

func VerifyPodsRunning Uses

func VerifyPodsRunning(c clientset.Interface, ns, name string, wantName bool, replicas int32) error

VerifyPodsRunning checks if the specified pod is running.

func WaitForControlledPods Uses

func WaitForControlledPods(c clientset.Interface, ns, name string, kind schema.GroupKind) (pods *v1.PodList, err error)

WaitForControlledPods waits up to podListTimeout for getting pods of the specified controller name and return them.

func WaitForControlledPodsRunning Uses

func WaitForControlledPodsRunning(c clientset.Interface, ns, name string, kind schema.GroupKind) error

WaitForControlledPodsRunning waits up to 10 minutes for pods to become Running.

func WaitForMatchPodsCondition Uses

func WaitForMatchPodsCondition(c clientset.Interface, opts metav1.ListOptions, desc string, timeout time.Duration, condition podCondition) error

WaitForMatchPodsCondition finds match pods based on the input ListOptions. waits and checks if all match pods are in the given podCondition

func WaitForNRestartablePods Uses

func WaitForNRestartablePods(ps *testutils.PodStore, expect int, timeout time.Duration) ([]string, error)

WaitForNRestartablePods tries to list restarting pods using ps until it finds expect of them, returning their names if it can do so before timeout.

func WaitForPodCondition Uses

func WaitForPodCondition(c clientset.Interface, ns, podName, desc string, timeout time.Duration, condition podCondition) error

WaitForPodCondition waits a pods to be matched to the given condition.

func WaitForPodNameRunningInNamespace Uses

func WaitForPodNameRunningInNamespace(c clientset.Interface, podName, namespace string) error

WaitForPodNameRunningInNamespace waits default amount of time (PodStartTimeout) for the specified pod to become running. Returns an error if timeout occurs first, or pod goes in to failed state.

func WaitForPodNameUnschedulableInNamespace Uses

func WaitForPodNameUnschedulableInNamespace(c clientset.Interface, podName, namespace string) error

WaitForPodNameUnschedulableInNamespace returns an error if it takes too long for the pod to become Pending and have condition Status equal to Unschedulable, if the pod Get api returns an error (IsNotFound or other), or if the pod failed with an unexpected reason. Typically called to test that the passed-in pod is Pending and Unschedulable.

func WaitForPodNoLongerRunningInNamespace Uses

func WaitForPodNoLongerRunningInNamespace(c clientset.Interface, podName, namespace string) error

WaitForPodNoLongerRunningInNamespace waits default amount of time (defaultPodDeletionTimeout) for the specified pod to stop running. Returns an error if timeout occurs first.

func WaitForPodNotFoundInNamespace Uses

func WaitForPodNotFoundInNamespace(c clientset.Interface, podName, ns string, timeout time.Duration) error

WaitForPodNotFoundInNamespace returns an error if it takes too long for the pod to fully terminate. Unlike `waitForPodTerminatedInNamespace`, the pod's Phase and Reason are ignored. If the pod Get api returns IsNotFound then the wait stops and nil is returned. If the Get api returns an error other than "not found" then that error is returned and the wait stops.

func WaitForPodNotPending Uses

func WaitForPodNotPending(c clientset.Interface, ns, podName string) error

WaitForPodNotPending returns an error if it took too long for the pod to go out of pending state. The resourceVersion is used when Watching object changes, it tells since when we care about changes to the pod.

func WaitForPodRunningInNamespace Uses

func WaitForPodRunningInNamespace(c clientset.Interface, pod *v1.Pod) error

WaitForPodRunningInNamespace waits default amount of time (podStartTimeout) for the specified pod to become running. Returns an error if timeout occurs first, or pod goes in to failed state.

func WaitForPodRunningInNamespaceSlow Uses

func WaitForPodRunningInNamespaceSlow(c clientset.Interface, podName, namespace string) error

WaitForPodRunningInNamespaceSlow waits an extended amount of time (slowPodStartTimeout) for the specified pod to become running. The resourceVersion is used when Watching object changes, it tells since when we care about changes to the pod. Returns an error if timeout occurs first, or pod goes in to failed state.

func WaitForPodSuccessInNamespace Uses

func WaitForPodSuccessInNamespace(c clientset.Interface, podName string, namespace string) error

WaitForPodSuccessInNamespace returns nil if the pod reached state success, or an error if it reached failure or until podStartupTimeout.

func WaitForPodSuccessInNamespaceSlow Uses

func WaitForPodSuccessInNamespaceSlow(c clientset.Interface, podName string, namespace string) error

WaitForPodSuccessInNamespaceSlow returns nil if the pod reached state success, or an error if it reached failure or until slowPodStartupTimeout.

func WaitForPodTerminatedInNamespace Uses

func WaitForPodTerminatedInNamespace(c clientset.Interface, podName, reason, namespace string) error

WaitForPodTerminatedInNamespace returns an error if it takes too long for the pod to terminate, if the pod Get api returns an error (IsNotFound or other), or if the pod failed (and thus did not terminate) with an unexpected reason. Typically called to test that the passed-in pod is fully terminated (reason==""), but may be called to detect if a pod did *not* terminate according to the supplied reason.

func WaitForPodToDisappear Uses

func WaitForPodToDisappear(c clientset.Interface, ns, podName string, label labels.Selector, interval, timeout time.Duration) error

WaitForPodToDisappear waits the given timeout duration for the specified pod to disappear.

func WaitForPodsGone Uses

func WaitForPodsGone(ps *testutils.PodStore, interval, timeout time.Duration) error

WaitForPodsGone waits until there are no pods left in the PodStore.

func WaitForPodsInactive Uses

func WaitForPodsInactive(ps *testutils.PodStore, interval, timeout time.Duration) error

WaitForPodsInactive waits until there are no active pods left in the PodStore. This is to make a fair comparison of deletion time between DeleteRCAndPods and DeleteRCAndWaitForGC, because the RC controller decreases status.replicas when the pod is inactvie.

func WaitForPodsReady Uses

func WaitForPodsReady(c clientset.Interface, ns, name string, minReadySeconds int) error

WaitForPodsReady waits for the pods to become ready.

func WaitForPodsRunningReady Uses

func WaitForPodsRunningReady(c clientset.Interface, ns string, minPods, allowedNotReadyPods int32, timeout time.Duration, ignoreLabels map[string]string) error

WaitForPodsRunningReady waits up to timeout to ensure that all pods in namespace ns are either running and ready, or failed but controlled by a controller. Also, it ensures that at least minPods are running and ready. It has separate behavior from other 'wait for' pods functions in that it requests the list of pods on every iteration. This is useful, for example, in cluster startup, because the number of pods increases while waiting. All pods that are in SUCCESS state are not counted.

If ignoreLabels is not empty, pods matching this selector are ignored.

func WaitForPodsWithLabel Uses

func WaitForPodsWithLabel(c clientset.Interface, ns string, label labels.Selector) (pods *v1.PodList, err error)

WaitForPodsWithLabel waits up to podListTimeout for getting pods with certain label

func WaitForPodsWithLabelRunningReady Uses

func WaitForPodsWithLabelRunningReady(c clientset.Interface, ns string, label labels.Selector, num int, timeout time.Duration) (pods *v1.PodList, err error)

WaitForPodsWithLabelRunningReady waits for exact amount of matching pods to become running and ready. Return the list of matching pods.

func WaitForPodsWithLabelScheduled Uses

func WaitForPodsWithLabelScheduled(c clientset.Interface, ns string, label labels.Selector) (pods *v1.PodList, err error)

WaitForPodsWithLabelScheduled waits for all matching pods to become scheduled and at least one matching pod exists. Return the list of matching pods.

func WaitTimeoutForPodNoLongerRunningInNamespace Uses

func WaitTimeoutForPodNoLongerRunningInNamespace(c clientset.Interface, podName, namespace string, timeout time.Duration) error

WaitTimeoutForPodNoLongerRunningInNamespace waits the given timeout duration for the specified pod to stop.

func WaitTimeoutForPodReadyInNamespace Uses

func WaitTimeoutForPodReadyInNamespace(c clientset.Interface, podName, namespace string, timeout time.Duration) error

WaitTimeoutForPodReadyInNamespace waits the given timeout diration for the specified pod to be ready and running.

func WaitTimeoutForPodRunningInNamespace Uses

func WaitTimeoutForPodRunningInNamespace(c clientset.Interface, podName, namespace string, timeout time.Duration) error

WaitTimeoutForPodRunningInNamespace waits the given timeout duration for the specified pod to become running.

type NodeSelection Uses

type NodeSelection struct {
    Name     string
    Selector map[string]string
    Affinity *v1.Affinity
}

NodeSelection specifies where to run a pod, using a combination of fixed node name, node selector and/or affinity.

type ProxyResponseChecker Uses

type ProxyResponseChecker struct {
    // contains filtered or unexported fields
}

ProxyResponseChecker is a context for checking pods responses by issuing GETs to them (via the API proxy) and verifying that they answer with their own pod name.

func NewProxyResponseChecker Uses

func NewProxyResponseChecker(c clientset.Interface, ns string, label labels.Selector, controllerName string, respondName bool, pods *v1.PodList) ProxyResponseChecker

NewProxyResponseChecker returns a context for checking pods responses.

func (ProxyResponseChecker) CheckAllResponses Uses

func (r ProxyResponseChecker) CheckAllResponses() (done bool, err error)

CheckAllResponses issues GETs to all pods in the context and verify they reply with their own pod name.

Package pod imports 30 packages (graph) and is imported by 516 packages. Updated 2019-11-03. Refresh now. Tools for package owners.