-
Notifications
You must be signed in to change notification settings - Fork 40.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Clarify When to Set the timestamp and containersStatuses Fields in PodSandboxStatusResponse #129857
Comments
This issue is currently awaiting triage. If a SIG or subproject determines this is a relevant issue, they will accept it by applying the The Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
/sig node |
I've also opened a PR in the k/k repo to address the issue where kubelet is unable to retrieve container status from PodSandboxStatusResponse. |
Currently in CRI-O, the parameter However, containerd does not have this parameter. When I opened a PR requesting that containerd return both the This would avoid returning unnecessary container states in the |
/assign |
@HirazawaUi I'll go ahead and update the comments in the PodSandboxStatusResponse proto message to clarify the expectations around the timestamp and containers_statuses fields. Specifically, I’ll document that if timestamp is set (indicating Evented PLEG support), then containers_statuses must also be populated. This should help prevent future misunderstandings between the Kubelet and runtime implementations. I'll open a PR shortly. |
Please wait. This issue hasn’t been discussed by sig-node yet, so we’re still unsure about what the correct behavior should be. |
@HirazawaUi Ok understood. PR was opened to address the change but what should the path forward be regarding the PR. Can it remain unreviewed or do you need me to close it for now? Tks |
This issue might not be resolved in the short term. If you’re willing to push it forward, you could keep the PR open until the issue gains attention and a resolution direction is determined (though this might take quite a bit of time...). |
OK, I most likely close in the morning, but I'll pick up another issue in the interim. Tks |
When the evented PLEG is enabled, the kubelet determines whether to retrieve container statuses from the
PodSandboxStatusResponse
by checking if itstimestamp
field is empty.Ref:
kubernetes/pkg/kubelet/kuberuntime/kuberuntime_manager.go
Lines 1634 to 1656 in 7140b49
However, in containerd/containerd#10740, the
timestamp
field ofPodSandboxStatusResponse
was populated, while thecontainersStatuses
field was not. This clearly breaks the evented PLEG functionality.The maintainers of containerd were unaware of how the kubelet uses the timestamp field, and there are no existing comments documenting when these fields should be populated.
It's worth noting that the KEP mentions that the
PodSandboxStatusRequest
would include anincludeContainers
field, which we use to determine whether to return thetimestamp
andcontainerStatuses
in thePodSandboxStatusResponse
. However, we have not added this field in the CRI proto definitions.To address this, I propose clarifying in the comments of
PodSandboxStatusResponse
the conditions under which thetimestamp
andcontainersStatuses
fields should be set.While this is a minor problem, it has already caused misunderstandings and impacted functionality. For this reason, I am opening an issue to discuss and formally document the expectations around these fields.
relate: #129818
The text was updated successfully, but these errors were encountered: