mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-21 19:01:49 +00:00
Merge pull request #99147 from aojea/waitreadyrunning
e2e createSync() method wait for pod running and ready
This commit is contained in:
commit
960e5e7825
@ -213,7 +213,8 @@ var _ = ginkgo.Describe("[sig-storage] ConfigMap", func() {
|
|||||||
})
|
})
|
||||||
|
|
||||||
ginkgo.By("Creating the pod")
|
ginkgo.By("Creating the pod")
|
||||||
f.PodClient().CreateSync(pod)
|
f.PodClient().Create(pod)
|
||||||
|
e2epod.WaitForPodNameRunningInNamespace(f.ClientSet, pod.Name, f.Namespace.Name)
|
||||||
|
|
||||||
pollLogs1 := func() (string, error) {
|
pollLogs1 := func() (string, error) {
|
||||||
return e2epod.GetPodLogs(f.ClientSet, f.Namespace.Name, pod.Name, pod.Spec.Containers[0].Name)
|
return e2epod.GetPodLogs(f.ClientSet, f.Namespace.Name, pod.Name, pod.Spec.Containers[0].Name)
|
||||||
|
@ -282,7 +282,8 @@ var _ = ginkgo.Describe("[sig-storage] EmptyDir volumes", func() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ginkgo.By("Creating Pod")
|
ginkgo.By("Creating Pod")
|
||||||
pod = f.PodClient().CreateSync(pod)
|
f.PodClient().Create(pod)
|
||||||
|
e2epod.WaitForPodNameRunningInNamespace(f.ClientSet, pod.Name, f.Namespace.Name)
|
||||||
|
|
||||||
ginkgo.By("Reading file content from the nginx-container")
|
ginkgo.By("Reading file content from the nginx-container")
|
||||||
result := f.ExecShellInContainer(pod.Name, busyBoxMainContainerName, fmt.Sprintf("cat %s", busyBoxMainVolumeFilePath))
|
result := f.ExecShellInContainer(pod.Name, busyBoxMainContainerName, fmt.Sprintf("cat %s", busyBoxMainVolumeFilePath))
|
||||||
|
@ -19,6 +19,7 @@ package common
|
|||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
"context"
|
"context"
|
||||||
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"runtime/debug"
|
"runtime/debug"
|
||||||
@ -28,7 +29,6 @@ import (
|
|||||||
|
|
||||||
"golang.org/x/net/websocket"
|
"golang.org/x/net/websocket"
|
||||||
|
|
||||||
"encoding/json"
|
|
||||||
v1 "k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/labels"
|
"k8s.io/apimachinery/pkg/labels"
|
||||||
@ -813,7 +813,8 @@ var _ = framework.KubeDescribe("Pods", func() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ginkgo.By("submitting the pod to kubernetes")
|
ginkgo.By("submitting the pod to kubernetes")
|
||||||
podClient.CreateSync(pod)
|
f.PodClient().Create(pod)
|
||||||
|
e2epod.WaitForPodNameRunningInNamespace(f.ClientSet, pod.Name, f.Namespace.Name)
|
||||||
framework.ExpectEqual(podClient.PodIsReady(podName), false, "Expect pod's Ready condition to be false initially.")
|
framework.ExpectEqual(podClient.PodIsReady(podName), false, "Expect pod's Ready condition to be false initially.")
|
||||||
|
|
||||||
ginkgo.By(fmt.Sprintf("patching pod status with condition %q to true", readinessGate1))
|
ginkgo.By(fmt.Sprintf("patching pod status with condition %q to true", readinessGate1))
|
||||||
|
@ -357,7 +357,7 @@ func WaitForPodNoLongerRunningInNamespace(c clientset.Interface, podName, namesp
|
|||||||
return WaitTimeoutForPodNoLongerRunningInNamespace(c, podName, namespace, defaultPodDeletionTimeout)
|
return WaitTimeoutForPodNoLongerRunningInNamespace(c, podName, namespace, defaultPodDeletionTimeout)
|
||||||
}
|
}
|
||||||
|
|
||||||
// WaitTimeoutForPodReadyInNamespace waits the given timeout diration for the
|
// WaitTimeoutForPodReadyInNamespace waits the given timeout duration for the
|
||||||
// specified pod to be ready and running.
|
// specified pod to be ready and running.
|
||||||
func WaitTimeoutForPodReadyInNamespace(c clientset.Interface, podName, namespace string, timeout time.Duration) error {
|
func WaitTimeoutForPodReadyInNamespace(c clientset.Interface, podName, namespace string, timeout time.Duration) error {
|
||||||
return wait.PollImmediate(poll, timeout, podRunningAndReady(c, podName, namespace))
|
return wait.PollImmediate(poll, timeout, podRunningAndReady(c, podName, namespace))
|
||||||
|
@ -96,12 +96,12 @@ func (c *PodClient) Create(pod *v1.Pod) *v1.Pod {
|
|||||||
return p
|
return p
|
||||||
}
|
}
|
||||||
|
|
||||||
// CreateSync creates a new pod according to the framework specifications, and wait for it to start.
|
// CreateSync creates a new pod according to the framework specifications, and wait for it to start and be running and ready.
|
||||||
func (c *PodClient) CreateSync(pod *v1.Pod) *v1.Pod {
|
func (c *PodClient) CreateSync(pod *v1.Pod) *v1.Pod {
|
||||||
namespace := c.f.Namespace.Name
|
namespace := c.f.Namespace.Name
|
||||||
p := c.Create(pod)
|
p := c.Create(pod)
|
||||||
ExpectNoError(e2epod.WaitForPodNameRunningInNamespace(c.f.ClientSet, p.Name, namespace))
|
ExpectNoError(e2epod.WaitTimeoutForPodReadyInNamespace(c.f.ClientSet, p.Name, namespace, PodStartTimeout))
|
||||||
// Get the newest pod after it becomes running, some status may change after pod created, such as pod ip.
|
// Get the newest pod after it becomes running and ready, some status may change after pod created, such as pod ip.
|
||||||
p, err := c.Get(context.TODO(), p.Name, metav1.GetOptions{})
|
p, err := c.Get(context.TODO(), p.Name, metav1.GetOptions{})
|
||||||
ExpectNoError(err)
|
ExpectNoError(err)
|
||||||
return p
|
return p
|
||||||
|
Loading…
Reference in New Issue
Block a user