mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-21 02:41:25 +00:00
WaitForPodReady is simply wrapper functions for e2epod package,
and they made an invalid dependency to sub e2e framework from the core framework. So we can use e2epod.WaitTimeoutForPodReadyInNamespace to remove invalid dependency. The main purpose of this pr is to handle the framework core package dependency subpackage pod.
This commit is contained in:
parent
d3df233d9c
commit
bed22fbb44
@ -63,7 +63,7 @@ var _ = framework.KubeDescribe("Probing container", func() {
|
|||||||
framework.ConformanceIt("with readiness probe should not be ready before initial delay and never restart [NodeConformance]", func() {
|
framework.ConformanceIt("with readiness probe should not be ready before initial delay and never restart [NodeConformance]", func() {
|
||||||
containerName := "test-webserver"
|
containerName := "test-webserver"
|
||||||
p := podClient.Create(testWebServerPodSpec(probe.withInitialDelay().build(), nil, containerName, 80))
|
p := podClient.Create(testWebServerPodSpec(probe.withInitialDelay().build(), nil, containerName, 80))
|
||||||
f.WaitForPodReady(p.Name)
|
e2epod.WaitTimeoutForPodReadyInNamespace(f.ClientSet, p.Name, f.Namespace.Name, framework.PodStartTimeout)
|
||||||
|
|
||||||
p, err := podClient.Get(context.TODO(), p.Name, metav1.GetOptions{})
|
p, err := podClient.Get(context.TODO(), p.Name, metav1.GetOptions{})
|
||||||
framework.ExpectNoError(err)
|
framework.ExpectNoError(err)
|
||||||
|
@ -515,11 +515,6 @@ func (f *Framework) WaitForPodTerminated(podName, reason string) error {
|
|||||||
return e2epod.WaitForPodTerminatedInNamespace(f.ClientSet, podName, reason, f.Namespace.Name)
|
return e2epod.WaitForPodTerminatedInNamespace(f.ClientSet, podName, reason, f.Namespace.Name)
|
||||||
}
|
}
|
||||||
|
|
||||||
// WaitForPodReady waits for the pod to flip to ready in the namespace.
|
|
||||||
func (f *Framework) WaitForPodReady(podName string) error {
|
|
||||||
return e2epod.WaitTimeoutForPodReadyInNamespace(f.ClientSet, podName, f.Namespace.Name, PodStartTimeout)
|
|
||||||
}
|
|
||||||
|
|
||||||
// ClientConfig an externally accessible method for reading the kube client config.
|
// ClientConfig an externally accessible method for reading the kube client config.
|
||||||
func (f *Framework) ClientConfig() *rest.Config {
|
func (f *Framework) ClientConfig() *rest.Config {
|
||||||
ret := rest.CopyConfig(f.clientConfig)
|
ret := rest.CopyConfig(f.clientConfig)
|
||||||
|
@ -664,7 +664,7 @@ func (config *NetworkingTestConfig) createNetProxyPods(podName string, selector
|
|||||||
// wait that all of them are up
|
// wait that all of them are up
|
||||||
runningPods := make([]*v1.Pod, 0, len(nodes))
|
runningPods := make([]*v1.Pod, 0, len(nodes))
|
||||||
for _, p := range createdPods {
|
for _, p := range createdPods {
|
||||||
framework.ExpectNoError(config.f.WaitForPodReady(p.Name))
|
framework.ExpectNoError(e2epod.WaitTimeoutForPodReadyInNamespace(config.f.ClientSet, p.Name, config.f.Namespace.Name, framework.PodStartTimeout))
|
||||||
rp, err := config.getPodClient().Get(context.TODO(), p.Name, metav1.GetOptions{})
|
rp, err := config.getPodClient().Get(context.TODO(), p.Name, metav1.GetOptions{})
|
||||||
framework.ExpectNoError(err)
|
framework.ExpectNoError(err)
|
||||||
runningPods = append(runningPods, rp)
|
runningPods = append(runningPods, rp)
|
||||||
|
@ -211,7 +211,7 @@ func doTestConnectSendDisconnect(bindAddress string, f *framework.Framework) {
|
|||||||
if _, err := f.ClientSet.CoreV1().Pods(f.Namespace.Name).Create(context.TODO(), pod, metav1.CreateOptions{}); err != nil {
|
if _, err := f.ClientSet.CoreV1().Pods(f.Namespace.Name).Create(context.TODO(), pod, metav1.CreateOptions{}); err != nil {
|
||||||
framework.Failf("Couldn't create pod: %v", err)
|
framework.Failf("Couldn't create pod: %v", err)
|
||||||
}
|
}
|
||||||
if err := f.WaitForPodReady(pod.Name); err != nil {
|
if err := e2epod.WaitTimeoutForPodReadyInNamespace(f.ClientSet, pod.Name, f.Namespace.Name, framework.PodStartTimeout); err != nil {
|
||||||
framework.Failf("Pod did not start running: %v", err)
|
framework.Failf("Pod did not start running: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -259,7 +259,7 @@ func doTestMustConnectSendNothing(bindAddress string, f *framework.Framework) {
|
|||||||
if _, err := f.ClientSet.CoreV1().Pods(f.Namespace.Name).Create(context.TODO(), pod, metav1.CreateOptions{}); err != nil {
|
if _, err := f.ClientSet.CoreV1().Pods(f.Namespace.Name).Create(context.TODO(), pod, metav1.CreateOptions{}); err != nil {
|
||||||
framework.Failf("Couldn't create pod: %v", err)
|
framework.Failf("Couldn't create pod: %v", err)
|
||||||
}
|
}
|
||||||
if err := f.WaitForPodReady(pod.Name); err != nil {
|
if err := e2epod.WaitTimeoutForPodReadyInNamespace(f.ClientSet, pod.Name, f.Namespace.Name, framework.PodStartTimeout); err != nil {
|
||||||
framework.Failf("Pod did not start running: %v", err)
|
framework.Failf("Pod did not start running: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -296,7 +296,7 @@ func doTestMustConnectSendDisconnect(bindAddress string, f *framework.Framework)
|
|||||||
if _, err := f.ClientSet.CoreV1().Pods(f.Namespace.Name).Create(context.TODO(), pod, metav1.CreateOptions{}); err != nil {
|
if _, err := f.ClientSet.CoreV1().Pods(f.Namespace.Name).Create(context.TODO(), pod, metav1.CreateOptions{}); err != nil {
|
||||||
framework.Failf("Couldn't create pod: %v", err)
|
framework.Failf("Couldn't create pod: %v", err)
|
||||||
}
|
}
|
||||||
if err := f.WaitForPodReady(pod.Name); err != nil {
|
if err := e2epod.WaitTimeoutForPodReadyInNamespace(f.ClientSet, pod.Name, f.Namespace.Name, framework.PodStartTimeout); err != nil {
|
||||||
framework.Failf("Pod did not start running: %v", err)
|
framework.Failf("Pod did not start running: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -366,7 +366,7 @@ func doTestOverWebSockets(bindAddress string, f *framework.Framework) {
|
|||||||
if _, err := f.ClientSet.CoreV1().Pods(f.Namespace.Name).Create(context.TODO(), pod, metav1.CreateOptions{}); err != nil {
|
if _, err := f.ClientSet.CoreV1().Pods(f.Namespace.Name).Create(context.TODO(), pod, metav1.CreateOptions{}); err != nil {
|
||||||
framework.Failf("Couldn't create pod: %v", err)
|
framework.Failf("Couldn't create pod: %v", err)
|
||||||
}
|
}
|
||||||
if err := f.WaitForPodReady(pod.Name); err != nil {
|
if err := e2epod.WaitTimeoutForPodReadyInNamespace(f.ClientSet, pod.Name, f.Namespace.Name, framework.PodStartTimeout); err != nil {
|
||||||
framework.Failf("Pod did not start running: %v", err)
|
framework.Failf("Pod did not start running: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -424,7 +424,7 @@ var _ = SIGDescribe("DNS", func() {
|
|||||||
framework.Failf("ginkgo.Failed to delete pod %s: %v", testAgnhostPod.Name, err)
|
framework.Failf("ginkgo.Failed to delete pod %s: %v", testAgnhostPod.Name, err)
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
err = f.WaitForPodReady(testAgnhostPod.Name)
|
err = e2epod.WaitTimeoutForPodReadyInNamespace(f.ClientSet, testAgnhostPod.Name, f.Namespace.Name, framework.PodStartTimeout)
|
||||||
framework.ExpectNoError(err, "failed to wait for pod %s to be running", testAgnhostPod.Name)
|
framework.ExpectNoError(err, "failed to wait for pod %s to be running", testAgnhostPod.Name)
|
||||||
|
|
||||||
runCommand := func(arg string) string {
|
runCommand := func(arg string) string {
|
||||||
|
@ -32,6 +32,7 @@ import (
|
|||||||
"k8s.io/kubernetes/test/e2e/framework"
|
"k8s.io/kubernetes/test/e2e/framework"
|
||||||
e2enetwork "k8s.io/kubernetes/test/e2e/framework/network"
|
e2enetwork "k8s.io/kubernetes/test/e2e/framework/network"
|
||||||
e2enode "k8s.io/kubernetes/test/e2e/framework/node"
|
e2enode "k8s.io/kubernetes/test/e2e/framework/node"
|
||||||
|
e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
|
||||||
"k8s.io/kubernetes/test/e2e/framework/providers/gce"
|
"k8s.io/kubernetes/test/e2e/framework/providers/gce"
|
||||||
e2eservice "k8s.io/kubernetes/test/e2e/framework/service"
|
e2eservice "k8s.io/kubernetes/test/e2e/framework/service"
|
||||||
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
|
e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper"
|
||||||
@ -154,7 +155,7 @@ var _ = SIGDescribe("Firewall rule", func() {
|
|||||||
pod.Spec.HostNetwork = true
|
pod.Spec.HostNetwork = true
|
||||||
_, err := cs.CoreV1().Pods(ns).Create(context.TODO(), pod, metav1.CreateOptions{})
|
_, err := cs.CoreV1().Pods(ns).Create(context.TODO(), pod, metav1.CreateOptions{})
|
||||||
framework.ExpectNoError(err)
|
framework.ExpectNoError(err)
|
||||||
framework.ExpectNoError(f.WaitForPodReady(podName))
|
framework.ExpectNoError(e2epod.WaitTimeoutForPodReadyInNamespace(f.ClientSet, podName, f.Namespace.Name, framework.PodStartTimeout))
|
||||||
framework.Logf("Netexec pod %q in namespace %q running", podName, ns)
|
framework.Logf("Netexec pod %q in namespace %q running", podName, ns)
|
||||||
|
|
||||||
defer func() {
|
defer func() {
|
||||||
|
@ -60,7 +60,7 @@ var _ = SIGDescribe("NetworkPolicy [LinuxOnly]", func() {
|
|||||||
podServer, service = createServerPodAndService(f, f.Namespace, "server", []int{80, 81})
|
podServer, service = createServerPodAndService(f, f.Namespace, "server", []int{80, 81})
|
||||||
|
|
||||||
ginkgo.By("Waiting for pod ready", func() {
|
ginkgo.By("Waiting for pod ready", func() {
|
||||||
err := f.WaitForPodReady(podServer.Name)
|
err := e2epod.WaitTimeoutForPodReadyInNamespace(f.ClientSet, podServer.Name, f.Namespace.Name, framework.PodStartTimeout)
|
||||||
framework.ExpectNoError(err)
|
framework.ExpectNoError(err)
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -1067,7 +1067,7 @@ var _ = SIGDescribe("NetworkPolicy [LinuxOnly]", func() {
|
|||||||
defer cleanupServerPodAndService(f, podServerB, serviceB)
|
defer cleanupServerPodAndService(f, podServerB, serviceB)
|
||||||
|
|
||||||
ginkgo.By("Waiting for pod ready", func() {
|
ginkgo.By("Waiting for pod ready", func() {
|
||||||
err := f.WaitForPodReady(podServerB.Name)
|
err := e2epod.WaitTimeoutForPodReadyInNamespace(f.ClientSet, podServerB.Name, f.Namespace.Name, framework.PodStartTimeout)
|
||||||
framework.ExpectNoError(err, "Error occurred while waiting for pod type: Ready.")
|
framework.ExpectNoError(err, "Error occurred while waiting for pod type: Ready.")
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -1243,7 +1243,7 @@ var _ = SIGDescribe("NetworkPolicy [LinuxOnly]", func() {
|
|||||||
// Creating pod-b and service-b
|
// Creating pod-b and service-b
|
||||||
podServerB, serviceB = createServerPodAndService(f, f.Namespace, "pod-b", []int{80})
|
podServerB, serviceB = createServerPodAndService(f, f.Namespace, "pod-b", []int{80})
|
||||||
ginkgo.By("Waiting for pod-b to be ready", func() {
|
ginkgo.By("Waiting for pod-b to be ready", func() {
|
||||||
err = f.WaitForPodReady(podServerB.Name)
|
err := e2epod.WaitTimeoutForPodReadyInNamespace(f.ClientSet, podServerB.Name, f.Namespace.Name, framework.PodStartTimeout)
|
||||||
framework.ExpectNoError(err, "Error occurred while waiting for pod type: Ready.")
|
framework.ExpectNoError(err, "Error occurred while waiting for pod type: Ready.")
|
||||||
})
|
})
|
||||||
defer cleanupServerPodAndService(f, podServerB, serviceB)
|
defer cleanupServerPodAndService(f, podServerB, serviceB)
|
||||||
@ -1380,7 +1380,7 @@ var _ = SIGDescribe("NetworkPolicy [LinuxOnly]", func() {
|
|||||||
// Before applying policy, communication should be successful between pod-a and pod-b
|
// Before applying policy, communication should be successful between pod-a and pod-b
|
||||||
podA, serviceA = createServerPodAndService(f, f.Namespace, "pod-a", []int{80})
|
podA, serviceA = createServerPodAndService(f, f.Namespace, "pod-a", []int{80})
|
||||||
ginkgo.By("Waiting for pod-a to be ready", func() {
|
ginkgo.By("Waiting for pod-a to be ready", func() {
|
||||||
err = f.WaitForPodReady(podA.Name)
|
err := e2epod.WaitTimeoutForPodReadyInNamespace(f.ClientSet, podA.Name, f.Namespace.Name, framework.PodStartTimeout)
|
||||||
framework.ExpectNoError(err, "Error occurred while waiting for pod type: Ready.")
|
framework.ExpectNoError(err, "Error occurred while waiting for pod type: Ready.")
|
||||||
})
|
})
|
||||||
ginkgo.By("Creating client pod-b which should be able to contact the server pod-a.", func() {
|
ginkgo.By("Creating client pod-b which should be able to contact the server pod-a.", func() {
|
||||||
@ -1390,7 +1390,7 @@ var _ = SIGDescribe("NetworkPolicy [LinuxOnly]", func() {
|
|||||||
|
|
||||||
podB, serviceB = createServerPodAndService(f, f.Namespace, "pod-b", []int{80})
|
podB, serviceB = createServerPodAndService(f, f.Namespace, "pod-b", []int{80})
|
||||||
ginkgo.By("Waiting for pod-b to be ready", func() {
|
ginkgo.By("Waiting for pod-b to be ready", func() {
|
||||||
err = f.WaitForPodReady(podB.Name)
|
err := e2epod.WaitTimeoutForPodReadyInNamespace(f.ClientSet, podB.Name, f.Namespace.Name, framework.PodStartTimeout)
|
||||||
framework.ExpectNoError(err, "Error occurred while waiting for pod type: Ready.")
|
framework.ExpectNoError(err, "Error occurred while waiting for pod type: Ready.")
|
||||||
})
|
})
|
||||||
ginkgo.By("Creating client pod-a which should be able to contact the server pod-b.", func() {
|
ginkgo.By("Creating client pod-a which should be able to contact the server pod-b.", func() {
|
||||||
@ -1472,7 +1472,7 @@ var _ = SIGDescribe("NetworkPolicy [LinuxOnly]", func() {
|
|||||||
// Creating server pod with label "pod-name": "pod-a" to deny traffic from client pod with label "pod-name": "pod-b"
|
// Creating server pod with label "pod-name": "pod-a" to deny traffic from client pod with label "pod-name": "pod-b"
|
||||||
podA, serviceA = createServerPodAndService(f, f.Namespace, "pod-a", []int{80})
|
podA, serviceA = createServerPodAndService(f, f.Namespace, "pod-a", []int{80})
|
||||||
ginkgo.By("Waiting for pod-a to be ready", func() {
|
ginkgo.By("Waiting for pod-a to be ready", func() {
|
||||||
err = f.WaitForPodReady(podA.Name)
|
err := e2epod.WaitTimeoutForPodReadyInNamespace(f.ClientSet, podA.Name, f.Namespace.Name, framework.PodStartTimeout)
|
||||||
framework.ExpectNoError(err, "Error occurred while waiting for pod type: Ready.")
|
framework.ExpectNoError(err, "Error occurred while waiting for pod type: Ready.")
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -906,7 +906,7 @@ var _ = SIGDescribe("Services", func() {
|
|||||||
pod.Labels = jig.Labels
|
pod.Labels = jig.Labels
|
||||||
_, err = cs.CoreV1().Pods(ns).Create(context.TODO(), pod, metav1.CreateOptions{})
|
_, err = cs.CoreV1().Pods(ns).Create(context.TODO(), pod, metav1.CreateOptions{})
|
||||||
framework.ExpectNoError(err)
|
framework.ExpectNoError(err)
|
||||||
framework.ExpectNoError(f.WaitForPodReady(pod.Name))
|
framework.ExpectNoError(e2epod.WaitTimeoutForPodReadyInNamespace(f.ClientSet, pod.Name, f.Namespace.Name, framework.PodStartTimeout))
|
||||||
defer func() {
|
defer func() {
|
||||||
framework.Logf("Cleaning up the echo server pod")
|
framework.Logf("Cleaning up the echo server pod")
|
||||||
err := cs.CoreV1().Pods(ns).Delete(context.TODO(), serverPodName, metav1.DeleteOptions{})
|
err := cs.CoreV1().Pods(ns).Delete(context.TODO(), serverPodName, metav1.DeleteOptions{})
|
||||||
@ -964,7 +964,7 @@ var _ = SIGDescribe("Services", func() {
|
|||||||
podTemplate.Labels = jig.Labels
|
podTemplate.Labels = jig.Labels
|
||||||
pod, err := cs.CoreV1().Pods(ns).Create(context.TODO(), podTemplate, metav1.CreateOptions{})
|
pod, err := cs.CoreV1().Pods(ns).Create(context.TODO(), podTemplate, metav1.CreateOptions{})
|
||||||
framework.ExpectNoError(err)
|
framework.ExpectNoError(err)
|
||||||
framework.ExpectNoError(f.WaitForPodReady(pod.Name))
|
framework.ExpectNoError(e2epod.WaitTimeoutForPodReadyInNamespace(f.ClientSet, pod.Name, f.Namespace.Name, framework.PodStartTimeout))
|
||||||
|
|
||||||
ginkgo.By("waiting for the service to expose an endpoint")
|
ginkgo.By("waiting for the service to expose an endpoint")
|
||||||
err = validateEndpointsPorts(cs, ns, serviceName, portsByPodName{serverPodName: {servicePort}})
|
err = validateEndpointsPorts(cs, ns, serviceName, portsByPodName{serverPodName: {servicePort}})
|
||||||
|
@ -172,7 +172,7 @@ func createPodUsingNfs(f *framework.Framework, c clientset.Interface, ns, nfsIP,
|
|||||||
rtnPod, err := c.CoreV1().Pods(ns).Create(context.TODO(), pod, metav1.CreateOptions{})
|
rtnPod, err := c.CoreV1().Pods(ns).Create(context.TODO(), pod, metav1.CreateOptions{})
|
||||||
framework.ExpectNoError(err)
|
framework.ExpectNoError(err)
|
||||||
|
|
||||||
err = f.WaitForPodReady(rtnPod.Name) // running & ready
|
err = e2epod.WaitTimeoutForPodReadyInNamespace(f.ClientSet, rtnPod.Name, f.Namespace.Name, framework.PodStartTimeout) // running & ready
|
||||||
framework.ExpectNoError(err)
|
framework.ExpectNoError(err)
|
||||||
|
|
||||||
rtnPod, err = c.CoreV1().Pods(ns).Get(context.TODO(), rtnPod.Name, metav1.GetOptions{}) // return fresh pod
|
rtnPod, err = c.CoreV1().Pods(ns).Get(context.TODO(), rtnPod.Name, metav1.GetOptions{}) // return fresh pod
|
||||||
|
@ -27,6 +27,7 @@ import (
|
|||||||
kubeletconfig "k8s.io/kubernetes/pkg/kubelet/apis/config"
|
kubeletconfig "k8s.io/kubernetes/pkg/kubelet/apis/config"
|
||||||
"k8s.io/kubernetes/test/e2e/common"
|
"k8s.io/kubernetes/test/e2e/common"
|
||||||
"k8s.io/kubernetes/test/e2e/framework"
|
"k8s.io/kubernetes/test/e2e/framework"
|
||||||
|
e2epod "k8s.io/kubernetes/test/e2e/framework/pod"
|
||||||
testutils "k8s.io/kubernetes/test/utils"
|
testutils "k8s.io/kubernetes/test/utils"
|
||||||
imageutils "k8s.io/kubernetes/test/utils/image"
|
imageutils "k8s.io/kubernetes/test/utils/image"
|
||||||
|
|
||||||
@ -172,7 +173,7 @@ var _ = framework.KubeDescribe("StartupProbe [Serial] [Disruptive]", func() {
|
|||||||
p, err := podClient.Get(context.TODO(), p.Name, metav1.GetOptions{})
|
p, err := podClient.Get(context.TODO(), p.Name, metav1.GetOptions{})
|
||||||
framework.ExpectNoError(err)
|
framework.ExpectNoError(err)
|
||||||
|
|
||||||
f.WaitForPodReady(p.Name)
|
e2epod.WaitTimeoutForPodReadyInNamespace(f.ClientSet, p.Name, f.Namespace.Name, framework.PodStartTimeout)
|
||||||
|
|
||||||
p, err = podClient.Get(context.TODO(), p.Name, metav1.GetOptions{})
|
p, err = podClient.Get(context.TODO(), p.Name, metav1.GetOptions{})
|
||||||
framework.ExpectNoError(err)
|
framework.ExpectNoError(err)
|
||||||
|
Loading…
Reference in New Issue
Block a user