Skip to content

ListPodSandboxStats returns error #293

@afbjorklund

Description

@afbjorklund

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

  1. crictl statsp

Specifications

  • Version: 0.3.9
  • Platform: Ubuntu
  • Subsystem:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions