Commit Graph

115183 Commits

Author SHA1 Message Date
David Porter
2eb94fa835 kubelet: Mark new terminal pods as non-finished in pod worker
The pod worker may recieve a new pod which is marked as terminal in
the runtime cache. This can occur if a pod is marked as terminal and the
kubelet is restarted.

The kubelet needs to drive these pods through the termination state
machine. If upon restart, the kubelet receives a pod which is terminal
based on runtime cache, it indicates that pod finished
`SyncTerminatingPod`, but it did not complete `SyncTerminatedPod`. The
pod worker needs ensure that `SyncTerminatedPod` will run on these pods.
To accomplish this, set `finished=False`, on the pod sync status, to
drive the pod through the rest of the state machine.

This will ensure that status manager and other kubelet subcomponents
(e.g. volume manager), will be aware of this pod and properly cleanup
all of the resources of the pod after the kubelet is restarted.

While making change, also update the comments to provide a bit more
background around why the kubelet needs to read the runtime pod cache
for newly synced terminal pods.

Signed-off-by: David Porter <david@porter.me>
2023-04-18 01:22:51 -07:00
David Porter
ae07535c85 test: Add node e2e to restart kubelet while pod is terminating
Add a regression test for https://issues.k8s.io/116925. The test
exercises the following:

1) Start a restart never pod which will exit with
   `v1.PodSucceeded` phase.
2) Start a graceful deletion of the pod (set a deletion timestamp)
3) Restart the kubelet as soon as the kubelet reports the pod is
   terminal (but before the pod is deleted).
4) Verify that after kubelet restart, the pod is deleted.

As of v1.27, there is a delay between the pod being marked terminal
phaes, and the status manager deleting the pod. If the kubelet is
restarted in the middle, after starting up again, the kubelet needs to
ensure the pod will be deleted on the API server.

Signed-off-by: David Porter <david@porter.me>
2023-04-18 01:22:51 -07:00
Kubernetes Prow Robot
523dd0297f Merge pull request #117147 from cji/automated-cherry-pick-of-#117020-upstream-release-1.27
[1.27] Automated cherry pick of #117020: Return error for localhost seccomp type with no localhost
2023-04-17 03:00:43 -07:00
Kubernetes Release Robot
95feac5269 Update CHANGELOG/CHANGELOG-1.27.md for v1.27.1 2023-04-14 13:38:32 +00:00
Kubernetes Release Robot
4c9411232e Release commit for Kubernetes v1.27.1 v1.27.1 2023-04-14 13:14:41 +00:00
Kubernetes Prow Robot
1f69edd929 Merge pull request #117308 from alculquicondor/automated-cherry-pick-of-#117194-upstream-release-1.27
Automated cherry pick of #117194: Revert "Optimization on running prePreEnqueuePlugins
2023-04-13 16:10:39 -07:00
Kensei Nakada
1601bb7540 fix: add the bug as a known issue o on the v1.26 release note
Change-Id: I4d38ed15c492abbfafda770fcb6aed2b37e0ac24
2023-04-13 17:12:22 -04:00
Kensei Nakada
845ba3e3a2 Revert "Optimization on running prePreEnqueuePlugins before adding pods into activeQ"
This reverts commit c01fa8279d.
2023-04-13 15:06:08 -04:00
Kubernetes Prow Robot
81eb3b63b9 Merge pull request #117305 from ncdc/automated-cherry-pick-of-#117301-upstream-release-1.27
Automated cherry pick of #117301: Revert "CR conversion: protect from converter input
2023-04-13 11:42:39 -07:00
Andy Goldstein
a1f97a35fc Revert "Merge pull request #113151 from ncdc/refactor-crd-conversion"
This reverts commit f524d765f4, reversing
changes made to c2b5457dfa.
2023-04-13 12:52:21 -04:00
Andy Goldstein
1da781e29b Revert "CR conversion: protect from converter input edits"
This reverts commit f14cc7fdfc.
2023-04-13 12:52:21 -04:00
Kubernetes Prow Robot
a94d7b76a3 Merge pull request #117254 from smarterclayton/automated-cherry-pick-of-#116482-upstream-release-1.27
Automated cherry pick of #116482: kubelet: Do not mutate pods in the pod manager
2023-04-12 23:24:36 -07:00
Clayton Coleman
d662e339aa kubelet: Do not mutate pods in the pod manager
The pod manager is a cache and modifying objects returned from the
pod manager can cause race conditions in the Kubelet. In this case,
it causes static pod status from the mirror pod to leak back to
the config source, which means a static pod whose mirror pod is
set to a terminal phase (succeeded or failed) cannot restart.
2023-04-12 16:55:48 -04:00
Kubernetes Release Robot
398e38784e Update CHANGELOG/CHANGELOG-1.27.md for v1.27.0 2023-04-11 17:27:35 +00:00
Kubernetes Release Robot
1b4df30b3c Release commit for Kubernetes v1.27.0 v1.27.0 2023-04-11 17:04:23 +00:00
Kubernetes Release Robot
848d99050c Merge remote-tracking branch 'origin/master' into release-1.27 2023-04-07 02:00:43 +00:00
Kubernetes Release Robot
c1f2baebf7 Merge remote-tracking branch 'origin/release-1.27' into release-1.27 2023-04-06 22:37:06 +00:00
Kubernetes Release Robot
2b6072ba00 Update CHANGELOG/CHANGELOG-1.27.md for v1.27.0-rc.1 2023-04-06 20:17:17 +00:00
Kubernetes Release Robot
ad18954259 CHANGELOG: Update directory for v1.27.0-rc.1 release 2023-04-06 20:17:16 +00:00
Kubernetes Release Robot
db31c0e4e9 Merge remote-tracking branch 'origin/master' into release-1.27 2023-04-06 20:00:57 +00:00
Kubernetes Release Robot
80bc6ffd0d Release commit for Kubernetes v1.27.0-rc.1 v1.27.0-rc.1 2023-04-06 19:52:26 +00:00
Craig Ingram
951f8dcc96 Return error for localhost seccomp type with no localhost profile defined 2023-04-06 16:57:07 +00:00
Kubernetes Prow Robot
d152baf143 Merge pull request #117134 from xmudrii/pub-bot-go1198
Update publishing-bot rules for release branches to Go 1.19.8
2023-04-06 09:25:47 -07:00
Kubernetes Release Robot
d2a8a4dab1 Merge remote-tracking branch 'origin/master' into release-1.27 2023-04-06 14:00:02 +00:00
Kubernetes Prow Robot
54348233b5 Merge pull request #115036 from harche/vol_attach_log
Do not log entire pod struct while attaching the volume
2023-04-06 03:07:47 -07:00
Marko Mudrinić
4e0bc2397d Update publishing-bot rules for release branches to Go 1.19.8
Signed-off-by: Marko Mudrinić <mudrinic.mare@gmail.com>
2023-04-06 10:31:33 +02:00
Kubernetes Release Robot
e48a823043 Merge remote-tracking branch 'origin/master' into release-1.27 2023-04-06 07:59:25 +00:00
Kubernetes Prow Robot
f28e9f6f45 Merge pull request #117126 from xmudrii/iptables-go1203
Update distroless-iptables to v0.2.3
2023-04-05 21:41:47 -07:00
Harshal Patil
1972dd1005 Do not log entire pod struct while attaching the volume
Signed-off-by: Harshal Patil <harpatil@redhat.com>
2023-04-05 20:24:12 -04:00
Marko Mudrinić
b19c362bf5 Update distroless-iptables to v0.2.3
Signed-off-by: Marko Mudrinić <mudrinic.mare@gmail.com>
2023-04-06 01:37:14 +02:00
Kubernetes Prow Robot
20fc8a939c Merge pull request #117125 from xmudrii/go1203
[go] Bump images, dependencies and versions to go 1.20.3
2023-04-05 16:35:50 -07:00
Marko Mudrinić
2a69edb43d [go] Bump images, dependencies and versions to go 1.20.3
Signed-off-by: Marko Mudrinić <mudrinic.mare@gmail.com>
2023-04-05 23:46:34 +02:00
Kubernetes Release Robot
a1f6d78767 Merge remote-tracking branch 'origin/master' into release-1.27 2023-04-05 04:34:13 +00:00
Kubernetes Prow Robot
330b5a2b8d Merge pull request #117088 from nckturner/public-arg-webhook
Export WebhookHandler struct because some CCMs use Run directly
2023-04-04 18:07:39 -07:00
Kubernetes Release Robot
218776ea5e Merge remote-tracking branch 'origin/master' into release-1.27 2023-04-04 22:34:29 +00:00
Kubernetes Prow Robot
e7e7532a05 Merge pull request #117073 from mimowo/fix-daemonset-pod-restarts
Fix: Recreate DaemonSet pods completed with Succeeded phase
2023-04-04 13:41:39 -07:00
Michal Wozniak
b5dd5f1f3a Investigate and fix the handling of Succeeded pods in DaemonSet 2023-04-04 19:21:15 +02:00
Nick Turner
873127e3b0 Export WebhookHandler struct because some CCMs use Run directly 2023-04-04 13:25:49 +00:00
Kubernetes Release Robot
0367c757cc Merge remote-tracking branch 'origin/master' into release-1.27 2023-03-31 04:32:01 +00:00
Kubernetes Prow Robot
d89d5ab268 Merge pull request #117023 from enj/enj/i/clean_boot
Clean up formatting
2023-03-30 19:53:48 -07:00
Monis Khan
735bbc135c Clean up formatting
Signed-off-by: Monis Khan <mok@microsoft.com>
2023-03-30 16:38:15 -04:00
Kubernetes Release Robot
b350df61dc Merge remote-tracking branch 'origin/master' into release-1.27 2023-03-27 22:28:41 +00:00
Kubernetes Prow Robot
c3e7eca7fd Merge pull request #116945 from soltysh/skip_vendor
Skip vendor directory when removing generated files
2023-03-27 11:00:29 -07:00
Maciej Szulik
27ad623b3d Skip vendor directory when removing generated files 2023-03-27 19:07:43 +02:00
Kubernetes Release Robot
0d6e44998f Merge remote-tracking branch 'origin/master' into release-1.27 2023-03-27 16:26:19 +00:00
Kubernetes Prow Robot
3a46f26115 Merge pull request #116948 from MadhavJivrajani/fix-verify-vendor
.*: update vendor dir and cleanup
2023-03-27 08:56:28 -07:00
Madhav Jivrajani
63b5ca69f1 .*: update vendor dir and cleanup
Signed-off-by: Madhav Jivrajani <madhav.jiv@gmail.com>
2023-03-27 19:18:05 +05:30
Kubernetes Release Robot
d3781d3eb3 Merge remote-tracking branch 'origin/master' into release-1.27 2023-03-25 04:23:56 +00:00
Kubernetes Prow Robot
8f15859afc Merge pull request #116919 from dims/publishing-bot-rules-for-new-release-1.27-branch
publishing-bot rules for the new release-1.27 branch
2023-03-24 18:59:53 -07:00
Kubernetes Release Robot
29b8de7cde Merge remote-tracking branch 'origin/master' into release-1.27 2023-03-24 22:23:22 +00:00