Skip to content

Have explicit cgroupv1 jobs and cgroupv2 jobs #35211

@roycaihw

Description

@roycaihw

What would you like to be added:

Maybe it's just me being unaware of it. Do we have test jobs that explicitly run cgroup v1 v.s. v2?

For example, for node tests like pull-kubernetes-node-e2e-containerd, do we know deterministically what cgroup version is used by the node OS? Or do we have separate jobs that explicitly request certain (v1 or v2) OS?

Why is this needed:

It was noticed in kubernetes/kubernetes#132824 (comment). I have a test job pull-kubernetes-node-e2e-containerd-kubelet-psi for my feature, which is similar to pull-kubernetes-node-e2e-containerd. I noticed that in the test, we test both COS and Ubuntu OS.

The issue is found with the Ubuntu test. The test uses OS image pipeline-1-29 in project ubuntu-os-gke-cloud. The problem is that the actual images behind the tag pipeline-1-29 may have different cgroup version over time.

  • v1: ubuntu-gke-2204-1-29-v20250724-cgroupsv1
  • v2: ubuntu-gke-2204-1-29-v20250721

This behavior seems to give us more test coverage as we test both versions, but on the other hand it's also non-deterministic, and hard to tell when troubleshooting the test failures.

I'd like to see if there is a way to make the test more explicit. For example, would be nice if we have

  • pull-kubernetes-node-e2e-containerd
  • pull-kubernetes-node-e2e-containerd-cgroupv1

where different OS images are used.

cc @haircommander @SergeyKanzhelev

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/bugCategorizes issue or PR as related to a bug.kind/featureCategorizes issue or PR as related to a new feature.sig/nodeCategorizes an issue or PR as relevant to SIG Node.

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions