Commit Graph

24017 Commits

Author SHA1 Message Date
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
Maciej Szulik
ef51dbfa0c
Drop [Feature: tag to make sure this tests runs on pre-submits
In v1.27 StatefulSetStartOrdinal became beta, which makes it on by
default, but we forgot to turn these tests on along with it. This makes
these tests run always.
2023-08-07 13:38:43 +02:00
carlory
3e908c5bde e2e_common: stop using deprecated framework.ExpectEqual 2023-08-07 01:15:33 +08:00
Maciej Szulik
d154ca9c00
Statefulset should wait for new replicas when removing .start.ordinal 2023-08-04 18:41:01 +02:00
Tomas Smetana
24f32d9d18 Local PV Stress test: don't fail on deleting missing PV 2023-08-03 12:51:31 +02:00
Humble Chirammal
85c385d410 Update the container images used in cloudbuild to their latest version
This carry below GOLLANG_VERSION which got many CVE fixes:

/workspace # echo $GOLANG_VERSION
1.20.5
/workspace #

CVE-2023-29403 and Go issue https://go.dev/issue/60272.
CVE-2023-29404 and CVE-2023-29405:
  Go issues https://go.dev/issue/60305 and https://go.dev/issue/60306
CVE-2023-29402 and Go issue https://go.dev/issue/60167

Signed-off-by: Humble Chirammal <humble.devassy@gmail.com>
2023-08-03 00:09:53 +05:30
Han Kang
d5d90b7b22 add support for ExponentialBucketsRange 2023-08-01 11:38:20 -07:00
Paco Xu
f0b38766a0 use LoadBalancer type service for e2e service test to patch ingress status 2023-07-31 17:13:12 +08:00
lengrongfu
c23cee1be3 fix OOM killer
Signed-off-by: lengrongfu <rongfu.leng@daocloud.io>
2023-07-30 11:16:12 +08:00
Davanum Srinivas
b4ef4015a2
Avoid pulling mounter.tar through the CDN
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2023-07-28 22:15:55 -04:00
tinatingyu
ca338e517b Fix the flaky legacy_service_account_token_clean_up_test.Fix the flaky
legacy_service_account_token_clean_up_test.
2023-07-28 18:18:40 +00:00
Lukasz Szaszkiewicz
a44ce346d7 e2e/apimachinery/watchlist: stop panicking when run against unsupported cluster/environment 2023-07-28 12:25:13 +02:00
Todd Neal
2a767c9916 update the busybox test image to 1.36.1 2023-07-27 15:26:06 -05:00
upodroid
a65d207507 calculate the correct machine-type 2023-07-26 23:10:06 +00:00
upodroid
7d13c9b096 set map to nil if an empty string is passed 2023-07-26 10:32:27 +03:00
宋文杰
63cf568251 e2e_node: stop using deprecated framework.ExpectEqual 2023-07-26 10:20:30 +08:00
Kubernetes Prow Robot
dc6d8c6b58
Merge pull request #119571 from haircommander/node-log-query-on-node
test: fix NodeLogQuery tests to query the correct node for logs
2023-07-25 15:36:31 -07:00
Amine
eb4063f0ce
Add cases to tests AdmissionWebhook MatchConditions size limit (#119404) 2023-07-25 15:36:19 -07:00
Amine
ef4907eddd
Add e2e tests for admission webhooks MatchCondition fields (#118319)
* Add e2e tests for admission webhooks MatchCondition fields

Signed-off-by: Amine Hilaly <hilalyamine@gmail.com>

* improve naming to distinguish tests

* adding e2e for mutating webhooks and match conditions

* Use `ginkgo.It` instead of `framework.ConformaceIt` and cleanup
resrources after creation

* Enable AdmissionWebhookMatchConditions feature

* Tag only matchcondition tests

* Improve expected error message for denied requests.

* Rename `onlyAllowLeaseObjectMatchConditions` to
`excludeLeasesMatchConditions`

* remove [Alpha] tag from AdmissionWebhookMatchConditions tests

* Using `gomega.Expect` instead of `framworkfail`

* Remove [Feature:AdmissionWebhookMatchConditions] tag

Signed-off-by: Amine <hilalyamine@gmail.com>

* Improve e2e names to specify whether it's using Validating or Mutating admission webhooks

---------

Signed-off-by: Amine Hilaly <hilalyamine@gmail.com>
Signed-off-by: Amine <hilalyamine@gmail.com>
2023-07-25 14:02:17 -07:00
Peter Hunt
a248c4de52 test: fix NodeLogQuery tests to query the correct node for logs
Currently, the test queries the local node, which is not correct for most kubernetes environments.
Instead, ssh to the target node and call journalctl there

Signed-off-by: Peter Hunt <pehunt@redhat.com>
2023-07-25 15:41:38 -04:00
Kubernetes Prow Robot
cacc6e751b
Merge pull request #119531 from ritazh/kmsv2-test-enablement-restart
kmsv2 test feature enablement disablement and restart
2023-07-25 12:03:55 -07:00
Kubernetes Prow Robot
86b44a3222
Merge pull request #119564 from logicalhan/update-docs
update documentation with descriptions
2023-07-25 10:00:07 -07:00
Rita Zhang
67769438e1
kmsv2 test feature enablement disablement and restart
Signed-off-by: Rita Zhang <rita.z.zhang@gmail.com>
2023-07-25 09:50:59 -07:00
Han Kang
18a7025383 update documentation with descriptions 2023-07-25 08:57:54 -07:00
SataQiu
213ed03c00 remove deprecated kube-apiserver identity lease garbage collector 2023-07-25 10:10:18 +08:00
carlory
57226fbd27 e2e_dra: stop using deprecated framework.ExpectEqual
Co-authored-by: Thomas Milox <thomasmilox@gmail.com>
2023-07-25 10:03:56 +08:00
Kubernetes Prow Robot
b53830590f
Merge pull request #119409 from alexzielenski/apiserver/policy/vap-tests
Add test cases for ValidatingAdmissionPolicy
2023-07-24 15:12:13 -07:00
Alexander Zielenski
3b9af47118 add admission policy integration test all resources
duplicates a lot of existing webhook integration test code
2023-07-24 10:54:54 -07:00
Jordan Liggitt
a164005cc0
Fix non-test code relying on test-code 2023-07-24 11:37:57 -04:00
Andreas Karis
4188998430 Improve conditionFuncFor expression parsing for wait --for jsonpath
Make it possible to parse jsonpath filter expressions: Split
jsonpath expressions on single '=' only and leave '==' as part of the
string.

Reported-at: https://github.com/kubernetes/kubernetes/issues/119206
Signed-off-by: Andreas Karis <ak.karis@gmail.com>
2023-07-23 15:54:28 +02:00
Kubernetes Prow Robot
d0814fa476
Merge pull request #119513 from borg-land/add-node-env
Add node-env and instance-type flags to node-e2e tests
2023-07-21 17:44:19 -07:00
Kubernetes Prow Robot
18f8cb8398
Merge pull request #118644 from alexzielenski/apiserver/policy/namespaceParamRef
KEP-3488: Promote ValidatingAdmissionPolicy to Beta
2023-07-21 17:44:08 -07:00
Kubernetes Prow Robot
773a6b1e46
Merge pull request #118828 from enj/enj/f/kms_v2_hkdf_expand
kmsv2: KDF based nonce extension
2023-07-21 16:10:19 -07:00
Kubernetes Prow Robot
f3a070f9c6
Merge pull request #116469 from RomanBednar/pv-phase-transition-time
PersistentVolume last phase transition time
2023-07-21 16:10:07 -07:00
upodroid
1c99f9591b add node-env and instance-type flags to node-e2e tests 2023-07-21 21:46:37 +00:00
Alexander Zielenski
d647958744 update codegen 2023-07-21 13:56:23 -07:00
Alexander Zielenski
ef8670c946 refactor: replace usage of v1alpha1 with v1beta1
v1alpha -> v1beta

fill in DenyAction where there is no ParameterNotFoundAction
2023-07-21 13:41:24 -07:00
Roman Bednar
ae185e9118 e2e: test LastPhaseTransitionTime field when binding PV 2023-07-21 21:39:23 +02:00
Monis Khan
bf49c727ba
kmsv2: KDF based nonce extension
Signed-off-by: Monis Khan <mok@microsoft.com>
2023-07-21 15:25:52 -04:00
Wojciech Tyczyński
4e2e059c7b Graduate RemainingItemCount to GA 2023-07-21 16:25:21 +02:00
Kubernetes Prow Robot
4e8908d566
Merge pull request #117015 from kannon92/job-fix-replacement-after-deletion
Job: create replacement pods only after terminated
2023-07-21 06:46:09 -07:00
Wojciech Tyczyński
6acfa3cb4a Graduate APIListChunking to GA 2023-07-21 14:09:40 +02:00
Kubernetes Prow Robot
f5130e4387
Merge pull request #119484 from logicalhan/update-docs
update documented metrics
2023-07-21 04:32:06 -07:00
宋文杰
e9b69d1958 e2e_scheduling: stop using deprecated framework.ExpectEqual 2023-07-21 17:35:16 +08:00
carlory
2222509cb4 e2e_instrumentation: stop using deprecated framework.ExpectEqual 2023-07-21 15:41:26 +08:00
Kubernetes Prow Robot
4457f85eb3
Merge pull request #119473 from gjkim42/fix-e2e-node-to-use-pod-restartpolicy-correctly
node_e2e: Fix `createStaticSystemNodeCriticalPod`'s invalid spec
2023-07-20 18:28:07 -07:00
kannon92
74fcf3e766 implementation of PodReplacementPolicy kep in the job controller 2023-07-21 00:44:53 +00:00
Han Kang
cb6d7fbe66 update documented metrics 2023-07-20 16:05:38 -07:00
Alexander Zielenski
b3b775baa5 test: adjust tests for v1beta1 validatingadmissionpolicy 2023-07-20 13:24:09 -07:00
Kubernetes Prow Robot
5766947ab8
Merge pull request #119437 from serathius/etcd-semantics
Fix the semantic meaning of etcd server within component statuses and metrics.
2023-07-20 13:18:22 -07:00
Kubernetes Prow Robot
8a053c700a
Merge pull request #119215 from alexzielenski/apiserver/policy/namespaceParamRef-alpha
KEP-3488: Per namespace policy params
2023-07-20 13:18:10 -07:00
Kubernetes Prow Robot
4b6c340c13
Merge pull request #119422 from saschagrunert/conformance-debian-base
Use debian-base instead of distroless for conformance image
2023-07-20 11:18:10 -07:00
Alexander Zielenski
b5e9e0168c feature: add multiple params capability to VAP controller 2023-07-20 09:30:10 -07:00
Kubernetes Prow Robot
f9744df78b
Merge pull request #119412 from marosset/mark-node-log-query-tests-linux-only
Mark existing NodeLogQuery e2e tests as [LinuxOnly] since they do not run on Windows
2023-07-20 09:12:09 -07:00
Marek Siarkowicz
03aad1f823 Fix the semantic meaning of etcd server within component statuses and metrics.
Instead of numerating all the etcd endpoints known by apiserver, we will
group them by purpose. `etcd-0` will be the default etcd, `etcd-1` will
be the first resource override, `etcd-2` will be the second override and
so on.
2023-07-20 15:08:41 +02:00
Gunju Kim
e0a6eb93a1
node_e2e: Fix createStaticSystemNodeCriticalPod's invalid spec
This fixes `createStaticSystemNodeCriticalPod` to set pod's
restartPolicy instead of container's restartPolicy.
2023-07-20 20:18:05 +09:00
Itamar Holder
ee82654e39 Add pod_swap_usage_bytes as an expected metric in e2e test
Use haveKeys() matcher from previous commit to ensure
required keys exist.

Signed-off-by: Itamar Holder <iholder@redhat.com>
2023-07-19 14:44:05 +03:00
Itamar Holder
81abfca407 Add a haveKeys() helper function to match multiple keys
Signed-off-by: Itamar Holder <iholder@redhat.com>
2023-07-19 14:44:04 +03:00
Sascha Grunert
1000ed64e0
Use debian-base instead of distroless for conformance image
The `diff` binary (required by the `kubectl diff` e2e test) gets
statically or dynamically linked based on the used glibc version. We
cannot really predict that behavior for the various platforms of
debian-base and therefore cannot copy the binary around. This means that
distroless is not a great choice for the conformance image unless we
stop relying on `diff`.

This means we now switch back to `debian-base` for the conformance image
to simplify the build process and reduce the amount of moving parts.

Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2023-07-19 10:14:37 +02:00
Kubernetes Prow Robot
66e99b3ff1
Merge pull request #117740 from Richabanker/uvip-impl
Unknown Version Interoperability Proxy Impl
2023-07-18 18:36:02 -07:00
Richa Banker
c1aef65640 Add integration test 2023-07-18 17:36:30 -07:00
Richa Banker
cd5f3d9f9d Add impl for uvip 2023-07-18 17:36:22 -07:00
Kubernetes Prow Robot
d1d86dafb7
Merge pull request #118772 from kannon92/terminating-pod-gc
KEP-3939: pod gc changes for pod replacement policy kep
2023-07-18 16:46:03 -07:00
Michał Woźniak
a15c27661e
Job controller implementation of backoff limit per index (#118009) 2023-07-18 13:44:11 -07:00
Kubernetes Prow Robot
f55f2785e2
Merge pull request #116254 from pohly/dra-node-authorizer
node authorizer: limit kubelet access to ResourceClaim objects
2023-07-18 13:44:04 -07:00
Mark Rossetti
b5012ba1e2
Mark existing NodeLogQuery e2e tests as [LinuxOnly] since they do not run on Windows
Signed-off-by: Mark Rossetti <marosset@microsoft.com>
2023-07-18 13:24:01 -07:00
Kubernetes Prow Robot
7aa4e089cd
Merge pull request #118808 from Jefftree/updated-lazy-crd-controller-v2
Fix lazy OpenAPI V2 CRD Controller
2023-07-18 12:33:20 -07:00
Keerthan Reddy Mala
106a931c29 fix intergration test 2023-07-18 10:24:04 -07:00
Kubernetes Prow Robot
56b59c89f5
Merge pull request #117666 from carlory/fix-008
Remove ability to re-enable serving deprecated policyv1beta1 APIs
2023-07-18 08:41:12 -07:00
Kubernetes Prow Robot
9946ea9fd8
Merge pull request #119365 from xmudrii/go1206-iptables
Bump distroless-iptables to 0.2.6
2023-07-18 02:11:20 -07:00
Kubernetes Prow Robot
d43e6705f1
Merge pull request #119095 from saschagrunert/debian-base-bookworm
Update debian-base to bookworm
2023-07-18 02:11:08 -07:00
Jefftree
735be024cf Make CRDs built and aggregated lazily for oasv2 2023-07-18 04:49:56 +00:00
Kubernetes Prow Robot
b4d793c450
Merge pull request #118865 from iholder101/kubelet/add-swap-to-summary-stats
Add swap to stats to Summary API and Prometheus endpoints (`/stats/summary` and `/metrics/resource`)
2023-07-17 19:49:18 -07:00
Kubernetes Prow Robot
da2fdf8cc3
Merge pull request #118764 from iholder101/Swap/burstableQoS-impl
Add full cgroup v2 swap support with automatically calculated swap limit for LimitedSwap and Burstable QoS Pods
2023-07-17 19:49:07 -07:00
carlory
850dc6123a Remove ability to re-enable serving deprecated policyv1beta1 APIs 2023-07-18 10:24:26 +08:00
Kubernetes Prow Robot
d17f3ba2cf
Merge pull request #119168 from gjkim42/sidecar-allow-probes-and-lifecycle-hooks
Allow all probes and lifecycle for restartable init containers
2023-07-17 18:11:07 -07:00
Itamar Holder
4cb5547f93 Adjust summary API e2e test
Signed-off-by: Itamar Holder <iholder@redhat.com>
2023-07-18 02:55:56 +03:00
Kubernetes Prow Robot
a9b3ca34b5
Merge pull request #119381 from gjkim42/fix-e2e-tests-overriding-grace-period-when-probe-is-set
Fix e2e tests for overriding timoutGracePeriodSeconds when probe is set
2023-07-17 16:55:18 -07:00
Gunju Kim
d029f0ef06
Add restartable init container lifecycle hook e2e tests 2023-07-18 08:12:25 +09:00
Gunju Kim
f17e911777
Add restartable init container probe e2e tests 2023-07-18 08:12:25 +09:00
Gunju Kim
3bf282652f
Allow restartable init containers to have lifecycle 2023-07-18 08:12:24 +09:00
Kensei Nakada
c7e7eee554
feature(scheduling_queue): track events per Pods (#118438)
* feature(sscheduling_queue): track events per Pods

* fix typos

* record events in one slice and make each in-flight Pod to refer it

* fix: use Pop() in test before AddUnschedulableIfNotPresent to register in-flight Pods

* eliminate MakeNextPodFuncs

* call Done inside the scheduling queue

* fix comment

* implement done() not to require lock in it

* fix UTs

* improve the receivedEvents implementation based on suggestions

* call DonePod when we don't call AddUnschedulableIfNotPresent

* fix UT

* use queuehint to filter out events for in-flight Pods

* fix based on suggestion from aldo

* fix based on suggestion from Wei

* rename lastEventBefore → previousEvent

* fix based on suggestion

* address comments from aldo

* fix based on the suggestion from Abdullah

* gate in-flight Pods logic by the SchedulingQueueHints feature gate
2023-07-17 15:53:07 -07:00
Kubernetes Prow Robot
a776bf0462
Merge pull request #116335 from gnufied/update-api-recovery-apis
Update api recovery apis
2023-07-17 14:52:35 -07:00
Kubernetes Prow Robot
1da70b0736
Merge pull request #119264 from logicalhan/promote-metrics
promote beta metrics
2023-07-17 13:47:41 -07:00
Kubernetes Prow Robot
92856db662
Merge pull request #118973 from ffromani/kubelet-podresources-getallocatable-ga
node: podresources: getallocatable: move to GA
2023-07-17 13:47:33 -07:00
Kubernetes Prow Robot
8633adbb07
Merge pull request #119342 from A-Hilaly/api-server/webhooks/match-conditions-integration-tests
Add integration tests for `MatchConditions` feature gate enablement
2023-07-17 12:47:23 -07:00
Hemant Kumar
e011187114 Update code to use new generic allocatedResourceStatus field 2023-07-17 15:30:35 -04:00
Kubernetes Prow Robot
890a6c8f70
Merge pull request #118895 from RyanAoh/kep-1860
Make Kubernetes aware of the LoadBalancer behaviour
2023-07-17 11:41:10 -07:00
Han Kang
aa788219f4 fix metric names 2023-07-17 11:22:21 -07:00
Amine
00de051729 Make matchConditionsFeatureGateInitiallyEnabled a boolean instead 2023-07-17 18:34:42 +01:00
Gunju Kim
48eee4eed8
Fix e2e tests for overriding timoutGracePeriodSeconds of probes
Passing "/bin/sh" arguments to agnhost container has caused failure by
itself.

This fixes the container image, allowing it to properly test the restart
triggered by probe failure.
2023-07-18 02:31:36 +09:00
Kubernetes Prow Robot
4f60a8d493
Merge pull request #119110 from andrewsykim/apf-metrics-beta
Promote kube-apiserver flowcontrol metrics to Beta
2023-07-17 09:05:12 -07:00
Marko Mudrinić
ff62cca47b
Bump distroless-iptables to 0.2.6
Signed-off-by: Marko Mudrinić <mudrinic.mare@gmail.com>
2023-07-17 12:13:37 +02:00
Paco Xu
709eb6c030 eviction for pid trigger PIDPressure condition slowly on CRI-O
Signed-off-by: Paco Xu <paco.xu@daocloud.io>
2023-07-17 16:34:28 +08:00
Aohan Yang
b1850497b4 Integration tests for IP mode field 2023-07-17 16:03:02 +08:00
kannon92
e38ab6d367 Add PodGC changes for PodReplacementPolicy 2023-07-16 23:47:04 +00:00
Amine
6b3ce3004d Add integration tests for match conditions feature gate enablement 2023-07-16 01:06:08 +01:00
Kubernetes Prow Robot
900237fada
Merge pull request #118635 from ffromani/devmgr-check-pod-running
kubelet: devices: skip allocation for running pods
2023-07-15 05:43:16 -07:00
Kubernetes Prow Robot
5c96e5321e
Merge pull request #119324 from xmudrii/go1206
[go] Bump images, versions and deps to use Go 1.20.6
2023-07-15 03:07:15 -07:00
Kubernetes Prow Robot
8a0ea1bd58
Merge pull request #109616 from wzshiming/feat/pod-host-ips
Field `status.hostIPs` added for Pod
2023-07-15 00:31:04 -07:00
Cici Huang
13172cba5c
ValidatingAdmissionPolicy: support namespace access (#118267)
* Support namespace access from cel expression in validatingadmissionpolicy.

* Whitelist the exposed fields in namespace object and add test

* better handling of cluster-scoped resources.

* [API REVIEW] namespaceObject in Expression doc.

* compatibility with composition.

* generated: ./hack/update-codegen.sh && ./hack/update-openapi-spec.sh

* workaround namespace of namespace is unexpectedly set.

* basic test coverage for namespaceObject.

---------

Co-authored-by: Jiahui Feng <jhf@google.com>
2023-07-14 17:53:08 -07:00
Kubernetes Prow Robot
47aeec63a8
Merge pull request #119272 from deads2k/resources
add list of served versions to storage version
2023-07-14 13:22:41 -07:00
David Eads
90ab7580aa add list of served versions to storage version 2023-07-14 13:47:19 -04:00
Itamar Holder
619be9c153 Add a swap e2e test
Signed-off-by: Itamar Holder <iholder@redhat.com>
2023-07-14 14:52:28 +03:00
Marko Mudrinić
69c4bc29f5
[go] Bump images, versions and deps to use Go 1.20.6
Signed-off-by: Marko Mudrinić <mudrinic.mare@gmail.com>
2023-07-14 12:04:13 +02:00
Shiming Zhang
b2613dd381 Add e2e to check that hostIPs and Downward API works 2023-07-14 09:35:31 +08:00
Jiahui Feng
b635f2a401
ValidatingAdmissionPolicy: Variable Composition (#118642)
* [API REVIEW] Variable Composition

* lazy map.

* variable composition implementation.

* check variables during VAP validation.

* generated: ./hack/update-vendor.sh

* generated: UPDATE_COMPATIBILITY_FIXTURE_DATA

(cd staging/src/k8s.io/api/ && env UPDATE_COMPATIBILITY_FIXTURE_DATA=true go test)

* cost calucation.

* tests for cost calculations.

* e2e test for variables.

* fix doc for Validation.Expression.

* generated: ./hack/update-codegen.sh

* fix missing utilruntime import.

* generated: ./hack/update-openapi-spec.sh
2023-07-13 17:13:28 -07:00
Kubernetes Prow Robot
1e21da87b8
Merge pull request #118988 from nilekhc/hash-keyid
[KMSv2] chore: hashes keyID being logged
2023-07-13 15:47:48 -07:00
Kubernetes Prow Robot
be2cfc9697
Merge pull request #118228 from carlory/move-non-graceful-node-shutdown-to-GA
move non-graceful node shutdown to GA
2023-07-13 15:47:37 -07:00
Kubernetes Prow Robot
bea27f82d3
Merge pull request #118209 from pohly/dra-pre-scheduled-pods
dra: pre-scheduled pods
2023-07-13 14:43:37 -07:00
Kubernetes Prow Robot
1db4658614
Merge pull request #119295 from jsafrane/remove-serial-localvolume
Remove test Pods sharing a single local PV
2023-07-13 13:43:21 -07:00
Nilekh Chaudhari
131216fa8f
chore: hashes keyID
Signed-off-by: Nilekh Chaudhari <1626598+nilekhc@users.noreply.github.com>
2023-07-13 20:42:09 +00:00
Jiahui Feng
049614f884
ValidatingAdmissionPolicy controller for Type Checking (#117377)
* [API REVIEW] ValidatingAdmissionPolicyStatucController config.

worker count.

* ValidatingAdmissionPolicyStatus controller.

* remove CEL typechecking from API server.

* fix initializer tests.

* remove type checking integration tests

from API server integration tests.

* validatingadmissionpolicy-status options.

* grant access to VAP controller.

* add defaulting unit test.

* generated: ./hack/update-codegen.sh

* add OWNERS for VAP status controller.

* type checking test case.
2023-07-13 13:41:50 -07:00
Andrew Sy Kim
d25075f342 update generated list of stable metrics
Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
2023-07-13 20:13:04 +00:00
Patrick Ohly
80ab8f0542 dra: handle scheduled pods in kube-controller-manager
When someone decides that a Pod should definitely run on a specific node, they
can create the Pod with spec.nodeName already set. Some custom scheduler might
do that. Then kubelet starts to check the pod and (if DRA is enabled) will
refuse to run it, either because the claims are still waiting for the first
consumer or the pod wasn't added to reservedFor. Both are things the scheduler
normally does.

Also, if a pod got scheduled while the DRA feature was off in the
kube-scheduler, a pod can reach the same state.

The resource claim controller can handle these two cases by taking over for the
kube-scheduler when nodeName is set. Triggering an allocation is simpler than
in the scheduler because all it takes is creating the right
PodSchedulingContext with spec.selectedNode set. There's no need to list nodes
because that choice was already made, permanently. Adding the pod to
reservedFor also isn't hard.

What's currently missing is triggering de-allocation of claims to re-allocate
them for the desired node. This is not important for claims that get created
for the pod from a template and then only get used once, but it might be
worthwhile to add de-allocation in the future.
2023-07-13 21:27:11 +02:00
Jordan Liggitt
39207dada2 Add integration test for node authorizer claim references 2023-07-13 20:42:21 +02:00
CoderSherlock
b7cbebcd03 Added oomkill test for init container and fix typos 2023-07-13 17:19:34 +00:00
Jan Safranek
052b06bdad Remove test Pods sharing a single local PV
The test runs two pods accessing the same local volume, which is duplicate
with "Two pods mounting a local volume at the same time" test.
2023-07-13 18:33:18 +02: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
406d2dfe61
Merge pull request #119250 from pohly/controller-contextual-logging
kube-controller-manager: finish conversion to contextual logging
2023-07-12 18:59:30 -07:00
Kubernetes Prow Robot
4af23c157c
Merge pull request #119242 from carlory/add-logger
change the QueueingHintFn to pass a logger
2023-07-12 13:03:31 -07:00
Kubernetes Prow Robot
047d040ce7
Merge pull request #119012 from pohly/dra-batch-node-prepare
kubelet: support batched prepare/unprepare in v1alpha3 DRA plugin API
2023-07-12 10:57:37 -07:00
Kubernetes Prow Robot
2ec4e14bfa
Merge pull request #118812 from serathius/storage-metric
Improve apiserver storage size metric
2023-07-12 10:57:26 -07:00
carlory
0599b3caa0 change the QueueingHintFn to pass a logger 2023-07-13 00:56:41 +08:00
Patrick Ohly
08d40f53a7 dra: test with and without immediate ReservedFor
The recommendation and default in the controller helper code is to set
ReservedFor to the pod which triggered delayed allocation. However, this
is neither required nor enforced. Therefore we should also test the fallback
path were kube-scheduler itself adds the pod to ReservedFor.
2023-07-12 16:57:17 +02:00
Patrick Ohly
7d064812bb kube-controller-manager: finish conversion to contextual logging
This removes all exceptions and fixes the remaining unconverted log calls.
2023-07-12 14:57:29 +02:00
Kubernetes Prow Robot
3cc729fc7f
Merge pull request #119195 from pohly/dra-reallocate-flake
dra e2e: fix "reallocation works" flake
2023-07-12 05:55:25 -07:00
Patrick Ohly
d743c50bb9 kubelet: support batched prepare/unprepare in v1alpha3 DRA plugin API
Combining all prepare/unprepare operations for a pod enables plugins to
optimize the execution. Plugins can continue to use the v1beta2 API for now,
but should switch. The new API is designed so that plugins which want to work
on each claim one-by-one can do so and then report errors for each claim
separately, i.e. partial success is supported.
2023-07-12 14:50:30 +02:00
Marek Siarkowicz
7a63997c8a Improve apiserver storage size metric to allow it's graduation
Change name to make it compliant with prometheus guidelines.
Calculate it on demand instead of periodic to comply with prometheus standards.
Replace "endpoint" with "server" label to make it semantically consistent with storage factory
2023-07-12 14:33:10 +02:00
Francesco Romani
01c3a51a78 node: podresources: getallocatable: move to GA
lock the feature gate to GA, and remove the now-redundant code.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2023-07-12 14:11:22 +02:00
Francesco Romani
d78671447f e2e: node: add test to check device-requiring pods are cleaned up
Make sure orphanded pods (pods deleted while kubelet is down) are
handled correctly.
Outline:
1. create a pod (not static pod)
2. stop kubelet
3. while kubelet is down, force delete the pod on API server
4. restart kubelet
the pod becomes an orphaned pod and is expected to be killed by HandlePodCleanups.

There is a similar test already, but here we want to check device
assignment.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2023-07-12 13:25:36 +02:00
Francesco Romani
5cf50105a2 e2e: node: devices: improve the node reboot test
The recently added e2e device plugins test to cover node reboot
works fine if runs every time on CI environment (e.g CI) but
doesn't handle correctly partial setup when run repeatedly on
the same instance (developer setup).

To accomodate both flows, we extend the error management, checking
more error conditions in the flow.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2023-07-12 13:25:36 +02:00
Francesco Romani
b926aba268 e2e: node: devicemanager: update tests
Fix e2e device manager tests.
Most notably, the workload pods needs to survive a kubelet
restart. Update tests to reflect that.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2023-07-12 13:25:36 +02:00
Maciej Szulik
ab3a0b78ea
Match both old and new kubectl version for a while in e2e 2023-07-12 12:49:33 +02:00
Kubernetes Prow Robot
745cfa35bd
Merge pull request #119147 from mengjiao-liu/contextual-logging-controller-disruption
Migrate /pkg/controller/disruption to structured and contextual logging
2023-07-12 03:35:25 -07:00
Kubernetes Prow Robot
a8093823c3
Merge pull request #119042 from sttts/sttts-restcore-split
cmd/kube-apiserver: turn core (legacy) rest storage into standard RESTStorageProvider
2023-07-12 03:35:17 -07:00
Patrick Ohly
c143a875ed dra e2e: fix "reallocation works" flake
The main problem probably was that
https://github.com/kubernetes/kubernetes/pull/118862 moved creating the first
pod before setting up the callback which blocks allocating one claim for that
pod. This is racy because allocations happen in the background.

The test also was unnecessarily complex and hard to read:
- The intended effect can be achieved with three instead of four claims.
- It wasn't clear which claim has "external-claim-other" as name.
  Using the claim variable avoids that.
2023-07-12 11:20:47 +02:00
Mengjiao Liu
19869478c1 Migrate /pkg/controller/disruption to structured and contextual logging 2023-07-12 11:30:45 +08:00
Kubernetes Prow Robot
98e7c2a751
Merge pull request #119237 from jpbetz/jpbetz-apiserver-integration-owner
Add jpbetz as approver of apiserver integration tests
2023-07-11 20:03:18 -07:00
Kubernetes Prow Robot
2d9c951abe
Merge pull request #117011 from fabi200123/Add-Node-Log-Query-Tests-
Add e2e tests for feature NodeLogQuery
2023-07-11 20:03:11 -07:00
Kubernetes Prow Robot
6ffca50136
Merge pull request #116443 from benluddy/secondary-authz-decision-caching
Cache authz decisions within the scope of validating policy admission.
2023-07-11 12:41:11 -07:00
Joe Betz
6d6595d0f6 Add jpbetz as approver of apiserver integration tests 2023-07-11 14:36:45 -04:00
Kubernetes Prow Robot
da61644869
Merge pull request #119179 from gjkim42/add-prestop-e2e-test
node-e2e: Add container lifecycle e2e tests for preStop hook
2023-07-11 10:33:23 -07:00
Kubernetes Prow Robot
e0dafe57a3
Merge pull request #117351 from pohly/dra-generated-resource-claim-names
DRA: generated resource claim names
2023-07-11 10:33:11 -07:00
Dr. Stefan Schimanski
75e3576523
kube-apiserver: rewire service controllers: kubernetesservice + IP repair 2023-07-11 17:27:20 +02:00
Arda Güçlü
3267dd9d52
kubectl delete: Introduce new interactive flag for interactive deletion (#114530) 2023-07-11 06:05:11 -07:00
Patrick Ohly
ba810871ad dra e2e: check that not generating a ResourceClaim works
This is not something that normally happens, but the API supports it because it
might be needed at some point, so we have to test it.
2023-07-11 14:23:49 +02:00
Patrick Ohly
444d23bd2f dra: generated name for ResourceClaim from template
Generating the name avoids all potential name collisions. It's not clear how
much of a problem that was because users can avoid them and the deterministic
names for generic ephemeral volumes have not led to reports from users. But
using generated names is not too hard either.

What makes it relatively easy is that the new pod.status.resourceClaimStatus
map stores the generated name for kubelet and node authorizer, i.e. the
information in the pod is sufficient to determine the name of the
ResourceClaim.

The resource claim controller becomes a bit more complex and now needs
permission to modify the pod status. The new failure scenario of "ResourceClaim
created, updating pod status fails" is handled with the help of a new special
"resource.kubernetes.io/pod-claim-name" annotation that together with the owner
reference identifies exactly for what a ResourceClaim was generated, so
updating the pod status can be retried for existing ResourceClaims.

The transition from deterministic names is handled with a special case for that
recovery code path: a ResourceClaim with no annotation and a name that follows
the Kubernetes <= 1.27 naming pattern is assumed to be generated for that pod
claim and gets added to the pod status.

There's no immediate need for it, but just in case that it may become relevant,
the name of the generated ResourceClaim may also be left unset to record that
no claim was needed. Components processing such a pod can skip whatever they
normally would do for the claim. To ensure that they do and also cover other
cases properly ("no known field is set", "must check ownership"),
resourceclaim.Name gets extended.
2023-07-11 14:23:48 +02:00
Kubernetes Prow Robot
86038ae590
Merge pull request #116846 from moshe010/e2e--node-pod-resources
kubelet pod-resources: add e2e for KubeletPodResourcesGet feature
2023-07-11 04:53:24 -07:00
Kubernetes Prow Robot
8f1852bb44
Merge pull request #115295 from Namanl2001/pkg/controller/endpointslice
Migrated `pkg/controller/endpointslice` and `pkg/controller/endpointslicemirroring` to contextual logging
2023-07-11 03:19:12 -07:00
carlory
f443c458af move non-graceful node shutdown to GA 2023-07-11 13:51:51 +08:00
Kubernetes Prow Robot
ad72319ece
Merge pull request #115122 from r-erema/110782-oidc-test-coverage
add integration tests for OIDC authenticator
2023-07-10 15:29:10 -07:00
Naman
645cb90732 migrated pkg/controller/endpointslicemirroring to contextual logging
Signed-off-by: Naman <namanlakhwani@gmail.com>
2023-07-11 01:43:30 +05:30
Naman
09849b09cf migrated pkg/controller/endpointslice to contextual logging
Signed-off-by: Naman <namanlakhwani@gmail.com>
2023-07-11 01:28:22 +05:30
Sascha Grunert
3bae26ae58
Check dbus error on container runtime start/stop
We should evaluate the error, otherwise we risk to hang indefinately on
waiting for the `reschan` in:

64939b66c6/test/e2e_node/util.go (L419)

We also increase the timeout, because it can take a bit longer for
runtimes to determinate depending on the work they have to be done on
running containers.

Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2023-07-10 13:45:40 +02:00
Kubernetes Prow Robot
80dab4127b
Merge pull request #116720 from soltysh/remove_short_version
Remove long/golang version information making short the default
2023-07-10 02:41:06 -07:00
Sascha Grunert
a6554b9d5d
Make kubelet label types public
We use the label definitions in CRI-O, means we now make them public to
stop vendoring/copying this part of Kubernetes.

Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2023-07-10 10:58:44 +02:00
Gunju Kim
8fb5b6eb4c
node-e2e: Add container lifecycle e2e tests for preStop hook
This ensures that the container's pre-stop hook is invoked if the
startup or liveness probe fails.
2023-07-10 08:55:48 +09:00
Kubernetes Prow Robot
d653dcab5a
Merge pull request #119048 from pohly/scheduler-perf-metrics-for-perfdash
scheduler-perf: metrics for perfdash
2023-07-09 09:27:04 -07:00
Kubernetes Prow Robot
19a25bac05
Merge pull request #119159 from alculquicondor/fix-job-uncounted
Only declare job as finished after removing all finalizers
2023-07-08 01:55:03 -07:00
kerthcet
47ef977ddd Direct reference to the packages
Signed-off-by: kerthcet <kerthcet@gmail.com>
2023-07-08 12:03:46 +08:00
Kubernetes Prow Robot
0e14098333
Merge pull request #116429 from SergeyKanzhelev/sidecar
Add SidecarContainers feature
2023-07-07 17:39:03 -07:00
Gunju Kim
03c2217687
Sidecar: Add e2e tests
Co-authored-by: Sergey Kanzhelev <S.Kanzhelev@live.com>
2023-07-08 07:26:12 +09:00
Kubernetes Prow Robot
16e3980c08
Merge pull request #119158 from dims/skip-GracefulNodeShutdown-tests-on-older-systemd-versions
Skip GracefulNodeShutdown on older systemd versions
2023-07-07 14:13:04 -07:00
Davanum Srinivas
10dc1ca084
Skip GracefulNodeShutdown on older systemd versions
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2023-07-07 16:08:42 -04:00
Kubernetes Prow Robot
c17601fa18
Merge pull request #118529 from kerthcet/feat/record-failed-plugins
Record failed plugins in Reserver Plugin
2023-07-07 11:09:03 -07:00
Aldo Culquicondor
f7a1fb76f4
Only declare job as finished after removing all finalizers
Change-Id: Id4b01b0e6fabe24134e57e687356e0fc613cead4
2023-07-07 14:08:19 -04:00
Maciej Szulik
3f07fc3acc
Remove long/golang version information making short the default 2023-07-07 18:46:34 +02:00
Kubernetes Prow Robot
ddb2013363
Merge pull request #119103 from pohly/e2e-unexpected-args
e2e: detect unexpected command line arguments
2023-07-07 04:37:04 -07:00
kerthcet
c0eb0caf4a Support fine-gained rescheduling in ReservePlugin
Signed-off-by: kerthcet <kerthcet@gmail.com>
2023-07-07 13:30:29 +08:00
Kubernetes Prow Robot
b07a843cb5
Merge pull request #119046 from kerthcet/fix/handle-unschedule-plugins
Fix fitError in Permit plugin not handled perfectly
2023-07-06 21:01:03 -07:00
kerthcet
278a8376e1 Fix: fiterror in permit plugin not handled perfectly
We only added failed plulgins, but actually this will not work unless
we make the status with a fitError because we only copy the failured plugins
to podInfo if it is a fitError

Signed-off-by: kerthcet <kerthcet@gmail.com>
2023-07-07 10:35:59 +08:00
Kubernetes Prow Robot
d02d8ba635
Merge pull request #118862 from byako/batching-dra-calls
DRA controller: batch resource claims for Allocate
2023-07-06 11:33:03 -07:00
Kubernetes Prow Robot
6f9d1d38d8
Merge pull request #118817 from pohly/dra-delete-claims
DRA: improve handling of completed pods
2023-07-06 10:15:15 -07:00
Alexey Fomenko
b10cc642b5
DRA controller: batch resource claims for Allocate
Signed-off-by: Alexey Fomenko <alexey.fomenko@intel.com>
Co-authored-by: Patrick Ohly <patrick.ohly@intel.com>
2023-07-06 19:31:45 +03:00
Kubernetes Prow Robot
8c1bf4f461
Merge pull request #116930 from fatsheep9146/contextual-logging-cleanup
contextual logging cleanup
2023-07-06 07:39:03 -07: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
Kubernetes Prow Robot
e5efa0a5ee
Merge pull request #117108 from pohly/test-integration-race-detection-component-base-logs
component-base/logs: improve handling of re-applying a configuration
2023-07-05 21:29:08 -07:00
Kubernetes Prow Robot
cd32adebd9
Merge pull request #118386 from Richabanker/enhance-storage-version
Add servedVersions info in StorageVersion API
2023-07-05 19:23:02 -07:00
Kubernetes Prow Robot
77ad8a516d
Merge pull request #119025 from ii/remove-csidriver-test
Remove conformance test for StorageV1CSIDriver Endpoints
2023-07-05 17:53:02 -07:00
Ziqi Zhao
dfc1838379 Migrated pkg/controller/volume|util|replicaset|nodeipam to contextual logging
Signed-off-by: Ziqi Zhao <zhaoziqi9146@gmail.com>
2023-07-06 07:39:52 +08:00
Kubernetes Prow Robot
a88defe09a
Merge pull request #119107 from soltysh/drop_deprecated_api
Stop using deprecated API
2023-07-05 12:01:02 -07:00
Kubernetes Prow Robot
88e42040b1
Merge pull request #118981 from ffromani/e2e-podres-deflake
e2e: node: podresources: cooldown the rate limit
2023-07-05 12:00:50 -07:00
Kubernetes Prow Robot
80af36cfff
Merge pull request #119104 from pohly/e2e-remove-node-gcp
e2e node: remove unused test/e2e_node/gcp
2023-07-05 10:41:08 -07:00
Patrick Ohly
02efe09abe component-base/logs: improve handling of re-applying a configuration
Normal binaries should never have to do this. It's not safe when there are
already some goroutines running which might do logging. Therefore the new
default is to return an error when a binary accidentally re-applies.

A few unit ensure that there are no goroutines and have to call the functions
more then once. The new ResetForTest API gets used by those to enable changing the
logging settings more than once in the same process.

Integration tests use the same code as the normal binaries. To make reuse of
that code safe, component-base/logs can be configured to silently ignore any
additional calls. This addresses data races that were found when enabling -race
for integration tests. To catch cases where the integration test does want
to modify the config, the old and new config get compared and an error is
raised when it's not the same.

To avoid having to modify all integration tests which start test servers,
reconfiguring component-base/logs is done by the test server packages.
2023-07-05 19:08:54 +02:00
Kubernetes Prow Robot
ce7fd466aa
Merge pull request #118134 from pohly/e2e-pod-security-levels
e2e: support admissionapi.LevelRestricted in test/e2e/framework/pod
2023-07-05 08:39:09 -07:00
Maciej Szulik
9dcc57ede6
Stop using deprecated API 2023-07-05 16:42:55 +02:00
Sascha Grunert
5e1777be52
Update debian-base to bookworm
Rolling out the latest bookworm base image.

Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2023-07-05 16:13:03 +02:00
Patrick Ohly
a514f40131 dra resourceclaim controller: delete generated claims when pod is done
When a pod is done, but not getting removed yet for while, then a claim that
got generated for that pod can be deleted already. This then also triggers
deallocation.
2023-07-05 16:10:20 +02:00
Patrick Ohly
e8a0c42212 dra resourceclaim controller: remove reservation for completed pods
When a pod is known to never run (again), the reservation for it also can be
removed. This is relevant in particular for the job controller.
2023-07-05 16:10:20 +02:00
Patrick Ohly
7f5a02fc7e dra resourceclaim controller: enhance logging
Adding logging to event handlers makes it more obvious why (or why not) claims
and pods need to be processed.
2023-07-05 16:10:20 +02:00
Patrick Ohly
16e9cc42c1 e2e node: remove unused test/e2e_node/gcp
The test package was not included anywhere and thus just dead code that doesn't
need to be maintained anymore.
2023-07-05 14:31:32 +02:00
Patrick Ohly
932d0337b8 e2e: detect unexpected command line arguments
Invalid flags are detected by flag parsing, but optional arguments are just
passed through to the E2E suites. None of them support any, so rejecting them
with an error message is useful because it helps catch typos (like a missing
hyphen before a flag).
2023-07-05 13:34:09 +02:00
Kubernetes Prow Robot
a9a7a3730e
Merge pull request #118994 from pohly/test-integration-race-detection-grpc-logger
integration testing: configure gRPC logging during init
2023-07-05 02:58:55 -07:00
Kubernetes Prow Robot
00b8a0a95b
Merge pull request #118160 from minherz/master
Support JSONPath condition without value
2023-07-04 00:26:52 -07:00
roman
18f2e9055f Add OIDC integration tests 2023-07-04 08:04:53 +03:00
Patrick Ohly
6b01ece580 scheduler-perf: fix perfdash display problem
perfdash expects all data items to have the same set of labels.  It then
renders drop-down buttons for each label with all values found for each
label. Previously, data items that didn't have a label didn't match any label
filter in perfdash and couldn't get selected because perfdash doesn't have
"unset" in it's drop-down menus.

To avoid that, scheduler-perf now collects all labels and then adds missing
labels with "not applicable" as value:

    {
      "data": {
        "Average": 939.7071223010004,
        "Perc50": 927.7987421383649,
        "Perc90": 2166.153846153846,
        "Perc95": 2363.076923076923,
        "Perc99": 2520.6153846153848
      },
      "unit": "ms",
      "labels": {
        "Metric": "scheduler_pod_scheduling_duration_seconds",
        "Name": "SchedulingBasic/5000Nodes/namespace-2",
        "extension_point": "not applicable",
        "result": "not applicable"
      }
    },
    ...
    {
      "data": {
        "Average": 1.1172570650000004,
        "Perc50": 1.1418367346938776,
        "Perc90": 1.5500000000000003,
        "Perc95": 1.6410256410256412,
        "Perc99": 3.7333333333333334
      },
      "unit": "ms",
      "labels": {
        "Metric": "scheduler_framework_extension_point_duration_seconds",
        "Name": "SchedulingBasic/5000Nodes/namespace-2",
        "extension_point": "Score",
        "result": "not applicable"
      }
    },
2023-07-03 21:16:53 +02:00
Patrick Ohly
29e5771aa4 scheduler-perf: shorten "Name" label in metrics
Because the JSON file gets written at the end of the top-level benchmark, all
data items had `BenchmarkPerfScheduling/` as prefix in the `Name` label. This
is redundant and makes it harder to see the actual name. Now that common prefix
gets removed.
2023-07-03 21:15:16 +02:00
Kubernetes Prow Robot
8f79a3d91e
Merge pull request #118915 from astoycos/remove-netpol-leg
remove legacy NetworkPolicy tests
2023-07-03 09:17:04 -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
Humble Chirammal
ede17eace4 test-e2e: Retrigger the RBD image post merge job
The post merge job was failed https://github.com/kubernetes/kubernetes/pull/117103
and this causes the e2e tests to fail. This PR retrigger the same.

Signed-off-by: Humble Chirammal <humble.devassy@gmail.com>
2023-07-03 18:37:46 +05:30
Kubernetes Prow Robot
8c33d3ef7b
Merge pull request #118967 from tukwila/upgrade_npd_image_v0.8.13
upgrade npd image version to v0.8.13 for kubemark
2023-07-03 05:13:02 -07: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
guangli.bao
c143710ecf upgrade npd image version to v0.8.13 for kubemark
Signed-off-by: guangli.bao <guangli.bao@daocloud.io>

fix error

Signed-off-by: guangli.bao <guangli.bao@daocloud.io>
2023-07-03 13:46:58 +08:00
Stephen Heywood
96694514a7 Remove csiDriver Conformance test
This test is redundant as the csiDriver lifecycle test (118478)
includes the same functionality.
2023-07-03 08:50:16 +12:00
Kubernetes Prow Robot
ec87834bae
Merge pull request #118936 from pohly/dra-deallocate-when-unused
DRA: for delayed allocation, deallocate when no longer used
2023-07-01 12:56:48 -07:00
roman
59592ba463 Add OIDC test server 2023-07-01 10:53:53 +03:00
Davanum Srinivas
b01a4145b2
Install ecr-credential-provider during node e2e tests
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2023-06-30 09:18:44 -04:00
Patrick Ohly
ea34d03925 integration testing: configure gRPC logging during init
Doing the initialization once was not good enough because it was not guaranteed
that RunCustomEtcd gets called early enough, before there are other goroutines
which use gRPC. The data race for
test/integration/apiserver.TestWatchCacheUpdatedByEtcd was:

WARNING: DATA RACE
Read at 0x00000cfffb90 by goroutine 140052:
  k8s.io/kubernetes/vendor/google.golang.org/grpc/grpclog.V()
      /home/prow/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/google.golang.org/grpc/grpclog/grpclog.go:41 +0x30
  k8s.io/kubernetes/vendor/google.golang.org/grpc/grpclog.(*componentData).V()
      /home/prow/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/google.golang.org/grpc/grpclog/component.go:103 +0x4e
  k8s.io/kubernetes/vendor/google.golang.org/grpc/internal/transport.(*http2Client).Close()
      /home/prow/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/google.golang.org/grpc/internal/transport/http2_client.go:955 +0xca
  k8s.io/kubernetes/vendor/google.golang.org/grpc/internal/transport.(*http2Client).reader()
      /home/prow/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/google.golang.org/grpc/internal/transport/http2_client.go:1619 +0xbfb
  k8s.io/kubernetes/vendor/google.golang.org/grpc/internal/transport.newHTTP2Client.func11()
      /home/prow/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/google.golang.org/grpc/internal/transport/http2_client.go:394 +0x47

Previous write at 0x00000cfffb90 by goroutine 145643:
  k8s.io/kubernetes/vendor/google.golang.org/grpc/grpclog.SetLoggerV2()
      /home/prow/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/google.golang.org/grpc/grpclog/loggerv2.go:75 +0x104
  k8s.io/kubernetes/test/integration/framework.RunCustomEtcd.func2()
      /home/prow/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/test/integration/framework/etcd.go:157 +0x33
  sync.(*Once).doSlow()
      /usr/local/go/src/sync/once.go:74 +0x101
  sync.(*Once).Do()
      /usr/local/go/src/sync/once.go:65 +0x46
  k8s.io/kubernetes/test/integration/framework.RunCustomEtcd()
      /home/prow/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/test/integration/framework/etcd.go:156 +0xb97
  k8s.io/kubernetes/test/integration/apiserver.multiEtcdSetup()
      /home/prow/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/test/integration/apiserver/watchcache_test.go:41 +0xc4
  k8s.io/kubernetes/test/integration/apiserver.TestWatchCacheUpdatedByEtcd()
      /home/prow/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/test/integration/apiserver/watchcache_test.go:92 +0xa9
  testing.tRunner()
      /usr/local/go/src/testing/testing.go:1576 +0x216
  testing.(*T).Run.func1()
      /usr/local/go/src/testing/testing.go:1629 +0x47
2023-06-30 09:52:57 +02:00
Kubernetes Prow Robot
c2b7d25ff8
Merge pull request #118691 from giuseppe/drop-check-for-volumes
apis: drop check for volumes with user namespaces
2023-06-29 16:23:56 -07:00
Richa Banker
1c48b7ec14 Add servedVersions info in StorageVersion API 2023-06-29 15:40:54 -07:00
Kubernetes Prow Robot
a736049349
Merge pull request #118986 from logicalhan/beta-metric
promote sli metrics to beta
2023-06-29 14:51:45 -07:00
Han Kang
d68f5f0d92 fix tests 2023-06-29 13:46:12 -07:00
Han Kang
44f1c4dd94 fix duplicate metrics issue 2023-06-29 12:30:30 -07:00
Kubernetes Prow Robot
3180aa4272
Merge pull request #118977 from dims/copy-container-logs-for-easier-debugging
Copy container logs for easier debugging
2023-06-29 12:09:43 -07:00
Andrew Stoycos
84b3d9b7b7
remove legacy NetworkPolicy tests
This commit removes the legacy networkpolicy tests since they now have
complete appropriate coverage in the new netpol suite.

Signed-off-by: Andrew Stoycos <astoycos@redhat.com>
2023-06-29 14:44:21 -04:00
Kubernetes Prow Robot
ec9a8ffb23
Merge pull request #116977 from cvvz/fix-docs
docs: fix storage e2e test README
2023-06-29 11:09:59 -07:00
Kubernetes Prow Robot
a8f4c408ec
Merge pull request #118975 from dims/bump-cadvisor-version-in-tests-to-v0.47.2
Bump cadvisor version in tests to v0.47.2
2023-06-29 09:43:36 -07:00
Han Kang
04ea1d506b promote sli metrics to beta 2023-06-29 09:23:01 -07:00
Davanum Srinivas
f96d83af66
Copy container logs for easier debugging
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2023-06-29 11:56:00 -04:00
Francesco Romani
dfc150ca18 e2e: node: podresources: cooldown the rate limit
We have a e2e test which want to get a rate limit error. To do so, we
sent an abnormally high amount of calls in a tight loop.

The relevant test per se is reportedly fine, but wwe need to play nicer
with *other* tests which may run just after and which need to query the API.
If the testsuite runs "too fast", it's possible an innocent test falls in the
same rate limit watch period which was saturated by the ratelimit test,
so the innocent test can still be throttled because the throttling period
is not exhausted yet, yielding false negatives, leading to flakes.

We can't reset the period for the rate limit, we just wait "long enough" to
make sure we absorb the burst and other legit queries are not rejected.

Signed-off-by: Francesco Romani <fromani@redhat.com>
2023-06-29 17:40:36 +02:00
Kubernetes Prow Robot
134f971d85
Merge pull request #118935 from alculquicondor/fix-conformance
Exclude terminal pods from Daemonset e2e tests
2023-06-29 08:21:37 -07:00
Davanum Srinivas
52ef833b6c
Bump cadvisor version in tests to v0.47.2
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2023-06-29 09:58:31 -04:00
Kubernetes Prow Robot
9516a25ce4
Merge pull request #118951 from dims/drop-docker.log-and-add-cloud-init-output.log
Drop docker.log and add cloud init output.log
2023-06-29 03:51:47 -07:00
Kubernetes Prow Robot
2ee01fb673
Merge pull request #118945 from andrewsykim/update-request-filter-duration-buckets
Introduce larger buckets for request_filter_duration_seconds and request_wait_duration_seconds
2023-06-29 03:51:36 -07:00
Patrick Ohly
1b47e6433b dra delayed allocation: deallocate when a pod is done
This releases the underlying resource sooner and ensures that another consumer
can get scheduled without being influenced by a decision that was made for the
previous consumer.

An alternative would have been to have the apiserver trigger the deallocation
whenever it sees the `status.reservedFor` getting reduced to zero. But that
then also triggers deallocation when kube-scheduler removes the last
reservation after a failed scheduling cycle. In that case we want to keep the
claim allocated and let the kube-scheduler decide on a case-by-case basis which
claim should get deallocated.
2023-06-29 09:47:30 +02:00
minherz
dbdd861ea3
chore: address review feedback
add integration test to wait for json without value
refactor JSON condition value parsing and validating
adjusting test to reflect the error message refactoring
2023-06-29 00:36:07 -07:00
Davanum Srinivas
931456a142
Simplify the node name for metrics - just use localhost
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2023-06-28 18:21:12 -04:00
Davanum Srinivas
3e5fafd57a
Drop docker.log and add cloud-init-output.log
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2023-06-28 18:08:40 -04:00
Patrick Ohly
4a5a242a68 dra e2e: using logging for background activity
ginkgo.By should be used for steps in the test flow. Creating and deleting CDI
files happens in parallel to that. If reported via ginkgo.By, progress reports
look weird because they contain e.g. step "waiting for...." (from the main
test, which is still on-going) and end with "creating CDI file" (which is
already completed).
2023-06-28 21:48:57 +02:00
Ben Luddy
f1700e4b95
Cache authz decisions within validating policy admission.
This avoids the surprise of identical authorization checks within a
policy evaluating to different decisions during the same admission
pass, and reduces the overhead of repeatedly referencing the same
authorization check.
2023-06-28 15:30:04 -04:00
Aldo Culquicondor
60fb8f2fbc
Exclude terminal pods from Daemonset e2e tests
Change-Id: Ic29ca1739ebdc54822d1751fcd56a99c628021c4
2023-06-28 15:02:13 -04: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
Andrew Sy Kim
16fdd3e5ee apiserver: introduce larger buckets for flowcontrol request_wait_duration_seconds bucket
Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
2023-06-28 15:48:39 +00:00
Andrew Sy Kim
c607984379 apiserver: introduce larger buckets for request_filter_duration_seconds metric
Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
2023-06-28 14:19:51 +00:00
Kubernetes Prow Robot
c78204dc06
Merge pull request #118202 from pohly/scheduler-perf-unit-test
scheduler-perf: run as integration tests
2023-06-28 06:24:31 -07:00
Kubernetes Prow Robot
ddbf3575a7
Merge pull request #116729 from AxeZhan/handlers_sync
[Scheduler] Make sure handlers have synced before scheduling
2023-06-28 01:26:31 -07:00
Patrick Ohly
0d41d509d2 scheduler_perf: replace gomega.Eventually with wait.PollUntilContextTimeout
This is done for the sake of consistency. The failure message becomes less
useful.
2023-06-28 09:22:26 +02:00
Patrick Ohly
cecebe8ea2 scheduler_perf: add TestScheduling integration test
This runs workloads that are labeled as "integration-test". The apiserver and
scheduler are only started once per unique configuration, followed by each
workload using that configuration. This makes execution faster. In contrast to
benchmarking, we care less about starting with a clean slate for each test.
2023-06-28 09:22:25 +02:00
Patrick Ohly
dfd646e0a8 scheduler_perf: fix namespace deletion
Merely deleting the namespace is not enough:
- Workloads might rely on the garbage collector to get rid of obsolete objects,
  so we should run it to be on the safe side.
- Pods must be force-deleted because kubelet is not running.
- Finally, the namespace controller is needed to get rid of
  deleted namespaces.
2023-06-28 09:22:25 +02:00
Patrick Ohly
d9c16a1ced scheduler_perf: fix goroutine leak in runWorkload
This becomes relevant when doing more fine-grained leak checking.
2023-06-28 08:14:34 +02:00
Patrick Ohly
2e7f37353c test/integration: avoid errors in fake PC controller during shutdown
Once the context is canceled, the controller can stop processing
events. Without this change it prints errors when the apiserver is already
down.
2023-06-28 08:14:34 +02:00
Kubernetes Prow Robot
960830bc66
Merge pull request #118102 from RomanBednar/retro-sc-assignment-ga
graduate RetroactiveDefaultStorageClass feature to GA in 1.28
2023-06-27 20:46:32 -07:00
Kubernetes Prow Robot
470889278f
Merge pull request #118910 from dims/better-url-for-scraping-metrics-from-kubelet
Better URL for scraping metrics from kubelet in node e2e tests
2023-06-27 16:00:41 -07:00
Kubernetes Prow Robot
48a6fb0c42
Merge pull request #118909 from dims/bump-to-latest-node-problem-detector-version-with-arm64
Bump to latest node-problem-detector version with arm64
2023-06-27 14:58:42 -07:00
Kubernetes Prow Robot
e4b3b4f20c
Merge pull request #118904 from dims/cleanup-pods-at-the-end-in-pod-conditions-e2e-node-test
Cleanup pods at the end in Pod conditions e2e node test
2023-06-27 14:58:31 -07:00
Davanum Srinivas
a75b00ea39
Better URL for scraping metrics from kubelet
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2023-06-27 16:14:59 -04:00
Davanum Srinivas
685b0c5efa
Bump to latest node-problem-detector version with arm64
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2023-06-27 16:04:12 -04:00
Kubernetes Prow Robot
b3d94ae74f
Merge pull request #118786 from pohly/dra-test-skip-prepare
dra: kubelet must skip NodePrepareResource if not used by any container
2023-06-27 09:58:32 -07:00
Kubernetes Prow Robot
76b2198da1
Merge pull request #118901 from dims/set-aws-specific-credential-provider-when-running-there
Set AWS specific credential provider when running there
2023-06-27 08:56:51 -07:00