Skip to content

OCPNODE-3833: PodAndContainerStatsFromCRI as Tech-Preview#2942

Open
dgrisonnet wants to merge 1 commit into
openshift:masterfrom
dgrisonnet:cri-stats-beta
Open

OCPNODE-3833: PodAndContainerStatsFromCRI as Tech-Preview#2942
dgrisonnet wants to merge 1 commit into
openshift:masterfrom
dgrisonnet:cri-stats-beta

Conversation

@dgrisonnet

Copy link
Copy Markdown
Member

The feature graduated to Beta in Kubernetes 1.37: kubernetes/enhancements#2371. We want to start enabling as TP as soon as 5.0 to test it downstream ahead of 5.1.

Signed-off-by: Damien Grisonnet <dgrisonn@redhat.com>
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Pipeline controller notification
This repo is configured to use the pipeline controller. Second-stage tests will be triggered either automatically or after lgtm label is added, depending on the repository configuration. The pipeline controller will automatically detect which contexts are required and will utilize /test Prow commands to trigger the second stage.

For optional jobs, comment /test ? to see a list of all defined jobs. To trigger manually all jobs from second stage use /pipeline required command.

This repository is configured in: LGTM mode

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Jul 22, 2026
@openshift-ci-robot

openshift-ci-robot commented Jul 22, 2026

Copy link
Copy Markdown

@dgrisonnet: This pull request references OCPSTRAT-2556 which is a valid jira issue.

Details

In response to this:

The feature graduated to Beta in Kubernetes 1.37: kubernetes/enhancements#2371. We want to start enabling as TP as soon as 5.0 to test it downstream ahead of 5.1.

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 openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci

openshift-ci Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Hello @dgrisonnet! Some important instructions when contributing to openshift/api:
API design plays an important part in the user experience of OpenShift and as such API PRs are subject to a high level of scrutiny to ensure they follow our best practices. If you haven't already done so, please review the OpenShift API Conventions and ensure that your proposed changes are compliant. Following these conventions will help expedite the api review process for your PR.

@dgrisonnet

Copy link
Copy Markdown
Member Author

/cc @haircommander @JoelSpeed

@coderabbitai

coderabbitai Bot commented Jul 22, 2026

Copy link
Copy Markdown
📝 Walkthrough

Walkthrough

Adds the exported PodAndContainerStatsFromCRI feature gate, enabling it for DevPreviewNoUpgrade and TechPreviewNoUpgrade configurations. Updates the feature-gate matrix and 4.10 Hypershift and SelfManagedHA manifests to list the gate as enabled for preview configurations and disabled for Default and OKD configurations.

Suggested reviewers: barbacbd, sadasu, vr4manta

🚥 Pre-merge checks | ✅ 15
✅ Passed checks (15 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Stable And Deterministic Test Names ✅ Passed No Ginkgo test titles were added or modified; the diff only changes feature-gate docs, manifests, and one feature-gate registration.
Test Structure And Quality ✅ Passed No test code changed in this PR; only feature-gate metadata/registration files were touched, so the Ginkgo-specific quality check is not applicable.
Microshift Test Compatibility ✅ Passed No Ginkgo/e2e tests were added or changed; the PR only updates feature-gate code, manifests, and docs.
Single Node Openshift (Sno) Test Compatibility ✅ Passed No new Ginkgo e2e tests were added; the PR only changes feature-gate code and manifests, so SNO-specific test compatibility is not implicated.
Topology-Aware Scheduling Compatibility ✅ Passed The PR only adds a feature gate and updates feature-gate manifests/docs; no affinity, nodeSelector, replica, or topology-dependent scheduling logic was added.
Ote Binary Stdout Contract ✅ Passed The PR only adds a feature-gate initializer and manifest entries; no main/init/TestMain/RunSpecs setup or stdout writes were introduced.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed PASS: The PR only adds feature-gate declarations and manifests; no Ginkgo e2e test code or network/I/O assumptions were introduced.
No-Weak-Crypto ✅ Passed Diff only adds a feature gate and manifests; scans found no MD5/SHA1/DES/RC4/3DES/Blowfish/ECB, custom crypto, or secret comparisons.
Container-Privileges ✅ Passed PR only adds a feature gate and updates feature-gate manifests; no privileged, hostPID, hostNetwork, hostIPC, SYS_ADMIN, or allowPrivilegeEscalation changes found.
No-Sensitive-Data-In-Logs ✅ Passed Touched files only add static feature-gate entries/YAML; scans found no log statements or sensitive-data exposures.
Title check ✅ Passed The title matches the main change by calling out PodAndContainerStatsFromCRI as Tech Preview.
Description check ✅ Passed The description is directly related, explaining why the feature is being enabled as Tech Preview.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@openshift-ci openshift-ci Bot added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Jul 22, 2026
@openshift-ci
openshift-ci Bot requested a review from everettraven July 22, 2026 13:21
@qodo-for-rh-openshift

Copy link
Copy Markdown

PR Summary by Qodo

Enable PodAndContainerStatsFromCRI as Tech Preview / Dev Preview (no-upgrade)

✨ Enhancement ⚙️ Configuration changes 📝 Documentation 🕐 20-40 Minutes

Grey Divider

AI Description

• Register PodAndContainerStatsFromCRI as a supported feature gate (KEP-2371).
• Enable the gate for TechPreviewNoUpgrade and DevPreviewNoUpgrade feature sets.
• Propagate the gate into payload FeatureGate manifests and the feature matrix docs.
Diagram

graph TD
  A["features/features.go"] --> B["FeatureGate registry"] --> C["payload featuregates"] --> D[("Cluster FeatureGate")]
  A --> E["features.md"]
  D --> F["Kubelet/CRI stats"]

  subgraph Legend
    direction LR
    _code["Code"] ~~~ _cfg["Config manifest"] ~~~ _cr[("Cluster CR")]
  end
Loading
High-Level Assessment

This matches the established pattern for introducing/graduating a Kubernetes feature gate in this repo: register it once with metadata, enable it only in the intended preview feature-sets, and ensure payload manifests and docs reflect the same policy. Alternatives like component-specific toggles or deferring until the next major release would reduce downstream test coverage and diverge from the feature-set mechanism.

Files changed (10) +33 / -0

Enhancement (1) +8 / -0
features.goRegister PodAndContainerStatsFromCRI and enable for TP/DevPreview (no-upgrade) +8/-0

Register PodAndContainerStatsFromCRI and enable for TP/DevPreview (no-upgrade)

• Adds a new FeatureGate definition for PodAndContainerStatsFromCRI with node ownership metadata and a link to KEP-2371. Enables it specifically in TechPreviewNoUpgrade and DevPreviewNoUpgrade.

features/features.go

Documentation (1) +1 / -0
features.mdAdd PodAndContainerStatsFromCRI to the feature-set matrix +1/-0

Add PodAndContainerStatsFromCRI to the feature-set matrix

• Documents the PodAndContainerStatsFromCRI gate in the feature table so consumers can discover it and understand its availability across feature-sets.

features.md

Other (8) +24 / -0
featureGate-4-10-Hypershift-Default.yamlInclude PodAndContainerStatsFromCRI in HyperShift Default manifest (disabled list) +3/-0

Include PodAndContainerStatsFromCRI in HyperShift Default manifest (disabled list)

• Adds PodAndContainerStatsFromCRI to the HyperShift Default FeatureGate payload manifest so the gate is explicitly tracked for that feature-set (kept non-enabled by default via placement in the disabled list).

payload-manifests/featuregates/featureGate-4-10-Hypershift-Default.yaml

featureGate-4-10-Hypershift-DevPreviewNoUpgrade.yamlEnable PodAndContainerStatsFromCRI in HyperShift DevPreviewNoUpgrade manifest +3/-0

Enable PodAndContainerStatsFromCRI in HyperShift DevPreviewNoUpgrade manifest

• Adds PodAndContainerStatsFromCRI to the HyperShift DevPreviewNoUpgrade FeatureGate payload manifest so clusters in that preview channel can exercise the CRI stats behavior.

payload-manifests/featuregates/featureGate-4-10-Hypershift-DevPreviewNoUpgrade.yaml

featureGate-4-10-Hypershift-OKD.yamlInclude PodAndContainerStatsFromCRI in HyperShift OKD manifest (disabled list) +3/-0

Include PodAndContainerStatsFromCRI in HyperShift OKD manifest (disabled list)

• Adds PodAndContainerStatsFromCRI to the HyperShift OKD FeatureGate payload manifest so the gate is represented in OKD, without enabling it by default.

payload-manifests/featuregates/featureGate-4-10-Hypershift-OKD.yaml

featureGate-4-10-Hypershift-TechPreviewNoUpgrade.yamlEnable PodAndContainerStatsFromCRI in HyperShift TechPreviewNoUpgrade manifest +3/-0

Enable PodAndContainerStatsFromCRI in HyperShift TechPreviewNoUpgrade manifest

• Adds PodAndContainerStatsFromCRI to the HyperShift TechPreviewNoUpgrade FeatureGate payload manifest to allow early downstream validation ahead of broader enablement.

payload-manifests/featuregates/featureGate-4-10-Hypershift-TechPreviewNoUpgrade.yaml

featureGate-4-10-SelfManagedHA-Default.yamlInclude PodAndContainerStatsFromCRI in SelfManagedHA Default manifest (disabled list) +3/-0

Include PodAndContainerStatsFromCRI in SelfManagedHA Default manifest (disabled list)

• Adds PodAndContainerStatsFromCRI to the SelfManagedHA Default FeatureGate payload manifest so the gate is explicitly enumerated for Default (kept non-enabled by default via placement in the disabled list).

payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-Default.yaml

featureGate-4-10-SelfManagedHA-DevPreviewNoUpgrade.yamlEnable PodAndContainerStatsFromCRI in SelfManagedHA DevPreviewNoUpgrade manifest +3/-0

Enable PodAndContainerStatsFromCRI in SelfManagedHA DevPreviewNoUpgrade manifest

• Adds PodAndContainerStatsFromCRI to the SelfManagedHA DevPreviewNoUpgrade FeatureGate payload manifest to support preview testing on the SelfManagedHA topology.

payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-DevPreviewNoUpgrade.yaml

featureGate-4-10-SelfManagedHA-OKD.yamlInclude PodAndContainerStatsFromCRI in SelfManagedHA OKD manifest (disabled list) +3/-0

Include PodAndContainerStatsFromCRI in SelfManagedHA OKD manifest (disabled list)

• Adds PodAndContainerStatsFromCRI to the SelfManagedHA OKD FeatureGate payload manifest so the gate is represented in OKD without being enabled by default.

payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-OKD.yaml

featureGate-4-10-SelfManagedHA-TechPreviewNoUpgrade.yamlEnable PodAndContainerStatsFromCRI in SelfManagedHA TechPreviewNoUpgrade manifest +3/-0

Enable PodAndContainerStatsFromCRI in SelfManagedHA TechPreviewNoUpgrade manifest

• Adds PodAndContainerStatsFromCRI to the SelfManagedHA TechPreviewNoUpgrade FeatureGate payload manifest to allow early downstream coverage in the Tech Preview channel.

payload-manifests/featuregates/featureGate-4-10-SelfManagedHA-TechPreviewNoUpgrade.yaml

@dgrisonnet dgrisonnet changed the title OCPSTRAT-2556: PodAndContainerStatsFromCRI as Tech-Preview OCPNODE-3833: PodAndContainerStatsFromCRI as Tech-Preview Jul 22, 2026
@openshift-ci-robot

openshift-ci-robot commented Jul 22, 2026

Copy link
Copy Markdown

@dgrisonnet: This pull request references OCPNODE-3833 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the epic to target the "5.0.0" version, but no target version was set.

Details

In response to this:

The feature graduated to Beta in Kubernetes 1.37: kubernetes/enhancements#2371. We want to start enabling as TP as soon as 5.0 to test it downstream ahead of 5.1.

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 openshift-eng/jira-lifecycle-plugin repository.

@qodo-for-rh-openshift

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)

Grey Divider

Great, no issues found!

Qodo reviewed your code and found no material issues that require review

Grey Divider

Qodo Logo

@JoelSpeed

JoelSpeed commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

/lgtm
/override-sticky ci/prow/verify-hypershift-integration

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Jul 22, 2026
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Scheduling tests matching the pipeline_run_if_changed or not excluded by pipeline_skip_if_only_changed parameters:
/test e2e-aws-ovn
/test e2e-aws-ovn-hypershift
/test e2e-aws-ovn-hypershift-conformance
/test e2e-aws-ovn-techpreview
/test e2e-aws-serial-1of2
/test e2e-aws-serial-2of2
/test e2e-aws-serial-techpreview-1of2
/test e2e-aws-serial-techpreview-2of2
/test e2e-azure
/test e2e-gcp
/test e2e-upgrade
/test e2e-upgrade-out-of-change
/test minor-e2e-upgrade-minor

@openshift-ci

openshift-ci Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: JoelSpeed

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jul 22, 2026
@dgrisonnet

Copy link
Copy Markdown
Member Author

/retest-required

@openshift-ci

openshift-ci Bot commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

@dgrisonnet: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/e2e-aws-serial-techpreview-2of2 bd6d9df link true /test e2e-aws-serial-techpreview-2of2
ci/prow/verify-hypershift-integration bd6d9df link true /test verify-hypershift-integration
ci/prow/e2e-aws-ovn-techpreview bd6d9df link true /test e2e-aws-ovn-techpreview
ci/prow/e2e-aws-serial-techpreview-1of2 bd6d9df link true /test e2e-aws-serial-techpreview-1of2
ci/prow/e2e-gcp bd6d9df link true /test e2e-gcp

Full PR test history. Your PR dashboard.

Details

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. I understand the commands that are listed here.

@dgrisonnet

Copy link
Copy Markdown
Member Author

/retest-required

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants