Commit Graph

22587 Commits

Author SHA1 Message Date
kidddddddddddddddddddddd
6ca62eb2cb refactor 2022-12-13 11:36:12 +08:00
Kubernetes Prow Robot
73ed9e70ed Merge pull request #114052 from ionutbalutoiu/tests/lb-rolling-update
tests: Add DaemonSet with LB rolling update test
2022-12-12 18:47:52 -08:00
Kubernetes Prow Robot
923ee203f3 Merge pull request #110991 from thockin/svc-typenames-starTrafficPolicyType
Svc typenames star traffic policy type
2022-12-12 18:47:33 -08:00
Ang Gao
3540f948e9 Update method name to make it more explicit 2022-12-12 21:50:07 +00:00
Kubernetes Prow Robot
60274a1a0a Merge pull request #114131 from aojea/noflaky_lb
remove flaky tag for GCE NEG tests
2022-12-12 11:43:33 -08:00
Swati Sehgal
62e4d39c2f node: e2e: address review comments (2022/12/12)
- use `ginkgo.DeferCleanup` instead of clean up in the AfterEach block
- encourage use of ginkgo by not extending expect.go

Signed-off-by: Swati Sehgal <swsehgal@redhat.com>
2022-12-12 16:31:40 +00:00
Ionut Balutoiu
3feea9db7c tests: Add DaemonSet with LB rolling update test
Add a test case with a DaemonSet behind a simple load balancer whose
address is being constantly hit via HTTP requests.

The test passes if there are no errors when doing HTTP requests to the
load balancer address, during DaemonSet `RollingUpdate` operations.

Signed-off-by: Ionut Balutoiu <ibalutoiu@cloudbasesolutions.com>
2022-12-12 17:16:12 +02:00
Swati Sehgal
a9e3689e63 node: e2e: ensure clean cluster state before e2e tests are run
Signed-off-by: Swati Sehgal <swsehgal@redhat.com>
2022-12-12 14:50:36 +00:00
Swati Sehgal
7e880d1bab node: e2e: ensure log rotation pod is deleted after test
Some node e2e tests check for expected number of pods running
on the node to verify the correct state of that node after running
test scenarios. An example of such a check is in the device plugin
end to end test here: [1].

If the node is not left in a clean state after an e2e test finishes
running, it can lead to flaky tests because the node might have
unexpected pods running on the node.

In order to avoid that, we make sure that the test pods are
cleaned up after the test runs.

[1]: https://github.com/kubernetes/kubernetes/blob/master/test/e2e_node/device_plugin_test.go#L189-L190

Signed-off-by: Swati Sehgal <swsehgal@redhat.com>
2022-12-12 14:50:32 +00:00
Patrick Ohly
5c09ca57ff e2e storage: remove context.WithCancel
The context provided by Ginkgo will get cancelled automatically.
2022-12-12 11:30:07 +01:00
Patrick Ohly
896c6fa082 e2e framework: add AnnotatedLocationWithOffset
This is useful in helper functions which themselves don't need to be recorded.
2022-12-12 11:30:07 +01:00
Patrick Ohly
c466c49682 e2e apps: avoid assertions in wait.Until callback
wait.Until catches panics and logs them, which leads to confusing
output. Besides, the test is written so that failures must get reported to the
main goroutine.
2022-12-12 11:30:07 +01:00
Patrick Ohly
2168dd5334 e2e apps: capture expected state before making changes
Looking up the expected nodes in the goroutine raced with the test making
changes to the configuration. When doing (unrelated?) changes, the test started
to fail:

Oct 23 15:47:03.092: INFO: Unexpected error:
    <*errors.errorString | 0xc001154c70>: {
        s: "no subset of available IP address found for the endpoint test-rolling-update-with-lb within timeout 2m0s",
    }
Oct 23 15:47:03.092: FAIL: no subset of available IP address found for the endpoint test-rolling-update-with-lb within timeout 2m0s
2022-12-12 11:30:07 +01:00
Patrick Ohly
7454c3ff81 e2e metrics: remove incorrect comment
The "should report resource usage through the resource metrics api" E2E test
calls getResourceMetrics, which calls GrabKubeletMetricsWithoutProxy.
2022-12-12 11:30:07 +01:00
Patrick Ohly
8c27313cfd e2e storage: don't panic when server stops
Now that everything is connected to a per-test context, the gRPC server might
encounter an error before it gets shut down normally. We must not panic in that
case because it would kill the entire Ginkgo worker process. This is not even
an error, so just log it as info message.
2022-12-12 11:30:07 +01:00
Patrick Ohly
f897c86119 e2e framework: support ignoring "not found" errors during DeferCleanup
The wrapper can be used in combination with ginkgo.DeferCleanup to ignore
harmless "not found" errors during delete operations.

Original code suggested by Onsi Fakhouri.
2022-12-12 11:30:07 +01:00
Patrick Ohly
73b60ba769 e2e framework: don't fail when DumpAllNamespaceInfo is nil
It is set in all of the test/e2e* suites, but not in the ginkgo output
tests. This check is needed before adding a test case there which would trigger
this nil pointer access.
2022-12-12 11:30:07 +01:00
Ang Gao
1931494333 make GetSubnetPrefix IP family agnostic 2022-12-12 01:26:42 +00:00
Tim Hockin
d0e2b06850 ServiceExternalTrafficPolicyType: s/Type//
Rename ServiceExternalTrafficPolicyType => ServiceExternalTrafficPolicy
2022-12-11 13:48:27 -08:00
Kubernetes Prow Robot
23c65ec590 Merge pull request #114411 from aojea/e2e_panic
don't assert error inside goroutines
2022-12-11 10:13:32 -08:00
Kubernetes Prow Robot
f256321e76 Merge pull request #114401 from pohly/e2e-ginkgo-timeouts-callbacks
e2e: accept context from Ginkgo
2022-12-11 09:07:14 -08:00
Antonio Ojea
2956bb39a1 don't assert error inside goroutines
Change-Id: Ifed741d1973e96063378620daf7b8b22647bc2fb
2022-12-11 15:34:17 +00:00
SataQiu
40a6d6306a autoscaling: advance v2 as the preferred API version over v1 2022-12-11 13:09:39 +08:00
Patrick Ohly
a4e6fea164 e2e: fix line numbering in unit tests
Adding the "context" import in the previous commit must get compensated by
removing one of the blank lines in the output unit tests, otherwise the stack
backtrace don't match expectations.
2022-12-10 21:49:05 +01:00
Patrick Ohly
16f05373f4 e2e framework internal: normalize anonymous functions with parameters
This will become relevant for

   ginkgo.BeforeEach(func(ctx context.Context) { ... })
2022-12-10 21:47:17 +01:00
Patrick Ohly
0d73c0d0e5 e2e: fix linter errors
Adding "ctx" as parameter in the previous commit led to some linter errors
about code that overwrites "ctx" without using it.

This gets fixed by replacing context.Background or context.TODO in those code
lines with the new ctx parameter.

Two context.WithCancel calls can get removed completely because the context
automatically gets cancelled by Ginkgo when the test returns.
2022-12-10 20:35:46 +01:00
Patrick Ohly
df5d84ae81 e2e: accept context from Ginkgo
Every ginkgo callback should return immediately when a timeout occurs or the
test run manually gets aborted with CTRL-C. To do that, they must take a ctx
parameter and pass it through to all code which might block.

This is a first automated step towards that: the additional parameter got added
with

    sed -i 's/\(framework.ConformanceIt\|ginkgo.It\)\(.*\)func() {$/\1\2func(ctx context.Context) {/' \
        $(git grep -l -e framework.ConformanceIt -e ginkgo.It )
    $GOPATH/bin/goimports -w $(git status | grep modified: | sed -e 's/.* //')

log_test.go was left unchanged.
2022-12-10 19:50:18 +01:00
Kubernetes Prow Robot
63ff4a2659 Merge pull request #114392 from pohly/e2e-apimachinery-cleanup
e2e apimachinery: simplify cleanup
2022-12-10 09:06:31 -08:00
Kubernetes Prow Robot
a40111cdd0 Merge pull request #114350 from Huang-Wei/fix-flaky-test
Deflake a preemption test that may patch Node incorrectly
2022-12-10 09:06:02 -08:00
Kubernetes Prow Robot
9758911fd5 Merge pull request #114252 from ardaguclu/scale-piped-input
kubectl scale: Use visitor only once
2022-12-10 07:55:19 -08:00
Kubernetes Prow Robot
9f85f6d1f1 Merge pull request #114249 from ardaguclu/improve-exec-multi-error
kubectl exec: return descriptive error message when multi resource passed
2022-12-10 07:55:12 -08:00
Kubernetes Prow Robot
4f28854c09 Merge pull request #114223 from sathyanarays/improve_scheduler_test_coverage
Improving scheduler extender unit tests
2022-12-10 07:54:44 -08:00
Kubernetes Prow Robot
e23139d487 Merge pull request #114196 from elmiko/spellfix-for-daemonset-test
fix spelling error in e2e upgrade apps daemonset test
2022-12-10 07:54:17 -08:00
Kubernetes Prow Robot
2118bc8aec Merge pull request #114155 from aojea/mirroring_repack
endpointslicemirroring handle endpoints with multiple subsets
2022-12-10 07:53:42 -08:00
Kubernetes Prow Robot
9f46fa2004 Merge pull request #114156 from Riaankl/update-ineligible-endpoints-yaml
update ineligible_endpoints.yaml to include getResourceAPIGroup
2022-12-10 06:04:56 -08:00
Kubernetes Prow Robot
ce9b912ca6 Merge pull request #114085 from saschagrunert/gcb-docker-gcloud-bump
Bump gcb-docker-gcloud to `v20221007-69e0da97ef`
2022-12-10 06:04:33 -08:00
Kubernetes Prow Robot
75b67bf0d3 Merge pull request #114054 from brianpursley/kubectl-1327
i18n: Fix bug where package-level variables are not translated.
2022-12-10 06:04:02 -08:00
Antonio Ojea
ef6d9edea5 endpointslicemirroring handle endpoints with multiple subsets
Endpoints generated by the endpoints controller are in the canonical
form, however, custom endpoints can not be in canonical format
(there was a time they were canonicalized in the apiserver, but this
caused performance issues because the endpoint controller kept
updating them since the created endpoint were different than the
stored one due to the canonicalization)

There are cases where a custom endpoint may generate multiple slices
due to the controller, per example, when the same address is present
in different subsets.

The endpointslice mirroring controller should canonicalize the
endpoints subsets before start processing them to be consistent
on the slices generated, there is no risk of hotlooping because
the endpoint is only used as input.

Change-Id: I2a8cd53c658a640aea559a88ce33e857fa98cc5c
2022-12-10 11:44:10 +00:00
Kubernetes Prow Robot
0cd13e573c Merge pull request #113196 from mimowo/job-controller-reviewer
Self-nominate mimowo as a reviewer for pkg/controller/job & test/integration/job packages
2022-12-10 02:01:39 -08:00
Gunju Kim
69fcde750a Update daemonSet status even if syncDaemonSet fails
This ensures that the daemonset controller updates daemonset statuses in
a best-effort manner even if syncDaemonSet fails.

In order to add an integration test, this also replaces
`cmd/kube-apiserver/app/testing.StartTestServer` with
`test/integration/framework.StartTestServer` and adds
`setupWithServerSetup` to configure the admission control of the
apiserver.
2022-12-10 11:45:56 +09:00
Kubernetes Prow Robot
bc5c898b65 Merge pull request #112955 from deads2k/ingress-wait
wait for ingress admission to catch up to the cache during testing
2022-12-09 18:15:39 -08:00
Kubernetes Prow Robot
e1709e59d1 Merge pull request #113922 from alexzielenski/owners-alexzielenski
add alexzielenski to OWNERS
2022-12-09 14:35:24 -08:00
Kubernetes Prow Robot
a8b2f4b695 Merge pull request #113564 from tallclair/audit-config
Combine RequestAuditConfig with RequestAuditConfigWithLevel
2022-12-09 14:34:08 -08:00
Patrick Ohly
d3ad61aa01 e2e apimachiner: simplify cleanup
This is in preparation for
https://github.com/kubernetes/kubernetes/pull/112923: DeferCleanup will
automatically do the right thing when testCleanup gets changed to require a
context parameter.
2022-12-09 20:31:08 +01:00
dengyufeng2206
206669d2ed fix msg in /test/e2e/apps/daemon_set.go 2022-12-08 10:33:17 +08:00
Wei Huang
a75c0709d0 Deflake a preemption test that may patch Node incorrectly 2022-12-07 14:30:34 -08:00
Marko Mudrinić
4f1a51719b releng: Update images, dependencies and version to Go 1.19.4
Signed-off-by: Marko Mudrinić <mudrinic.mare@gmail.com>
2022-12-05 12:33:55 +01:00
Sathyanarayanan Saravanamuthu
bf4f907bfa Improving schedule extender test coverage
Signed-off-by: Sathyanarayanan Saravanamuthu <sathyanarays@vmware.com>
2022-12-05 12:10:10 +05:30
Aldo Culquicondor
61fe6114b3 Reduce load of Job integration test
Change-Id: If99856aa6640375a8a9feff13fa213d4f974a99a
2022-12-02 12:58:28 -05:00
Antonio Ojea
5eb30f2762 be more strict on network timeouts
Change-Id: Ic4044af837047f31e6d60368b79d34dde1adbb98
2022-12-02 16:31:20 +00:00