Commit Graph

114612 Commits

Author SHA1 Message Date
Joe Betz
932a4d9724 Generate code 2023-03-06 21:51:33 -05:00
Joe Betz
d221ddb89a Implement validationActions and auditAnnotations 2023-03-06 21:51:27 -05:00
Li Bo
749d2ba8ae delete Evicted pods first during pod gc 2023-03-07 10:11:01 +08:00
Kubernetes Prow Robot
f461527491
Merge pull request #116313 from seans3/verifier-skip-list
QueryParamVerifier V3 does not support List
2023-03-06 16:54:29 -08:00
Kubernetes Prow Robot
8c61473f1c
Merge pull request #115747 from cici37/rc
Apply cost constraints to ValidatingAdmissionPolicy
2023-03-06 16:54:18 -08:00
Peter Schuurman
910ce0ed0b Run ./hack/update-* scripts to update generated files 2023-03-06 16:38:52 -08:00
Chen Wang
fd6105d015 fix last minute scheduler changes for inplace update 2023-03-06 18:47:02 -05:00
David Porter
d3214226de test: Fix node e2e shutdown test flake
Bump the timeout as the previous timeout was sometimes too short,
resulting in the pod status update not sent. Also, fixed a typo in
previous refactor.

Signed-off-by: David Porter <david@porter.me>
2023-03-06 15:38:45 -08:00
Kubernetes Prow Robot
44909771d9
Merge pull request #115965 from jsafrane/add-reconstruction-metrics
Add volume reconstruction metrics
2023-03-06 14:56:16 -08:00
Cici Huang
6d08211652 Fix CI 2023-03-06 22:37:52 +00:00
Sean Sullivan
6c0b876a65 Verifier does not support List 2023-03-06 14:26:33 -08:00
Kubernetes Prow Robot
5ce7038488
Merge pull request #116309 from jiahuif-forks/feature/validating-admission-policy/skip-reconcile-unchanged-spec
skip reconcile for if Spec is unchanged.
2023-03-06 12:58:37 -08:00
Kubernetes Prow Robot
c7c22ada75
Merge pull request #116267 from jiahuif-forks/feature/cel/multi-type-provider
composited type systems for CEL.
2023-03-06 12:58:29 -08:00
Kubernetes Prow Robot
283c26f91a
Merge pull request #115082 from sanposhiho/filter-metrics
feature(scheduler): implement plugin_evaluation_total metric
2023-03-06 12:58:17 -08:00
Claudiu Belu
5ba74c81ca unit tests: Skip flaky tests on Windows
Some of the unit tests are currently flaky on Windows. This commit
skips them until they are resolved.
2023-03-06 20:46:05 +00:00
Cici Huang
1f4a9dd918 Update CRD validation rules path accordingly. 2023-03-06 20:43:59 +00:00
Cici Huang
244c63a2e6 Apply resource constraints to ValidatingAdmissionPolicy. 2023-03-06 20:43:59 +00:00
Kubernetes Prow Robot
64259b43b8
Merge pull request #116054 from jpbetz/secondary-authz
KEP-3488: Implement secondary authz for ValidatingAdmissionPolicy
2023-03-06 11:54:16 -08:00
Jiahui Feng
bb00707548 skip reconcile for unchanged Spec
for ValidatingAdmissionPolicy and ValidatingAdmissionPolicyBinding.
2023-03-06 09:38:49 -08:00
Kubernetes Prow Robot
7a4c4eaae7
Merge pull request #116291 from denkensk/match-label-beta
feat: graduate matchLabelKeys in podTopologySpread to beta
2023-03-06 09:24:57 -08:00
Kubernetes Prow Robot
89d1a7971e
Merge pull request #116287 from csDengh/minor_code_improvement
scheduler: get an element from the nodes slice out of the loop for the better performance
2023-03-06 09:24:49 -08:00
Kubernetes Prow Robot
3f20bcb8e3
Merge pull request #116124 from aerfio/aerfio/update-broken-links-apps
Update obsolete links to kubernetes.io/docs/user-guide in Go structs descriptions in apps packages
2023-03-06 09:24:42 -08:00
Kubernetes Prow Robot
77fad93d8d
Merge pull request #116109 from aerfio/aerfio/update-broken-links-autoscaling
Update obsolete links to kubernetes.io/docs/user-guide in Go structs descriptions in autoscaling packages
2023-03-06 09:24:29 -08:00
Joe Betz
4d30c43494 Add integration tests for secondary authz 2023-03-06 12:08:53 -05:00
Joe Betz
60bc5660de Generate code 2023-03-06 12:08:40 -05:00
Joe Betz
7bbda746fe Implement secondary authz 2023-03-06 12:08:14 -05:00
Jan Safranek
9ca548fcf0 Add metrics for force cleaned mounts after failed reconstruction
Count nr. of force cleaned mounts + their failures after a volume fails
reconstruction.
2023-03-06 17:48:59 +01:00
Kubernetes Prow Robot
0270fc75d0
Merge pull request #116256 from atiratree/unmanaged-pods
improve message, log level and testing for unmanaged pods in disruption controller
2023-03-06 08:19:14 -08:00
Kubernetes Prow Robot
ff27ccfabc
Merge pull request #116255 from danwinship/controller-manager-ipv6dualstack
Belatedly remove controller-manager IPv6DualStack feature gate
2023-03-06 08:19:05 -08:00
Kubernetes Prow Robot
6bfa9371cf
Merge pull request #115978 from seans3/discovery-empty-response
"empty response" not logged as error in memcache discovery client
2023-03-06 08:18:56 -08:00
Kubernetes Prow Robot
388ad23561
Merge pull request #115968 from stlaz/sc_accessors
add SeccompProfile to Pod and Container accessors/mutators
2023-03-06 08:18:41 -08:00
Kubernetes Prow Robot
d6e9cff212
Merge pull request #115838 from torredil/remove-aws
Remove AWS legacy cloud provider + EBS in-tree storage plugin
2023-03-06 08:18:29 -08:00
Kubernetes Prow Robot
778b24c97e
Merge pull request #116297 from p0lyn0mial/upstream-reflector-list-n-watch-refactor
reflector: extract watch and startResyncAsync methods
2023-03-06 07:10:41 -08:00
Kubernetes Prow Robot
890d39f976
Merge pull request #114640 from swatisehgal/handle-device-mgr-recovery
node: device-mgr: Handle recovery flow by checking if healthy devices exist
2023-03-06 07:10:28 -08:00
Kubernetes Prow Robot
4185bf7238
Merge pull request #116273 from sourcelliu/improveresource
Improve the performance when Resource Clone
2023-03-06 06:06:41 -08:00
Kubernetes Prow Robot
68eea2468c
Merge pull request #114572 from huyinhou/fix-concurrent-map-access
kubelet/deviceplugin: fix concurrent map iteration and map write
2023-03-06 06:06:29 -08:00
torredil
6aebda9b1e Remove AWS legacy cloud provider + EBS in-tree storage plugin
Signed-off-by: torredil <torredil@amazon.com>
2023-03-06 14:01:15 +00:00
Swati Sehgal
937d330393 node: topologymgr: Remove ResourceAllocator as TM is always enabled
With Topology Manager enabled by default, we no longer need
`resourceAllocator` as Topology Manager serves as the main
PodAdmitHandler completely responsible for admission check
based on hints received from the hintProviders and the
subsequent allocation of the corresponding resources to a
pod as can be seen here:
https://github.com/kubernetes/kubernetes/blob/v1.26.0/pkg/kubelet/cm/topologymanager/scope.go#L150

With regard to DRA, the passing of `cm.draManager` into
resourceAllocator seems redundant as no admission checks
(and allocation of resources handled by DRA) is taking place
in `Admit` method of resourceAllocator. DRA has a completely
different model to the rest of the resource managers where
pod is only scheduled on a node once resources are reserved
for it. Because of this, admission checks or waiting for
resources to be provisioned after the pod has been scheduled
on the node is not required.

Before making the above change, it was verified that DRA Manager
is instantiated in `NewContainerManager`:
https://github.com/kubernetes/kubernetes/blob/v1.26.0/pkg/kubelet/cm/container_manager_linux.go#L318

Signed-off-by: Swati Sehgal <swsehgal@redhat.com>
2023-03-06 12:51:11 +00:00
Swati Sehgal
6a62f0236a node: topologymgr: trivial internal variable renaming
Since Topology manager is graduating to GA, we remove
internal configuration variable names with `Experimental`
prefix.

There is no expected change in behavior, only trival
variable renaming.

Signed-off-by: Swati Sehgal <swsehgal@redhat.com>
2023-03-06 12:51:11 +00:00
Swati Sehgal
d536a342b4 node: topologymgr: GA graduation implies Feature Gate is ON by default
Signed-off-by: Swati Sehgal <swsehgal@redhat.com>
2023-03-06 12:51:05 +00:00
Swati Sehgal
04438aa6f8 node: topologymgr: Graduate Kubelet Topology Manager to GA
Signed-off-by: Swati Sehgal <swsehgal@redhat.com>
2023-03-06 12:47:59 +00:00
Lukasz Szaszkiewicz
34fe27355b reflector: extract watch and startResyncAsync methods 2023-03-06 13:40:35 +01:00
Kubernetes Prow Robot
30df862563
Merge pull request #115119 from seans3/openapi-query-param-v3
Open API V3 version of QueryParamVerifier
2023-03-06 04:40:29 -08:00
Swati Sehgal
01a9148887 node: device-mgr: e2e: adapt to sample device plugin refactoring
These updates are to adapt to the sample device plugin
refactoring done here: 92e00203e0.

Signed-off-by: Swati Sehgal <swsehgal@redhat.com>
2023-03-06 12:15:59 +00:00
Swati Sehgal
bae8a164e0 node: device-mgr: e2e: address e2e test review comments
Signed-off-by: Swati Sehgal <swsehgal@redhat.com>
2023-03-06 12:15:58 +00:00
Swati Sehgal
674879a959 node: device-mgr: e2e: Update the e2e test to reproduce issue:109595
Breakdown of the steps implemented as part of this e2e test is as follows:
1. Create a file `registration` at path `/var/lib/kubelet/device-plugins/sample/`
2. Create sample device plugin with an environment variable with
   `REGISTER_CONTROL_FILE=/var/lib/kubelet/device-plugins/sample/registration` that
    waits for a client to delete the control file.
3. Trigger plugin registeration by deleting the abovementioned directory.
4. Create a test pod requesting devices exposed by the device plugin.
5. Stop kubelet.
6. Remove pods using CRI to ensure new pods are created after kubelet restart.
7. Restart kubelet.
8. Wait for the sample device plugin pod to be running. In this case,
   the registration is not triggered.
9. Ensure that resource capacity/allocatable exported by the device plugin is zero.
10. The test pod should fail with `UnexpectedAdmissionError`
11. Delete the test pod.
12. Delete the sample device plugin pod.
13. Remove `/var/lib/kubelet/device-plugins/sample/` and its content, the directory
    created to control registration

Signed-off-by: Swati Sehgal <swsehgal@redhat.com>
2023-03-06 12:15:58 +00:00
Swati Sehgal
db7afc1cd8 node: device-mgr: e2e: Implement End to end test
This commit reuses e2e tests implmented as part of https://github.com/kubernetes/kubernetes/pull/110729.
The commit is borrowed from the aforementioned PR as is to preserve
authorship. Subsequent commit will update the end to end test to
simulate the problem this PR is trying to solve by reproducing
the issue: 109595.

Co-authored-by: Francesco Romani <fromani@redhat.com>
Signed-off-by: Swati Sehgal <swsehgal@redhat.com>
2023-03-06 11:52:23 +00:00
Swati Sehgal
5b2a3dbbdc node: device-mgr: explicitly check if pre-allocated devices are healthy
Signed-off-by: Swati Sehgal <swsehgal@redhat.com>
2023-03-06 11:52:23 +00:00
Swati Sehgal
a799ffb571 node: device-mgr: unit-tests: admission failure due to unhealthy devices
Signed-off-by: Swati Sehgal <swsehgal@redhat.com>
2023-03-06 11:52:23 +00:00
Swati Sehgal
7ac399c205 node: device-mgr: Handle recovery by checking if healthy devices exist
In case of node reboot/kubelet restart, the flow of events involves
obtaining the state from the checkpoint file followed by setting
the `healthDevices`/`unhealthyDevices` to its zero value. This is
done to allow the device plugin to re-register itself so that
capacity can be updated appropriately.

During the allocation phase, we need to check if the resources requested
by the pod have been registered AND healthy devices are present on
the node to be allocated.

Also we need to move this check above `needed==0` where needed is
required - devices allocated to the container (which is obtained from
the checkpoint file) because even in cases where no additional devices
have to be allocated (as they were pre-allocated), we still need to
make the devices that were previously allocated are healthy.

Signed-off-by: Swati Sehgal <swsehgal@redhat.com>
2023-03-06 11:52:23 +00:00