Commit Graph

49 Commits

Author SHA1 Message Date
Patrick Ohly
2f6c4f5eab e2e: use Ginkgo context
All code must use the context from Ginkgo when doing API calls or polling for a
change, otherwise the code would not return immediately when the test gets
aborted.
2022-12-16 20:14:04 +01:00
Maciej Szulik
0253397fbd
Use goroutine to speed up volume clenaups
This removes WaitTimeoutForPodNoLongerRunningOrNotFoundInNamespace
introduced in f2b9479f8e and changes
the test to use goroutines to speed up the cleanups.
2022-11-10 13:15:06 +01:00
Michal Wozniak
c803892bd8 Enable the feature into beta 2022-11-09 09:02:40 +01:00
Wei Huang
abe0c5d5b4
E2E test for KEP Scheduling Readiness Gates 2022-11-08 12:38:21 -08:00
Maciej Szulik
f2b9479f8e
Wait for pod not running or gone in storage tests 2022-10-18 13:18:54 +02:00
Patrick Ohly
2d21acb1be e2e framework: eliminate redundant framework/[log|ginkgowrapper]
These sub packages were created by mistake. Logging and failure handling are
core features and must be implemented in the framework package.
2022-10-06 08:16:47 +02:00
Kubernetes Prow Robot
f0823c0f59
Merge pull request #112503 from pohly/e2e-framework-pod-polling
e2e framework: pod polling
2022-09-20 00:05:20 -07:00
Patrick Ohly
004c1b6441 e2e framework: abort polling for running pod early
When the pod state is failed or completed, the pod will never again enter the
running state and polling can stop.
2022-09-19 18:10:04 +02:00
Humble Chirammal
9e9fc2be88 various corrections in test/e2e package
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2022-09-16 18:59:30 +05:30
Patrick Ohly
0bd901afea e2e framework: better error messages when pod has failed or completed
Getting a message about "pod ran to completion" is confusing when the pod
hasn't been able to start at all. The failed state now has a different message.

To address the previous ambiguity, the success state is described as "ran to
completion successfully".
2022-09-16 09:12:51 +02:00
Mikko Ylinen
3128b1a773 e2e: use user provided timeout in WaitForPodsWithLabelRunningReady
The WaitFor* refactoring in 07c34eb400 had an oversight what timeout parameter
is used for calling WaitForAllPodsCondition() in WaitForPodsWithLabelRunningReady()
so the calls to WaitForPodsWithLabelRunningReady() ended up ignoring the user
provided timeout. Fix that.

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2022-08-18 12:05:06 +03:00
Tim Allclair
b289c23394 [e2epod] wait: Don't override non-timeout errors 2022-07-29 17:11:50 -07:00
Tim Allclair
55ec0f2d9d [e2epod] wait: Don't retry on 50X errors 2022-07-29 14:56:33 -07:00
Dave Chen
857458cfa5 update ginkgo from v1 to v2 and gomega to 1.19.0
- update all the import statements
- run hack/pin-dependency.sh to change pinned dependency versions
- run hack/update-vendor.sh to update go.mod files and the vendor directory
- update the method signatures for custom reporters

Signed-off-by: Dave Chen <dave.chen@arm.com>
2022-07-08 10:44:46 +08:00
Patrick Ohly
2b299526b2 e2e: include more information in pod timeout error
The advantage is that the extra error information is guaranteed to be printed
directly before the failure and we avoid one extra log line that would have to
be correlated with the failure.
2022-06-03 13:41:05 +02:00
Tim Allclair
07c34eb400
[E2E] Refactor pod polling functions (WaitForX) (#109704)
* Clean up WaitFor Pod functions

* Handle retryable errors when polling

* Log more context on timeout

* #squash Address PR feedback
2022-05-05 01:42:32 -07:00
ravisantoshgudimetla
82f701aae2 pod admission test 2022-03-22 14:58:27 -04:00
Lee Verberne
da8ddb7485 Create node_e2e test for ephemeral containers 2021-09-27 13:13:33 +02:00
pacoxu
ddaa3466eb correct unsafe sysctls e2e test case & use status reason check instead of events watch
Signed-off-by: Paco Xu <paco.xu@daocloud.io>
2021-08-18 15:11:09 +08:00
Kubernetes Prow Robot
ed5618e2d5
Merge pull request #104061 from aojea/waitForPodsReady
replace e2e WaitForPodsReady by WaitTimeoutForPodReadyInNamespace
2021-08-05 08:18:24 -07:00
Antonio Ojea
34f4959633 replace e2e WaitForPodsReady by WaitTimeoutForPodReadyInNamespace 2021-08-01 19:24:52 +02:00
Antonio Ojea
50b3cbe999 e2e: remove unused sync.WaitGroup 2021-07-19 18:24:03 +02:00
Konstantin Misyutin
351f4e9c9c cleanup: remove TODO at e2e scheduling preemption test
Signed-off-by: Konstantin Misyutin <konstantin.misyutin@huawei.com>
2021-05-19 17:34:50 +08:00
Kubernetes Prow Robot
0fecc01567
Merge pull request #100300 from DangerOnTheRanger/reboot-flake-fix
Fix E2E node reboot test flake
2021-03-18 16:30:36 -07:00
Kermit Alexander
81040d386f Return last pod error when apierrors.IsNotFound returns true in WaitForPodCondition. 2021-03-18 00:53:26 +00:00
Kermit Alexander
3213e36430 Always check passed podCondition in WaitForPodCondition. 2021-03-17 23:14:29 +00:00
Kermit Alexander
c2aa40ca13 Do not early exit if pod is not found in WaitForPodCondition. 2021-03-16 14:44:19 +00:00
Matthias Bertschy
b203fb0565 Deflake e2e test for startupProbe 2021-03-06 14:43:45 +01:00
Antonio Ojea
04b1062cbc e2e createSync() method wait for pod running and ready
The user expectections calling this method is that the pod should
be ready for the test, however, it only checks that is running,
causing timing issues on busy environments.

Per example, if the pod is not ready, kube-proxy or other services
implementations will not forward traffic to it.
2021-02-17 22:15:30 +01:00
Clayton Coleman
286d989d8d
test/e2e: Allow test invokers to skip test waits before and after
A number of e2e tests are useful to run after the system has been
disrupted or is in the progress of being disrupted, but the current
suite and test logic blocks progress waiting for all nodes to be
healthy.

By passing -1 to --minStartupPods or --allowed-not-ready-nodes flags
the caller can bypass wait logic before and after test suites that
would prevent running e2e during disruption. This allows use of parts
of the e2e suite during cluster duress to verify that controllers or
components still function.
2021-02-04 20:14:05 -05:00
Fabio Bertinatto
ee082985c2 e2e: promote use of functions that support custom timeouts in storage tests.
WaitForPodSuccessInNamespace[Slow] are replaced by WaitForPodSuccessInNamespaceTimeout(),
so that custom timeouts are used instead of the hardcoded ones.
2020-12-02 16:14:13 -03:00
David Eads
64c099d670 remove secondary client retries in e2e tests 2020-10-15 08:30:42 -04:00
Jan Safranek
6e85ebd0cd Add error text to kube-system wait error
On HA API server hiccups we saw a prow job with error:

fail [k8s.io/kubernetes@v1.19.0/test/e2e/e2e.go:284]: Sep 30 17:06:08.313: Error waiting for all pods to be running and ready: 0 / 0 pods in namespace "kube-system" are NOT in RUNNING and READY state in 10m0s
POD NODE PHASE GRACE CONDITIONS

The failure should include the last error from API server, if it's
available:

fail [k8s.io/kubernetes@v1.19.0/test/e2e/e2e.go:284]: Oct  1 11:29:45.220: Error waiting for all pods to be running and ready: 0 / 0 pods in namespace "kube-system" are NOT in RUNNING and READY state in 10m0s
Last error: Get "https://localhost:6443/api/v1/namespaces/kube-system/replicationcontrollers": dial tcp [::1]:6443: connect: connection refused
POD NODE PHASE GRACE CONDITIONS
2020-10-01 13:33:14 +02:00
Claudiu Belu
72a26aed7d tests: Fixes variable expansion false positive test
Some of the tests are negative test cases which are supposed to ensure that those
invalid usecases are handled properly.

However, some of the tests are false positives, they can pass due to various reasons.
One such example is: "should fail substituting values in a volume subpath with absolute path".
This test can pass if:

- the Pod cannot start due to various reasons (e.g.: the container image cannot be pulled or does
  not exist).
- the Pod ran to completion, even though the container was not supposed to start in the first place.
2020-07-31 01:23:09 -07:00
SataQiu
b748c702d9 e2e/framework: remove direct import to pkg/kubelet/util/format 2020-03-27 17:19:00 +08:00
SataQiu
6a41f331da e2e/framework: remove direct imports to pkg/api/v1/pod 2020-03-18 11:10:06 +08:00
drfish
f4da086cbe Move resource methods from e2e fw to e2e resource fw 2020-03-08 15:27:49 +08:00
tanjunchen
efec7e64ce remove TODO and use framework.SingleCallTimeout 2020-02-14 01:12:46 +08:00
Kubernetes Prow Robot
09b13aec37
Merge pull request #87947 from tanjunchen/remove-TODO-and-unused-code
remove TODO and unused code
2020-02-09 00:19:52 -08:00
tanjunchen
364c6f1173 remove TODO and unused code 2020-02-09 00:38:16 +08:00
Mike Danese
3aa59f7f30 generated: run refactor 2020-02-07 18:16:47 -08:00
Suresh Palemoni
6da3b70377 grammar change for pods status in tests
Signed-off-by: Suresh Palemoni <suresh.palemoni@gmail.com>
2020-01-30 09:34:37 +04:00
danielqsj
fc738cbb1d unify alias of api errors under test 2019-12-26 16:40:45 +08:00
hwdef
d45107a00d test/e2e: move funcs from test/e2e/pod to other folders 2019-12-16 11:58:49 +08:00
Masaki Kimura
04300826fd Rename WaitTimeoutForPodEvent to WaitTimeoutForEvent and move it to common/events.go 2019-08-19 16:11:30 +00:00
draveness
83e0d99614 refactor: use controller.FilterActivePods in framework e2e test 2019-07-01 18:12:02 +08:00
Jorge Alarcon Ochoa
4147d727a6 Refactored runtime.Object helper functions into subpkg
Organized functions that abstract the access of
k8s.io/apimachinery/pkg/runtime.Objects into a framework subpackge.

Signed-off-by: Jorge Alarcon Ochoa <alarcj137@gmail.com>
2019-06-20 21:42:59 -04:00
Patrick Ohly
baef3e44cd e2e: fix return value of WaitForPodsWithLabelRunningReady
Because of a := assignment, the anonymous function assigned the pod
list to a local variable instead of the
WaitForPodsWithLabelRunningReady return value which therefore always
was nil.

The correct code is an assignment with = as in WaitForPodsWithLabelScheduled.
2019-06-18 09:07:31 +02:00
Jorge Alarcon Ochoa
4969a05327 Refactored pod-related functions from framework/util.go
This a refactoring of framework/utils.go into framework/pod.

Signed-off-by: Jorge Alarcon Ochoa <alarcj137@gmail.com>
2019-05-30 09:30:26 -04:00