mirror of https://github.com/k3s-io/k3s
Merge pull request #23285 from pwittrock/flaky
Automatic merge from submit-queue node e2e conformance keep polling if encounters errorspull/6/head
commit
eb665e038c
|
@ -28,7 +28,8 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
serviceCreateTimeout = 2 * time.Minute
|
retryTimeout = 4 * time.Minute
|
||||||
|
pollInterval = time.Second * 5
|
||||||
)
|
)
|
||||||
|
|
||||||
var _ = Describe("Container Conformance Test", func() {
|
var _ = Describe("Container Conformance Test", func() {
|
||||||
|
@ -97,7 +98,7 @@ var _ = Describe("Container Conformance Test", func() {
|
||||||
})
|
})
|
||||||
Context("when running a container that terminates", func() {
|
Context("when running a container that terminates", func() {
|
||||||
var terminateCase ConformanceContainer
|
var terminateCase ConformanceContainer
|
||||||
It("it should start successfully [Conformance]", func() {
|
It("it should run successfully to completion [Conformance]", func() {
|
||||||
terminateCase = ConformanceContainer{
|
terminateCase = ConformanceContainer{
|
||||||
Container: api.Container{
|
Container: api.Container{
|
||||||
Image: "gcr.io/google_containers/busybox",
|
Image: "gcr.io/google_containers/busybox",
|
||||||
|
@ -112,15 +113,11 @@ var _ = Describe("Container Conformance Test", func() {
|
||||||
err := terminateCase.Create()
|
err := terminateCase.Create()
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
|
|
||||||
phase := api.PodPending
|
// TODO: Check that the container enters running state by sleeping in the container #23309
|
||||||
for start := time.Now(); time.Since(start) < serviceCreateTimeout; time.Sleep(time.Second * 30) {
|
Eventually(func() (api.PodPhase, error) {
|
||||||
ccontainer, err := terminateCase.Get()
|
pod, err := terminateCase.Get()
|
||||||
if err != nil || ccontainer.Phase != api.PodPending {
|
return pod.Phase, err
|
||||||
phase = ccontainer.Phase
|
}, retryTimeout, pollInterval).Should(Equal(terminateCase.Phase))
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Expect(phase).Should(Equal(terminateCase.Phase))
|
|
||||||
})
|
})
|
||||||
It("it should report its phase as 'succeeded' [Conformance]", func() {
|
It("it should report its phase as 'succeeded' [Conformance]", func() {
|
||||||
ccontainer, err := terminateCase.Get()
|
ccontainer, err := terminateCase.Get()
|
||||||
|
@ -148,16 +145,10 @@ var _ = Describe("Container Conformance Test", func() {
|
||||||
}
|
}
|
||||||
err := invalidImageCase.Create()
|
err := invalidImageCase.Create()
|
||||||
Expect(err).NotTo(HaveOccurred())
|
Expect(err).NotTo(HaveOccurred())
|
||||||
|
Eventually(func() (api.PodPhase, error) {
|
||||||
phase := api.PodPending
|
pod, err := invalidImageCase.Get()
|
||||||
for start := time.Now(); time.Since(start) < serviceCreateTimeout; time.Sleep(time.Second * 30) {
|
return pod.Phase, err
|
||||||
ccontainer, err := invalidImageCase.Get()
|
}, retryTimeout, pollInterval).Should(Equal(invalidImageCase.Phase))
|
||||||
if err != nil || ccontainer.Phase != api.PodPending {
|
|
||||||
phase = ccontainer.Phase
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Expect(phase).Should(Equal(invalidImageCase.Phase))
|
|
||||||
})
|
})
|
||||||
It("it should report its phase as 'pending' [Conformance]", func() {
|
It("it should report its phase as 'pending' [Conformance]", func() {
|
||||||
ccontainer, err := invalidImageCase.Get()
|
ccontainer, err := invalidImageCase.Get()
|
||||||
|
|
Loading…
Reference in New Issue