-
Notifications
You must be signed in to change notification settings - Fork 323
Closed
Description
Expected Behavior
It seems like ListPodSandboxStats is now returning an error, so the kubelet fallback doesn't kick in anymore
The code is now Unknown
, rather than Unimplemented
But that doesn't match kubelet:
if p.podAndContainerStatsFromCRI {
result, err := p.listPodStatsStrictlyFromCRI(ctx, updateCPUNanoCoreUsage, containerMap, podSandboxMap, &rootFsInfo)
if err == nil {
// Call succeeded
return result, nil
}
s, ok := status.FromError(err)
// Legitimate failure, rather than the CRI implementation does not support ListPodSandboxStats.
if !ok || s.Code() != codes.Unimplemented {
return nil, err
}
// CRI implementation doesn't support ListPodSandboxStats, warn and fallback.
klog.V(5).ErrorS(err,
"CRI implementation must be updated to support ListPodSandboxStats if PodAndContainerStatsFromCRI feature gate is enabled. Falling back to populating with cAdvisor; this call will fail in the future.",
)
}
return p.listPodStatsPartiallyFromCRI(ctx, updateCPUNanoCoreUsage, containerMap, podSandboxMap, &rootFsInfo)
For PodAndContainerStatsFromCRI
feature gate, KEP-2371
Actual Behavior
before (0.3.3, CRI v0.22.8)
FATA[0000] get pod stats: display pod stats: list pod sandbox stats: rpc error: code = Unimplemented desc = unknown method ListPodSandboxStats for service runtime.v1.RuntimeService
after (0.3.9, CRI v0.27.8)
FATA[0000] get pod stats: display pod stats: list pod sandbox stats: rpc error: code = Unknown desc = ListPodSandboxStats is not implemented
Steps to Reproduce the Problem
crictl statsp
Specifications
- Version: 0.3.9
- Platform: Ubuntu
- Subsystem:
Metadata
Metadata
Assignees
Labels
No labels