Commit Graph

3569 Commits

Author SHA1 Message Date
carlory
137ad9bf2b clean up deprecated funcs in e2e framework 2023-10-09 16:51:53 +08:00
carlory
bb02d0feba fix incorrect Consistently due to missing assignment when create a newAsyncAssertion 2023-10-08 13:23:46 +08:00
Kubernetes Prow Robot
9af7096c89 Merge pull request #120968 from borg-land/remove-kubeup-tests-1
Remove an e2e test specific to kubeup clusters - Part One
2023-10-06 19:20:11 +02:00
upodroid
243ba5fb6b remove an e2e test specific to kubeup clusters 2023-10-02 16:21:41 +01:00
Kubernetes Prow Robot
d924775d78 Merge pull request #120750 from pohly/test-output-init-fix
e2e framework: adapt unit test to Go 1.22
2023-09-27 06:26:10 -07:00
Kubernetes Prow Robot
144baff189 Merge pull request #120598 from neolit123/1.29-kubeadm-ownders-cleanup
/cmd/kubeadm,/test/e2e*: update OWNERS for fabriziopandini & RA489
2023-09-19 21:39:59 -07:00
Patrick Ohly
83c37acb21 e2e framework: adapt unit test to Go 1.22
Go 1.22 changed the name of init functions from "glob..func" to
"init.func". That difference is acceptable and has to be ignored when comparing
output.
2023-09-19 12:18:34 +02:00
Kubernetes Prow Robot
a68093a3ff Merge pull request #120506 from alexzielenski/import-restrictions
Update e2e import restrictions
2023-09-13 21:56:22 -07:00
Lubomir I. Ivanov
3d91ffc6f9 /cmd/kubeadm,/test/e2e*: update OWNERS for fabriziopandini & RA489
- move fabriziopandini to emeritus_approvers for /test/e2e*
and /cmd/kubeadm. fabriziopandini remains in /OWNERS_ALIASES
under sig-cluster-lifecycle-leads.
- remove RA489 as reviewer for /test/e2e* and /cmd/kubeadm
2023-09-12 12:35:40 +03:00
Patrick Ohly
fc3ee07b51 e2e pods: fix WaitForPodsResponding retry
The status error was embedded inside the new error constructed by
WaitForPodsResponding's get function, but not wrapped. Therefore
`apierrors.IsServiceUnavailable(err)` didn't find it and returned false -> no
retries.

Wrapping fixes this and Gomega formatting of the error remains useful:

	err := &errors.StatusError{}
	err.ErrStatus.Code = 503
	err.ErrStatus.Message = "temporary failure"

	err2 := fmt.Errorf("Controller %s: failed to Get from replica pod %s:\n%w\nPod status:\n%s",
		"foo", "bar",
		err, "some status")
	fmt.Println(format.Object(err2, 1))
        fmt.Println(errors.IsServiceUnavailable(err2))

=>

    <*fmt.wrapError | 0xc000139340>:
    Controller foo: failed to Get from replica pod bar:
    temporary failure
    Pod status:
    some status
    {
        msg: "Controller foo: failed to Get from replica pod bar:\ntemporary failure\nPod status:\nsome status",
        err: <*errors.StatusError | 0xc0001a01e0>{
            ErrStatus: {
                TypeMeta: {Kind: "", APIVersion: ""},
                ListMeta: {
                    SelfLink: "",
                    ResourceVersion: "",
                    Continue: "",
                    RemainingItemCount: nil,
                },
                Status: "",
                Message: "temporary failure",
                Reason: "",
                Details: nil,
                Code: 503,
            },
        },
    }

    true
2023-09-11 11:54:15 +02:00
Kubernetes Prow Robot
cc0a24d2e8 Merge pull request #120406 from wlq1212/cheanup/framework/timeout
e2e_framework:stop using deprecated wait.ErrwaitTimeout
2023-09-10 21:10:10 -07:00
Alexander Zielenski
7a13b11af0 update e2e import restrictions 2023-09-07 12:20:29 -07:00
carlory
f33265cf5d HandleRetry has already called in the GetObject 2023-09-07 15:48:18 +08:00
wlq1212
ef235c4eac e2e_framework:stop using deprecated wait.ErrwaitTimeout 2023-09-05 14:19:42 +08:00
wlq1212
a56745c706 e2e_cloud:stop using deprecated framework.ExpectError 2023-09-01 17:53:37 +08:00
Patrick Ohly
2472291790 api: introduce separate VolumeResourceRequirements struct
PVC and containers shared the same ResourceRequirements struct to define their
API. When resource claims were added, that struct got extended, which
accidentally also changed the PVC API. To avoid such a mistake from happening
again, PVC now uses its own VolumeResourceRequirements struct.

The `Claims` field gets removed because risk of breaking someone is low:
theoretically, YAML files which have a claims field for volumes now
get rejected when validating against the OpenAPI. Such files
have never made sense and should be fixed.

Code that uses the struct definitions needs to be updated.
2023-08-21 15:31:28 +02:00
Richa Banker
4712025ea8 Graduate kubelet resource metrics to GA 2023-08-17 09:22:48 -07:00
Kubernetes Prow Robot
18290bfdc8 Merge pull request #119966 from aojea/fixfix
e2e framework util subtle bug checking endpoints
2023-08-16 09:33:08 -07:00
git-jxj
a5b3a4b738 cleanup: Update deprecated FromInt to FromInt32 (#119858)
* redo commit

* apply suggestions from liggitt

* update Parse function based on suggestions
2023-08-16 09:33:01 -07:00
Antonio Ojea
8314122382 e2e framework util subtle bug checking endpoints
Change-Id: Ied14efcb75a45e3bbd5f76d4ee4c89703161df54
2023-08-16 08:18:11 +00:00
Kubernetes Prow Robot
b57b2dcfcf Merge pull request #119928 from aojea/fixe2e
e2e WaitForServiceEndpointsNum take into account the address family
2023-08-16 00:24:27 -07:00
Kubernetes Prow Robot
67c33faddd Merge pull request #117631 from skitt/intstr-fromint32-testing
Test: use new intstr functions
2023-08-15 15:16:27 -07:00
Antonio Ojea
a0f07f2b4d e2e WaitForServiceEndpointsNum take into account the address family
Since EndpointSlices can carry dual stack families, but Endpoints can
only have one single family, the function must take this into account
and only compare the addresses of the same family, otherwise it will
always fail for Services with dual stack endoints, because the endpoint
slices will have always twice addresses than the Endpoints.

Change-Id: Id08cb22f8a2adc103a4f5a4fe3eec25f448cd21b
2023-08-14 17:02:50 +00:00
Antonio Ojea
2ceca1c78d e2e WaitForServiceEndpointsNum should watch EndpointSlices
EndpointSlices is the evolution of the Endpoint object and most of the
components are using it for implementing Services, this menas that
despite the Endpoint object is up to date, the EndpointSlices may
lag behind, so test must ensure that both objects are in sync to
avoid race conditions.

Change-Id: I5d9bc7774c68f321537379d1f20b2a1fe0b39e6e
2023-08-07 18:34:06 +00:00
Rafael Fonseca
9f5b6db8be test: azure: check error for cloud detection.
If something goes wrong during the Azure cloud detection, trying to cast
the returned value will result in the following panic and give no clue
as to what the error was.

```
  panic: interface conversion: cloudprovider.Interface is nil, not *azure.Cloud

goroutine 1 [running]:
k8s.io/kubernetes/test/e2e/framework/providers/azure.newProvider()
	test/e2e/framework/providers/azure/azure.go:50 +0x2b5
k8s.io/kubernetes/test/e2e/framework.SetupProviderConfig({0xc0007966b8, 0x5})
	test/e2e/framework/provider.go:82 +0x1a6
```
2023-07-13 09:04:24 +02:00
Kubernetes Prow Robot
d48fc2ad2d Merge pull request #119035 from saschagrunert/critical-pod
Fix `should be able to create and delete a critical pod` test
2023-07-06 00:51:03 -07:00
Patrick Ohly
c903c29c3b e2e: support admissionapi.LevelRestricted in test/e2e/framwork/pod
CreatePod and MakePod only accepted an `isPrivileged` boolean, which made it
impossible to write tests using those helpers which work in a default
framework.Framework, because the default there is LevelRestricted.

The simple boolean gets replaced with admissionapi.Level. Passing
LevelRestricted does the same as calling e2epod.MixinRestrictedPodSecurity.

Instead of explicitly passing a constant to these modified helpers, most tests
get updated to pass f.NamespacePodSecurityLevel. This has the advantage
that if that level gets lowered in the future, tests only need to be updated in
one place.

In some cases, helpers taking client+namespace+timeouts parameters get replaced
with passing the Framework instance to get access to
f.NamespacePodSecurityEnforceLevel. These helpers don't need separate
parameters because in practice all they ever used where the values from the
Framework instance.
2023-07-03 16:26:28 +02:00
Sascha Grunert
bcbc12cd79 Fix should be able to create and delete a critical pod test
The namespace the crictical pod was referring to was wrong, because it
was using the generated one instead of `kube-system`. This and the
resulting test condition is now fixed.

The test seems to run only in `ci-crio-cgroupv1-node-e2e-flaky` for now.

Closes https://github.com/kubernetes/kubernetes/issues/109296

Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2023-07-03 11:15:59 +02:00
Kubernetes Prow Robot
2190775b69 Merge pull request #118280 from stlaz/e2e_psa_labels
Set all PSa labels in tests
2023-06-28 11:14:43 -07:00
Kubernetes Prow Robot
9d50c0a025 Merge pull request #118889 from swetharepakula/extend-timeout
Extend Large Create Timeout to 60 min
2023-06-26 20:04:42 -07:00
Swetha Repakula
08198fe22b Extend Large Create Timeout to 60 min
* Load balancers are taking greater than 45 to provision
 * https://github.com/kubernetes/kubernetes/issues/118295
2023-06-26 15:32:34 -07:00
Stanislav Laznicka
e5cbc51d29 e2e framework: allow setting all PSa labels at once 2023-06-21 13:02:01 +02:00
upodroid
a29be0cfb0 update container runtime flags to use containerd instead of docker 2023-06-14 19:18:39 +01:00
SataQiu
4dbece1e20 e2e-framework: remove node-role.kubernetes.io/master taint from non-blocking-taints 2023-06-06 22:19:55 +08:00
guoguangwu
923db7bd8e chore: use strings.Contains instead 2023-06-06 14:29:20 +08:00
TommyStarK
d9e2583af1 test/e2e: replace deprecated ioutil
Signed-off-by: TommyStarK <thomasmilox@gmail.com>
2023-05-29 19:36:29 +02:00
SataQiu
4d2ff08bfa e2e-framework: code cleanup for mismatched comments 2023-05-26 12:36:19 +08:00
Antonio Ojea
e31b2080f5 e2e framework retry on Service unavailable errors
the e2e framwork use active loops to wait for certain async operations,
these loops need to retry on some operations and fail in others.

For the functions that depend on some operations to happen, the
apiserver may return 503 errors until that specific service is
available, so we should retry on those too.

Change-Id: Ib3d194184f6385b9d3d151c7055f27c97c21c3ff
2023-05-25 11:22:45 +00:00
Humble Chirammal
36f0caf7ec remove GlusterFS references from test/e2e/* comments/descriptions
Signed-off-by: Humble Chirammal <humble.devassy@gmail.com>
2023-05-17 17:40:28 +05:30
Humble Chirammal
e3eb4bd0c5 updating dependencies.yaml for etcd v3.5.9 version
Signed-off-by: Humble Chirammal <humble.devassy@gmail.com>
2023-05-16 20:27:17 +05:30
Kubernetes Prow Robot
c72bedb6cb Merge pull request #117670 from carlory/fix-issue-117583
e2e framework: remove dependency on k8s.io/kubernetes/pkg/api/v1/pod
2023-05-12 09:39:01 -07:00
carlory
20602c819b e2e framework: remove dependency on k8s.io/kubernetes/pkg/api/v1/pod 2023-05-12 08:39:37 +08:00
Maciej Szulik
8c82855467 When expecting pods count only active ones 2023-05-11 13:04:42 +02:00
Stephen Kitt
3418ceaca6 test: replace intstr.FromInt with intstr.FromInt32
This touches cases where FromInt() is used on numeric constants, or
values which are already int32s, or int variables which are defined
close by and can be changed to int32s with little impact.

Signed-off-by: Stephen Kitt <skitt@redhat.com>
2023-05-10 09:34:16 +02:00
kkkkun
c56839c0a1 etcd: Update version to 3.5.8
Signed-off-by: kkkkun <scuzk373x@gmail.com>
2023-05-06 17:29:47 +08:00
Kubernetes Prow Robot
0a30e39209 Merge pull request #116947 from rphillips/bump_all_nodes_ready_timeout
e2e node: bump all nodes ready timeout
2023-05-02 10:02:13 -07:00
Piotr Betkier
d952437921 Fix flaky HPA e2e tests by not failing on context cancelled (#117669)
* Fix flaky HPA e2e tests by not failing on context cancelled

Consume requests are sent during test execution in a loop in a separate goroutine. Once the test completes, it is expected that a consumption request may be pending. Cancelling the request during cleanup should not cause test failures.

Tests started being flaky since #112923 introduced passing test context that gets cancelled during cleanup.

* Use PollUntilContextTimeout and restructure error ignoring logic
2023-05-02 05:42:12 -07:00
Kubernetes Prow Robot
9db01b6eb3 Merge pull request #117453 from liggitt/fix-applyset-e2e-env
Fix stomping os env in kubectl e2e tests
2023-04-18 22:26:45 -07:00
Jordan Liggitt
0c54d9af6f Fix stomping os env in kubectl e2e tests 2023-04-19 01:32:20 +02:00
Stephen Kitt
0a8343352b Document gomega.Equal() instead of gomega.BeEqual()
BeEqual() doesn't exist, document Equal() instead (as used in the
actual code).

Signed-off-by: Stephen Kitt <skitt@redhat.com>
2023-04-17 22:47:38 +02:00