- 
                Notifications
    You must be signed in to change notification settings 
- Fork 126
OCPBUGS-62270: UPSTREAM: <carry>: Skip CPU resource status for workload-pinned pods #2490
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
Conversation
| @harche: the contents of this pull request could not be automatically validated. The following commits could not be validated and must be approved by a top-level approver: 
 Comment  | 
| return nil, nil, err | ||
| } | ||
|  | ||
| isManagedPod := utilfeature.DefaultFeatureGate.Enabled(features.InPlacePodVerticalScaling) && managed.IsManagedPodFromRuntimeService(ctx, m.runtimeService, activePodSandboxID) | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think we need to check for feature gate here. cStatus.Resources != nil will only be true if the feature is enabled
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Addressed, thanks.
|  | ||
| // IsPodSandboxManagedPod checks if a pod sandbox belongs to a managed pod | ||
| // by looking for workload pinning annotations. | ||
| func IsPodSandboxManagedPod(sandboxAnnotations map[string]string) bool { | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: can this be defined below where it's called in IsManagedPodFromRuntimeService
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Addressed, thanks.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
still not addressed it seems?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
just a nit tho, I'm fine leaving as is
| @harche: the contents of this pull request could not be automatically validated. The following commits could not be validated and must be approved by a top-level approver: 
 Comment  | 
| @harche: the contents of this pull request could not be automatically validated. The following commits could not be validated and must be approved by a top-level approver: 
 Comment  | 
| @harche: This pull request references Jira Issue OCPBUGS-62270, which is invalid: 
 Comment  The bug has been updated to refer to the pull request using the external bug tracker. In response to this: 
 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. | 
| @harche: the contents of this pull request could not be automatically validated. The following commits could not be validated and must be approved by a top-level approver: 
 Comment  | 
| @harche: This pull request references Jira Issue OCPBUGS-62270, which is invalid: 
 Comment  The bug has been updated to refer to the pull request using the external bug tracker. In response to this: 
 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. | 
| /jira refresh | 
| @harche: This pull request references Jira Issue OCPBUGS-62270, which is valid. The bug has been moved to the POST state. 3 validation(s) were run on this bug
 In response to this: 
 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. | 
| /hold for another round of testing with real cluster after resolving merge conflicts during rebasing. | 
| /retest-required | 
| /lgtm | 
| /test integration | 
| /test e2e-aws-ovn-serial | 
| /test verify-commits | 
| @harche: The following tests failed, say  
 Full PR test history. Your PR dashboard. 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. | 
| /test e2e-aws-ovn-techpreview | 
| /hold cancel | 
| /verified | 
| @rphillips:  In response to this: 
 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. | 
| [APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: haircommander, harche, rphillips The full list of commands accepted by this bot can be found here. The pull request process is described here 
Needs approval from an approver in each of these files:
 
 Approvers can indicate their approval by writing  | 
| /verified by @harche | 
| @rphillips: This PR has been marked as verified by  In response to this: 
 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. | 
| /label remove backports/unvalidated-commits | 
| /remove-label backports/unvalidated-commits | 
| @rphillips: Can not set label backports/unvalidated-commits: Must be member in one of these teams: [openshift-staff-engineers] In response to this: 
 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. | 
| /remove-label backports/unvalidated-commits | 
ce4a3ce
      into
      
  
    openshift:master
  
    | @harche: Jira Issue Verification Checks: Jira Issue OCPBUGS-62270 Jira Issue OCPBUGS-62270 has been moved to the MODIFIED state and will move to the VERIFIED state when the change is available in an accepted nightly payload. 🕓 In response to this: 
 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. | 
| /cherry-pick release-4.20 | 
| @haircommander: #2490 failed to apply on top of branch "release-4.20": In response to this: 
 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. | 
| Fix included in accepted release 4.20.0-0.nightly-2025-10-29-051631 | 
What type of PR is this?
/kind bug
What this PR does / why we need it:
This PR fixes CPU double-counting for workload-partitioned (managed) pods when
InPlacePodVerticalScaling is enabled (default in Kubernetes 1.33+).
When workload partitioning is enabled, pods have CPU resources specified as
management.workload.openshift.io/coresin spec.requests. However, the kubelet also populatescpuin status.containerStatuses[].resources.requests by reading from cgroups. This causes the scheduler
to count CPU twice:
management.workload.openshift.io/coresin pod speccpuin pod statusThis leads to scheduler seeing artificially inflated CPU usage, resulting in false "Insufficient
cpu" errors when scheduling new pods.
Which issue(s) this PR fixes:
Fixes # https://issues.redhat.com/browse/OCPBUGS-62270
Special notes for your reviewer:
Does this PR introduce a user-facing change?
Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.: