Skip to content

Conversation

@sairameshv
Copy link
Member

DRA has been graduated to GA in upstream 1.34[1] and is required to be enabled for OCP-4.21 rebase to unblock the DRA based e2e test failures[2]

[1] - https://kubernetes.io/blog/2025/09/01/kubernetes-v1-34-dra-updates/
[2] - https://issues.redhat.com/browse/OCPBUGS-61381

@openshift-ci-robot openshift-ci-robot added jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. labels Sep 23, 2025
@openshift-ci-robot
Copy link

@sairameshv: This pull request references Jira Issue OCPBUGS-61381, which is valid. The bug has been moved to the POST state.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.21.0) matches configured target version for branch (4.21.0)
  • bug is in the state ASSIGNED, which is one of the valid states (NEW, ASSIGNED, POST)

Requesting review from QA contact:
/cc @lyman9966

The bug has been updated to refer to the pull request using the external bug tracker.

In response to this:

DRA has been graduated to GA in upstream 1.34[1] and is required to be enabled for OCP-4.21 rebase to unblock the DRA based e2e test failures[2]

[1] - https://kubernetes.io/blog/2025/09/01/kubernetes-v1-34-dra-updates/
[2] - https://issues.redhat.com/browse/OCPBUGS-61381

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 added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Sep 23, 2025
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Sep 23, 2025

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Sep 23, 2025

Hello @sairameshv! 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.

@openshift-ci openshift-ci bot requested a review from lyman9966 September 23, 2025 16:37
@openshift-ci openshift-ci bot added the size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. label Sep 23, 2025
@sairameshv
Copy link
Member Author

/test

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Sep 23, 2025

@sairameshv: The /test command needs one or more targets.
The following commands are available to trigger required jobs:

/test build
/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 images
/test integration
/test lint
/test minor-e2e-upgrade-minor
/test minor-images
/test okd-scos-images
/test unit
/test verify
/test verify-client-go
/test verify-crd-schema
/test verify-crdify
/test verify-deps
/test verify-feature-promotion

The following commands are available to trigger optional jobs:

/test okd-scos-e2e-aws-ovn

Use /test all to run the following jobs that were automatically triggered:

pull-ci-openshift-api-master-build
pull-ci-openshift-api-master-images
pull-ci-openshift-api-master-integration
pull-ci-openshift-api-master-lint
pull-ci-openshift-api-master-minor-e2e-upgrade-minor
pull-ci-openshift-api-master-minor-images
pull-ci-openshift-api-master-okd-scos-e2e-aws-ovn
pull-ci-openshift-api-master-okd-scos-images
pull-ci-openshift-api-master-unit
pull-ci-openshift-api-master-verify
pull-ci-openshift-api-master-verify-client-go
pull-ci-openshift-api-master-verify-crd-schema
pull-ci-openshift-api-master-verify-crdify
pull-ci-openshift-api-master-verify-deps
pull-ci-openshift-api-master-verify-feature-promotion

In response to this:

/test

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.

@sairameshv
Copy link
Member Author

/test e2e-gcp

@openshift-ci openshift-ci bot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels Sep 24, 2025
@sairameshv sairameshv marked this pull request as ready for review September 24, 2025 11:13
@sairameshv sairameshv changed the title WIP: OCPBUGS-61381: Enable DRA(DynamicResourceAllocation) featuregate by default OCPBUGS-61381: Enable DRA(DynamicResourceAllocation) featuregate by default Sep 24, 2025
@openshift-ci openshift-ci bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Sep 24, 2025
@openshift-ci openshift-ci bot added size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. and removed size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Sep 24, 2025
@sairameshv
Copy link
Member Author

Just FYI,
I see the e2e tests related to DRA are present with two different tags:

  1. DynamicResourceAllocation : These tests are by default disabled in our o/k repository. These are not even running on the TPNU clusters. Raised a PR to enable these jobs to get signal
  2. DRA : These are the new set of tests that are failing on non TPNU/default cluster type jobs but passing on the TPNU jobs(ref) as the upstream DRA is graduated to GA and the downstream "DynamicResourceAllocation" feature gate is enabled only for TPNU and not the default cluster types

Following is the output of DRA jobs passing for reference from the output log of the techpreview job

started: 0/33/652 "[sig-node] [DRA] control plane [ConformanceCandidate] supports init containers [Suite:openshift/conformance/parallel] [Suite:k8s]"
passed: (15.2s) 2025-09-30T07:15:24 "[sig-node] [DRA] control plane [ConformanceCandidate] supports init containers [Suite:openshift/conformance/parallel] [Suite:k8s]"
started: 0/156/652 "[sig-node] [DRA] control plane [ConformanceCandidate] supports simple pod referencing external resource claim [Suite:openshift/conformance/parallel] [Suite:k8s]"
started: 0/177/652 "[sig-node] [DRA] control plane supports count/resourceclaims.resource.k8s.io ResourceQuota [ConformanceCandidate] [Suite:openshift/conformance/parallel] [Suite:k8s]"
passed: (12.9s) 2025-09-30T07:16:28 "[sig-node] [DRA] control plane [ConformanceCandidate] supports simple pod referencing external resource claim [Suite:openshift/conformance/parallel] [Suite:k8s]"
passed: (10.1s) 2025-09-30T07:16:36 "[sig-node] [DRA] control plane supports count/resourceclaims.resource.k8s.io ResourceQuota [ConformanceCandidate] [Suite:openshift/conformance/parallel] [Suite:k8s]"
started: 0/235/652 "[sig-node] [DRA] ResourceSlice Controller creates slices [ConformanceCandidate] [Suite:openshift/conformance/parallel] [Suite:k8s]"
started: 0/236/652 "[sig-node] [DRA] control plane [ConformanceCandidate] supports claim and class parameters [Suite:openshift/conformance/parallel] [Suite:k8s]"
passed: (14s) 2025-09-30T07:17:16 "[sig-node] [DRA] control plane [ConformanceCandidate] supports claim and class parameters [Suite:openshift/conformance/parallel] [Suite:k8s]"
started: 0/294/652 "[sig-node] [DRA] control plane [ConformanceCandidate] supports inline claim referenced by multiple containers [Suite:openshift/conformance/parallel] [Suite:k8s]"
passed: (15.7s) 2025-09-30T07:18:03 "[sig-node] [DRA] control plane [ConformanceCandidate] supports inline claim referenced by multiple containers [Suite:openshift/conformance/parallel] [Suite:k8s]"
passed: (1m14s) 2025-09-30T07:18:16 "[sig-node] [DRA] ResourceSlice Controller creates slices [ConformanceCandidate] [Suite:openshift/conformance/parallel] [Suite:k8s]"
started: 0/388/652 "[sig-node] [DRA] control plane [ConformanceCandidate] supports sharing a claim concurrently [Suite:openshift/conformance/parallel] [Suite:k8s]"
started: 0/394/652 "[sig-node] [DRA] control plane [ConformanceCandidate] supports external claim referenced by multiple containers of multiple pods [Suite:openshift/conformance/parallel] [Suite:k8s]"
passed: (13.9s) 2025-09-30T07:18:55 "[sig-node] [DRA] control plane [ConformanceCandidate] supports sharing a claim concurrently [Suite:openshift/conformance/parallel] [Suite:k8s]"
passed: (12.6s) 2025-09-30T07:18:58 "[sig-node] [DRA] control plane [ConformanceCandidate] supports external claim referenced by multiple containers of multiple pods [Suite:openshift/conformance/parallel] [Suite:k8s]"
started: 0/420/652 "[sig-node] [DRA] control plane [ConformanceCandidate] supports simple pod referencing inline resource claim [Suite:openshift/conformance/parallel] [Suite:k8s]"
started: 0/435/652 "[sig-node] [DRA] control plane [ConformanceCandidate] supports reusing resources [Suite:openshift/conformance/parallel] [Suite:k8s]"
passed: (13s) 2025-09-30T07:19:14 "[sig-node] [DRA] control plane [ConformanceCandidate] supports simple pod referencing inline resource claim [Suite:openshift/conformance/parallel] [Suite:k8s]"
started: 0/470/652 "[sig-node] [DRA] control plane validate ResourceClaimTemplate and ResourceClaim for admin access [FeatureGate:DRAAdminAccess] [Beta] [Suite:openshift/conformance/parallel] [Suite:k8s]"
passed: (18.2s) 2025-09-30T07:19:26 "[sig-node] [DRA] control plane [ConformanceCandidate] supports reusing resources [Suite:openshift/conformance/parallel] [Suite:k8s]"
passed: (6.4s) 2025-09-30T07:19:32 "[sig-node] [DRA] control plane validate ResourceClaimTemplate and ResourceClaim for admin access [FeatureGate:DRAAdminAccess] [Beta] [Suite:openshift/conformance/parallel] [Suite:k8s]"
started: 0/498/652 "[sig-node] [DRA] control plane truncates the name of a generated resource claim [ConformanceCandidate] [Suite:openshift/conformance/parallel] [Suite:k8s]"
passed: (11.1s) 2025-09-30T07:19:49 "[sig-node] [DRA] control plane truncates the name of a generated resource claim [ConformanceCandidate] [Suite:openshift/conformance/parallel] [Suite:k8s]"
started: 0/525/652 "[sig-node] [DRA] control plane [ConformanceCandidate] supports external claim referenced by multiple pods [Suite:openshift/conformance/parallel] [Suite:k8s]"
passed: (13.6s) 2025-09-30T07:20:15 "[sig-node] [DRA] control plane [ConformanceCandidate] supports external claim referenced by multiple pods [Suite:openshift/conformance/parallel] [Suite:k8s]"
started: 0/639/652 "[sig-node] [DRA] control plane must apply per-node permission checks [ConformanceCandidate] [Suite:openshift/conformance/parallel] [Suite:k8s]"
passed: (9.4s) 2025-09-30T07:21:46 "[sig-node] [DRA] control plane must apply per-node permission checks [ConformanceCandidate] [Suite:openshift/conformance/parallel] [Suite:k8s]"

I'm also monitoring the o/k PR's techpreview jobs to get the results of the DynamicResourceAllocation tagged e2e tests here

cc: @JoelSpeed @everettraven @tkashem

@everettraven
Copy link
Contributor

everettraven commented Oct 1, 2025

Regarding the multiple different naming conventions, can we use anything similar to the logic outlined in https://github.com/openshift-eng/openshift-tests-extension/blob/d81c090588352f8cd80934dc61e10b443feca7d7/cmd/example-tests/main.go#L89-L120 to do some labelling/renaming so that all the tests follow enablement/disablement based on the state of the feature gate? Our test tooling should already know how to filter tests based on enabled/disabled feature gates as long as the test spec names are correctly annotated with the feature gate.

Having the correct annotations injected would also make it so that the tests report into Sippy in a way that verify-feature-promotion can detect

@benluddy
Copy link
Contributor

benluddy commented Oct 1, 2025

/hold

Please don't merge this until we merge @tkashem's cluster-kube-apiserver-operator PRs. We could end up in another situation where OpenShift serves default-disabled APIs in a GA build.

@openshift-merge-robot openshift-merge-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Oct 1, 2025
@openshift-ci openshift-ci bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Oct 1, 2025
@rphillips
Copy link
Contributor

lgtm, cc @JoelSpeed for an approval

@tkashem
Copy link
Contributor

tkashem commented Nov 18, 2025

/verified by @tkashem

@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Nov 18, 2025
@openshift-ci-robot
Copy link

@tkashem: This PR has been marked as verified by @tkashem.

In response to this:

/verified by @tkashem

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.

@coderabbitai
Copy link

coderabbitai bot commented Nov 18, 2025

Walkthrough

This pull request removes the DynamicResourceAllocation feature gate across the OpenShift scheduler configuration and replaces it with HyperShiftOnlyDynamicResourceAllocation. Changes span source code, generated CRD manifests, feature gate payload manifests, and test files.

Changes

Cohort / File(s) Change Summary
Go source code
config/v1/types_scheduling.go, features/features.go
Removed OpenShift FeatureGate annotation for DynamicResourceAllocation from SchedulerSpec.profileCustomizations. Deleted public feature gate constant FeatureGateDynamicResourceAllocation and its initialization block; HyperShiftOnlyDynamicResourceAllocation gate retained.
Generated CRD manifests (SelfManagedHA)
config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml, ...SelfManagedHA-TechPreviewNoUpgrade.crd.yaml
Removed profileCustomizations field and its nested dynamicResourceAllocation structure from CRD schema properties.
Generated feature-gated CRD manifests
config/v1/zz_generated.featuregated-crd-manifests.yaml, config/v1/zz_generated.featuregated-crd-manifests/schedulers.config.openshift.io/DynamicResourceAllocation.yaml
Updated FeatureGates entry for schedulers.config.openshift.io, replacing DynamicResourceAllocation with HyperShiftOnlyDynamicResourceAllocation. Removed standalone CRD manifest file for DynamicResourceAllocation.
Feature gate payload manifests (Hypershift)
payload-manifests/featuregates/featureGate-Hypershift-Default.yaml, ...Hypershift-DevPreviewNoUpgrade.yaml, ...Hypershift-TechPreviewNoUpgrade.yaml
Removed DynamicResourceAllocation entries from disabled/enabled feature gate lists across Hypershift deployment profiles.
Feature gate payload manifests (SelfManagedHA)
payload-manifests/featuregates/featureGate-SelfManagedHA-Default.yaml, ...SelfManagedHA-DevPreviewNoUpgrade.yaml, ...SelfManagedHA-TechPreviewNoUpgrade.yaml
Removed DynamicResourceAllocation entries from disabled/enabled feature gate lists across SelfManagedHA deployment profiles.
Documentation and tests
features.md, config/v1/tests/schedulers.config.openshift.io/DynamicResourceAllocation.yaml
Removed DynamicResourceAllocation row from feature gates table. Deleted test configuration file for DynamicResourceAllocation feature gate validation.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

  • Verify that all DynamicResourceAllocation references are systematically removed across Go source, CRD schemas, and feature gate payload manifests.
  • Confirm HyperShiftOnlyDynamicResourceAllocation is properly positioned in the FeatureGates entry and that gate initialization parameters (Jira component, contact, enhancement PR, enablement profiles) remain correct.
  • Validate generated CRD manifest consistency, especially the removal of profileCustomizations.dynamicResourceAllocation structure from schema definitions.
  • Cross-check that feature gate entries are correctly removed from all six deployment profile variants (Hypershift and SelfManagedHA with Default/DevPreviewNoUpgrade/TechPreviewNoUpgrade).
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Cache: Disabled due to data retention organization setting

Knowledge base: Disabled due to Reviews -> Disable Knowledge Base setting

📥 Commits

Reviewing files that changed from the base of the PR and between a1d5082 and bb45b13.

📒 Files selected for processing (14)
  • config/v1/tests/schedulers.config.openshift.io/DynamicResourceAllocation.yaml (0 hunks)
  • config/v1/types_scheduling.go (0 hunks)
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml (0 hunks)
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-SelfManagedHA-TechPreviewNoUpgrade.crd.yaml (0 hunks)
  • config/v1/zz_generated.featuregated-crd-manifests.yaml (0 hunks)
  • config/v1/zz_generated.featuregated-crd-manifests/schedulers.config.openshift.io/DynamicResourceAllocation.yaml (0 hunks)
  • features.md (0 hunks)
  • features/features.go (0 hunks)
  • payload-manifests/featuregates/featureGate-Hypershift-Default.yaml (0 hunks)
  • payload-manifests/featuregates/featureGate-Hypershift-DevPreviewNoUpgrade.yaml (0 hunks)
  • payload-manifests/featuregates/featureGate-Hypershift-TechPreviewNoUpgrade.yaml (0 hunks)
  • payload-manifests/featuregates/featureGate-SelfManagedHA-Default.yaml (0 hunks)
  • payload-manifests/featuregates/featureGate-SelfManagedHA-DevPreviewNoUpgrade.yaml (0 hunks)
  • payload-manifests/featuregates/featureGate-SelfManagedHA-TechPreviewNoUpgrade.yaml (0 hunks)
💤 Files with no reviewable changes (14)
  • config/v1/types_scheduling.go
  • payload-manifests/featuregates/featureGate-Hypershift-Default.yaml
  • payload-manifests/featuregates/featureGate-SelfManagedHA-DevPreviewNoUpgrade.yaml
  • payload-manifests/featuregates/featureGate-SelfManagedHA-TechPreviewNoUpgrade.yaml
  • payload-manifests/featuregates/featureGate-SelfManagedHA-Default.yaml
  • config/v1/tests/schedulers.config.openshift.io/DynamicResourceAllocation.yaml
  • features.md
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-SelfManagedHA-TechPreviewNoUpgrade.crd.yaml
  • config/v1/zz_generated.featuregated-crd-manifests.yaml
  • payload-manifests/featuregates/featureGate-Hypershift-DevPreviewNoUpgrade.yaml
  • features/features.go
  • config/v1/zz_generated.featuregated-crd-manifests/schedulers.config.openshift.io/DynamicResourceAllocation.yaml
  • payload-manifests/featuregates/featureGate-Hypershift-TechPreviewNoUpgrade.yaml

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

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Cache: Disabled due to data retention organization setting

Knowledge base: Disabled due to Reviews -> Disable Knowledge Base setting

📥 Commits

Reviewing files that changed from the base of the PR and between 348370f and 60ab84d.

📒 Files selected for processing (24)
  • config/v1/tests/schedulers.config.openshift.io/DynamicResourceAllocation.yaml (0 hunks)
  • config/v1/types_scheduling.go (0 hunks)
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-CustomNoUpgrade.crd.yaml (0 hunks)
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-DevPreviewNoUpgrade.crd.yaml (0 hunks)
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-TechPreviewNoUpgrade.crd.yaml (0 hunks)
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers.crd.yaml (0 hunks)
  • config/v1/zz_generated.deepcopy.go (0 hunks)
  • config/v1/zz_generated.featuregated-crd-manifests.yaml (1 hunks)
  • config/v1/zz_generated.featuregated-crd-manifests/schedulers.config.openshift.io/DynamicResourceAllocation.yaml (0 hunks)
  • config/v1/zz_generated.swagger_doc_generated.go (1 hunks)
  • features.md (0 hunks)
  • features/features.go (0 hunks)
  • openapi/generated_openapi/zz_generated.openapi.go (1 hunks)
  • openapi/openapi.json (5 hunks)
  • payload-manifests/crds/0000_10_config-operator_01_schedulers-CustomNoUpgrade.crd.yaml (0 hunks)
  • payload-manifests/crds/0000_10_config-operator_01_schedulers-DevPreviewNoUpgrade.crd.yaml (0 hunks)
  • payload-manifests/crds/0000_10_config-operator_01_schedulers-TechPreviewNoUpgrade.crd.yaml (0 hunks)
  • payload-manifests/crds/0000_10_config-operator_01_schedulers.crd.yaml (0 hunks)
  • payload-manifests/featuregates/featureGate-Hypershift-Default.yaml (0 hunks)
  • payload-manifests/featuregates/featureGate-Hypershift-DevPreviewNoUpgrade.yaml (0 hunks)
  • payload-manifests/featuregates/featureGate-Hypershift-TechPreviewNoUpgrade.yaml (0 hunks)
  • payload-manifests/featuregates/featureGate-SelfManagedHA-Default.yaml (0 hunks)
  • payload-manifests/featuregates/featureGate-SelfManagedHA-DevPreviewNoUpgrade.yaml (0 hunks)
  • payload-manifests/featuregates/featureGate-SelfManagedHA-TechPreviewNoUpgrade.yaml (0 hunks)
💤 Files with no reviewable changes (20)
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-TechPreviewNoUpgrade.crd.yaml
  • config/v1/types_scheduling.go
  • payload-manifests/featuregates/featureGate-Hypershift-Default.yaml
  • features/features.go
  • payload-manifests/featuregates/featureGate-Hypershift-TechPreviewNoUpgrade.yaml
  • config/v1/zz_generated.featuregated-crd-manifests/schedulers.config.openshift.io/DynamicResourceAllocation.yaml
  • payload-manifests/crds/0000_10_config-operator_01_schedulers.crd.yaml
  • config/v1/tests/schedulers.config.openshift.io/DynamicResourceAllocation.yaml
  • payload-manifests/crds/0000_10_config-operator_01_schedulers-DevPreviewNoUpgrade.crd.yaml
  • features.md
  • payload-manifests/featuregates/featureGate-Hypershift-DevPreviewNoUpgrade.yaml
  • payload-manifests/featuregates/featureGate-SelfManagedHA-Default.yaml
  • config/v1/zz_generated.deepcopy.go
  • payload-manifests/crds/0000_10_config-operator_01_schedulers-TechPreviewNoUpgrade.crd.yaml
  • payload-manifests/featuregates/featureGate-SelfManagedHA-TechPreviewNoUpgrade.yaml
  • payload-manifests/featuregates/featureGate-SelfManagedHA-DevPreviewNoUpgrade.yaml
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-DevPreviewNoUpgrade.crd.yaml
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-CustomNoUpgrade.crd.yaml
  • payload-manifests/crds/0000_10_config-operator_01_schedulers-CustomNoUpgrade.crd.yaml
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers.crd.yaml
🧰 Additional context used
📓 Path-based instructions (1)
**

⚙️ CodeRabbit configuration file

-Focus on major issues impacting performance, readability, maintainability and security. Avoid nitpicks and avoid verbosity.

Files:

  • config/v1/zz_generated.featuregated-crd-manifests.yaml
  • openapi/generated_openapi/zz_generated.openapi.go
  • openapi/openapi.json
  • config/v1/zz_generated.swagger_doc_generated.go
🔇 Additional comments (3)
config/v1/zz_generated.featuregated-crd-manifests.yaml (1)

577-577: Approve the DRA feature gate removal from schedulers CRD metadata.

The change correctly removes DynamicResourceAllocation from the feature gates list, promoting the feature to GA availability. Formatting is consistent with other CRD entries in the file (e.g., lines 54, 182, 271, 399 showing empty FeatureGates: []).

Since this file is auto-generated (prefix zz_generated), verify that the upstream generation source (code generation, manifests, or templates) has been updated accordingly to ensure this change persists across future regenerations.

openapi/generated_openapi/zz_generated.openapi.go (1)

19972-19976: Updated dependency list looks correct

Restricting the Dependencies array here to only github.com/openshift/api/config/v1.ConfigMapNameReference is consistent with the removal of ProfileCustomizations-related types and keeps the generated OpenAPI wiring minimal. No issues from a correctness or maintainability perspective, assuming this file is regenerated from the updated source types.

openapi/openapi.json (1)

4780-4789: ⚠️ Major inconsistency: provided code hunks do not match PR objectives.

The hunks show repeated changes to dnsRecordsType field schema (adding descriptions, type constraints, and enum values), but the PR objectives describe removal of DRA feature gate and ProfileCustomizations types from Scheduler config API. These hunks appear unrelated to DynamicResourceAllocation or ProfileCustomizations.

The schema improvements themselves are sound—adding explicit descriptions, type declarations, and enum constraints improves API documentation and validation. However, this appears to be either a regeneration side-effect or incorrect hunks were provided.

Please confirm:

  1. Are these hunks intended for this PR, or are they collateral regeneration from changes in other files?
  2. Should this file contain actual DRA-related schema removals (e.g., ProfileCustomizations definitions being deleted)?
  3. If these dnsRecordsType changes are intentional, clarify their connection to the DRA feature gate removal objective.

You can verify by checking whether ProfileCustomizations or DynamicResourceAllocation schema definitions were removed elsewhere in this file.

Also applies to: 8933-8942, 9551-9560, 9749-9758, 11655-11660

Comment on lines 2893 to 2896
"policy": "DEPRECATED: the scheduler Policy API has been deprecated and will be removed in a future release. policy is a reference to a ConfigMap containing scheduler policy which has user specified predicates and priorities. If this ConfigMap is not available scheduler will default to use DefaultAlgorithmProvider. The namespace for this configmap is openshift-config.",
"profile": "profile sets which scheduling profile should be set in order to configure scheduling decisions for new pods.\n\nValid values are \"LowNodeUtilization\", \"HighNodeUtilization\", \"NoScoring\" Defaults to \"LowNodeUtilization\"",
"defaultNodeSelector": "defaultNodeSelector helps set the cluster-wide default node selector to restrict pod placement to specific nodes. This is applied to the pods created in all namespaces and creates an intersection with any existing nodeSelectors already set on a pod, additionally constraining that pod's selector. For example, defaultNodeSelector: \"type=user-node,region=east\" would set nodeSelector field in pod spec to \"type=user-node,region=east\" to all pods created in all namespaces. Namespaces having project-wide node selectors won't be impacted even if this field is set. This adds an annotation section to the namespace. For example, if a new namespace is created with node-selector='type=user-node,region=east', the annotation openshift.io/node-selector: type=user-node,region=east gets added to the project. When the openshift.io/node-selector annotation is set on the project the value is used in preference to the value we are setting for defaultNodeSelector field. For instance, openshift.io/node-selector: \"type=user-node,region=west\" means that the default of \"type=user-node,region=east\" set in defaultNodeSelector would not be applied.",
"mastersSchedulable": "mastersSchedulable allows masters nodes to be schedulable. When this flag is turned on, all the master nodes in the cluster will be made schedulable, so that workload pods can run on them. The default value for this field is false, meaning none of the master nodes are schedulable. Important Note: Once the workload pods start running on the master nodes, extreme care must be taken to ensure that cluster-critical control plane components are not impacted. Please turn on this field after doing due diligence.",
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

Generated docs look fine; please verify source-of-truth and enum alignment.

Since this file is auto-generated, ensure these doc updates come from comments in config/v1/types_scheduling.go and that the listed valid values for profile exactly match any kubebuilder Enum or server-side validation to avoid drift. Also confirm no manual edits to generated artifacts.

Run to verify the upstream source and validation:


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "1) Locate SchedulerSpec and Profile field definition/comments"
rg -nC3 -g 'config/v1/**' $'type\\s+SchedulerSpec\\b'
rg -nC3 -g 'config/v1/**' $'\\bProfile\\b.*`json:"profile' || true

echo -e "\n2) Check for explicit Enum validation on Profile"
rg -nC2 -g 'config/v1/**' 'kubebuilder:validation:Enum' || echo "No Enum tag found for Profile"

echo -e "\n3) Sanity: confirm this file is generated (header marker)"
rg -n 'AUTO-GENERATED FUNCTIONS START HERE' config/v1/zz_generated.swagger_doc_generated.go

Length of output: 20407


Let me verify one more thing about the empty string in the Enum pattern:

Fix the generated swagger docs to include all valid enum values for the profile field.

The verification found a discrepancy: the source validation defines +kubebuilder:validation:Enum="";LowNodeUtilization;HighNodeUtilization;NoScoring, which includes an empty string as valid. However, the generated swagger documentation at lines 2893-2896 lists only "LowNodeUtilization", "HighNodeUtilization", "NoScoring" and omits the empty string value.

The empty string is intentional in the Enum (allowing the field to remain unset), so the swagger doc must be updated to reflect this. Either regenerate the docs from the source comments by running hack update scripts, or update the source field comment in config/v1/types_scheduling.go (around line 46-47) to explicitly document the empty string as a valid value.

🤖 Prompt for AI Agents
In config/v1/zz_generated.swagger_doc_generated.go around lines 2893-2896 the
swagger enum for the `profile` field omits the empty-string value allowed by the
kubebuilder validation; fix by either regenerating the swagger docs so the
generated string list includes the empty string (run the repo's
hack/update-generated / hack/update-swagger-docs script per project
instructions) or update the source comment in config/v1/types_scheduling.go
(around lines 46-47) to explicitly document the empty string as a valid value
and then re-run the doc generation so the generated swagger contains
"";LowNodeUtilization;HighNodeUtilization;NoScoring.

@openshift-ci-robot openshift-ci-robot removed the verified Signifies that the PR passed pre-merge verification criteria label Nov 21, 2025
@openshift-ci openshift-ci bot removed the lgtm Indicates that a PR is ready to be merged. label Nov 21, 2025
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Nov 21, 2025

New changes are detected. LGTM label has been removed.

@openshift-ci openshift-ci bot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels Nov 21, 2025
@sairameshv
Copy link
Member Author

/hold
Until #2590 PR is merged

@openshift-ci openshift-ci bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Nov 21, 2025
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (1)
payload-manifests/crds/0000_10_config-operator_01_schedulers-Hypershift.crd.yaml (1)

116-130: Consider propagating deprecation to nested enum field.

The dynamicResourceAllocation enum nested under the deprecated profileCustomizations should either explicitly inherit the deprecation marker or have its own deprecation notice if it will continue to be relevant. Current state may confuse users about the field's lifecycle.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Cache: Disabled due to data retention organization setting

Knowledge base: Disabled due to Reviews -> Disable Knowledge Base setting

📥 Commits

Reviewing files that changed from the base of the PR and between 60ab84d and 6819d79.

📒 Files selected for processing (25)
  • config/v1/tests/schedulers.config.openshift.io/HyperShiftOnlyDynamicResourceAllocation.yaml (1 hunks)
  • config/v1/types_scheduling.go (1 hunks)
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-Hypershift.crd.yaml (1 hunks)
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-SelfManagedHA-CustomNoUpgrade.crd.yaml (1 hunks)
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-SelfManagedHA-Default.crd.yaml (0 hunks)
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml (0 hunks)
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-SelfManagedHA-TechPreviewNoUpgrade.crd.yaml (0 hunks)
  • config/v1/zz_generated.featuregated-crd-manifests.yaml (1 hunks)
  • config/v1/zz_generated.featuregated-crd-manifests/schedulers.config.openshift.io/HyperShiftOnlyDynamicResourceAllocation.yaml (2 hunks)
  • config/v1/zz_generated.swagger_doc_generated.go (1 hunks)
  • features.md (1 hunks)
  • features/features.go (1 hunks)
  • openapi/generated_openapi/zz_generated.openapi.go (1 hunks)
  • openapi/openapi.json (2 hunks)
  • payload-manifests/crds/0000_10_config-operator_01_schedulers-Hypershift.crd.yaml (1 hunks)
  • payload-manifests/crds/0000_10_config-operator_01_schedulers-SelfManagedHA-CustomNoUpgrade.crd.yaml (1 hunks)
  • payload-manifests/crds/0000_10_config-operator_01_schedulers-SelfManagedHA-Default.crd.yaml (0 hunks)
  • payload-manifests/crds/0000_10_config-operator_01_schedulers-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml (1 hunks)
  • payload-manifests/crds/0000_10_config-operator_01_schedulers-SelfManagedHA-TechPreviewNoUpgrade.crd.yaml (1 hunks)
  • payload-manifests/featuregates/featureGate-Hypershift-Default.yaml (1 hunks)
  • payload-manifests/featuregates/featureGate-Hypershift-DevPreviewNoUpgrade.yaml (1 hunks)
  • payload-manifests/featuregates/featureGate-Hypershift-TechPreviewNoUpgrade.yaml (1 hunks)
  • payload-manifests/featuregates/featureGate-SelfManagedHA-Default.yaml (1 hunks)
  • payload-manifests/featuregates/featureGate-SelfManagedHA-DevPreviewNoUpgrade.yaml (1 hunks)
  • payload-manifests/featuregates/featureGate-SelfManagedHA-TechPreviewNoUpgrade.yaml (1 hunks)
💤 Files with no reviewable changes (4)
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml
  • payload-manifests/crds/0000_10_config-operator_01_schedulers-SelfManagedHA-Default.crd.yaml
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-SelfManagedHA-Default.crd.yaml
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-SelfManagedHA-TechPreviewNoUpgrade.crd.yaml
✅ Files skipped from review due to trivial changes (1)
  • payload-manifests/crds/0000_10_config-operator_01_schedulers-SelfManagedHA-CustomNoUpgrade.crd.yaml
🚧 Files skipped from review as they are similar to previous changes (4)
  • features.md
  • payload-manifests/featuregates/featureGate-SelfManagedHA-Default.yaml
  • config/v1/zz_generated.swagger_doc_generated.go
  • payload-manifests/featuregates/featureGate-Hypershift-Default.yaml
🧰 Additional context used
📓 Path-based instructions (1)
**

⚙️ CodeRabbit configuration file

-Focus on major issues impacting performance, readability, maintainability and security. Avoid nitpicks and avoid verbosity.

Files:

  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-Hypershift.crd.yaml
  • features/features.go
  • config/v1/zz_generated.featuregated-crd-manifests.yaml
  • config/v1/tests/schedulers.config.openshift.io/HyperShiftOnlyDynamicResourceAllocation.yaml
  • payload-manifests/crds/0000_10_config-operator_01_schedulers-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml
  • config/v1/zz_generated.featuregated-crd-manifests/schedulers.config.openshift.io/HyperShiftOnlyDynamicResourceAllocation.yaml
  • payload-manifests/featuregates/featureGate-SelfManagedHA-TechPreviewNoUpgrade.yaml
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-SelfManagedHA-CustomNoUpgrade.crd.yaml
  • payload-manifests/featuregates/featureGate-Hypershift-TechPreviewNoUpgrade.yaml
  • payload-manifests/crds/0000_10_config-operator_01_schedulers-SelfManagedHA-TechPreviewNoUpgrade.crd.yaml
  • config/v1/types_scheduling.go
  • openapi/openapi.json
  • openapi/generated_openapi/zz_generated.openapi.go
  • payload-manifests/crds/0000_10_config-operator_01_schedulers-Hypershift.crd.yaml
  • payload-manifests/featuregates/featureGate-SelfManagedHA-DevPreviewNoUpgrade.yaml
  • payload-manifests/featuregates/featureGate-Hypershift-DevPreviewNoUpgrade.yaml
🔇 Additional comments (15)
payload-manifests/featuregates/featureGate-SelfManagedHA-TechPreviewNoUpgrade.yaml (1)

32-34: HyperShiftOnlyDynamicResourceAllocation disabled wiring looks correct

Gate name and placement in the disabled list for SelfManagedHA TechPreviewNoUpgrade are consistent with the new feature-gate definition and intent.

config/v1/zz_generated.featuregated-crd-manifests.yaml (1)

578-578: Scheduler CRD feature-gate registration is consistent

Adding HyperShiftOnlyDynamicResourceAllocation to the Scheduler CRD’s FeatureGates list correctly aligns the CRD metadata with the new gate.

config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-SelfManagedHA-CustomNoUpgrade.crd.yaml (1)

112-115: CRD schema deprecation text matches API type

The updated profileCustomizations description mirrors the Go type deprecation note, which is good for consistency and for clearly signaling removal in 4.24. Any refinement to the DRA default wording can follow whatever is decided in config/v1/types_scheduling.go.

features/features.go (1)

935-941: New HyperShiftOnlyDynamicResourceAllocation gate is wired correctly

The new feature gate follows existing patterns (metadata, enhancement link, cluster-profile scoping via enableForClusterProfile, and mustRegister()), and its name matches all manifest uses.

payload-manifests/featuregates/featureGate-SelfManagedHA-DevPreviewNoUpgrade.yaml (1)

23-25: SelfManagedHA DevPreviewNoUpgrade correctly disables HyperShiftOnlyDynamicResourceAllocation

Explicitly listing the new gate as disabled for this profile keeps behavior clear and matches its “HyperShiftOnly” scope.

payload-manifests/featuregates/featureGate-Hypershift-TechPreviewNoUpgrade.yaml (1)

199-201: Hypershift TechPreviewNoUpgrade enabling of HyperShiftOnlyDynamicResourceAllocation is consistent

The gate is enabled for the Hypershift TechPreviewNoUpgrade profile as defined in features.go, and the placement in the enabled list is consistent with surrounding entries.

payload-manifests/featuregates/featureGate-Hypershift-DevPreviewNoUpgrade.yaml (1)

193-195: Hypershift DevPreviewNoUpgrade manifest correctly enables the new gate

Adding HyperShiftOnlyDynamicResourceAllocation to the enabled list aligns this manifest with the new feature-gate definition and Hypershift DevPreviewNoUpgrade behavior.

config/v1/tests/schedulers.config.openshift.io/HyperShiftOnlyDynamicResourceAllocation.yaml (1)

1-16: Minimal test appropriately validates feature gate applicability.

The test correctly creates and verifies a minimal Scheduler object under the HyperShiftOnlyDynamicResourceAllocation feature gate. The structure and expectations are sound.

payload-manifests/crds/0000_10_config-operator_01_schedulers-Hypershift.crd.yaml (1)

110-114: Clarify deprecation scope in the description.

The deprecation message states "DRA is GA and enabled by default in the cluster," but the feature gate is named HyperShiftOnlyDynamicResourceAllocation, implying HyperShift-only scope. Clarify whether this deprecation applies universally or only to HyperShift deployments to avoid user confusion.

openapi/generated_openapi/zz_generated.openapi.go (1)

19979-19982: OpenAPI deprecation description looks correct and aligned with DRA promotion

The updated profileCustomizations description clearly marks the field as deprecated, ties it to DRA GA in 4.21 and default enablement, and states the planned removal in 4.24. Assuming this was regenerated from the Go types/Swagger docs via the usual make update flow, this OpenAPI change looks good and maintainable.

config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-Hypershift.crd.yaml (1)

111-114: Deprecation message is clear and well‑specified.

The updated description properly deprecates the profileCustomizations field with rationale (DRA GA in 4.21) and removal timeline (4.24). This follows good API deprecation practices—the field remains functional while communicating its planned removal.

payload-manifests/crds/0000_10_config-operator_01_schedulers-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml (1)

1-122: Consistency with variant pattern confirmed.

This new SelfManagedHA DevPreviewNoUpgrade manifest consistently excludes profileCustomizations, matching the TechPreviewNoUpgrade variant (File 2). This confirms the intentional schema differentiation for SelfManagedHA deployments.

config/v1/zz_generated.featuregated-crd-manifests/schedulers.config.openshift.io/HyperShiftOnlyDynamicResourceAllocation.yaml (1)

9-9: Feature gate annotation and deprecation messaging are correctly sourced.

The source file config/v1/types_scheduling.go contains the correct annotation +openshift:enable:FeatureGate=HyperShiftOnlyDynamicResourceAllocation and deprecation comment. The generated CRD manifest file properly reflects this source code state, with deprecation messaging clearly indicating DRA is GA starting 4.21 and removal in 4.24.

payload-manifests/crds/0000_10_config-operator_01_schedulers-SelfManagedHA-TechPreviewNoUpgrade.crd.yaml (1)

1-122: No issues found—field exclusion is consistent and correct.

The profileCustomizations field exclusion in the TechPreviewNoUpgrade variant is intentional and follows a consistent pattern across all deployment profiles. Verification confirms:

  • CustomNoUpgrade includes profileCustomizations (both payload-manifests and generated)
  • Default, DevPreviewNoUpgrade, and TechPreviewNoUpgrade exclude it (both payload-manifests and generated)

The payload-manifests file matches the corresponding generated CRD exactly, confirming the schema is correct for this deployment variant.

openapi/openapi.json (1)

10813-10816: Deprecation messaging is clear, but verify removal timeline coordination.

The deprecation note for profileCustomizations clearly documents why the field is no longer needed (DRA GA in 4.21, enabled by default) and sets an explicit removal version (4.24). This is consistent with the PR objectives.

Ensure the 4.24 removal timeline is coordinated with release planning and that dependent code paths have sufficient notice.

Comment on lines 30637 to 30641
"closedClientConnectionPolicy": {
"description": "closedClientConnectionPolicy controls how the IngressController behaves when the client closes the TCP connection while the TLS handshake or HTTP request is in progress. This option maps directly to HAProxy’s \"abortonclose\" option.\n\nValid values are: \"Abort\" and \"Continue\". The default value is \"Continue\".\n\nWhen set to \"Abort\", the router will stop processing the TLS handshake if it is in progress, and it will not send an HTTP request to the backend server if the request has not yet been sent when the client closes the connection.\n\nWhen set to \"Continue\", the router will complete the TLS handshake if it is in progress, or send an HTTP request to the backend server and wait for the backend server's response, regardless of whether the client has closed the connection.\n\nSetting \"Abort\" can help free CPU resources otherwise spent on TLS computation for connections the client has already closed, and can reduce request queue size, thereby reducing the load on saturated backend servers.\n\nImportant Considerations:\n\n - The default policy (\"Continue\") is HTTP-compliant, and requests\n for aborted client connections will still be served.\n Use the \"Continue\" policy to allow a client to send a request\n and then immediately close its side of the connection while\n still receiving a response on the half-closed connection.\n\n - When clients use keep-alive connections, the most common case for premature\n closure is when the user wants to cancel the transfer or when a timeout\n occurs. In that case, the \"Abort\" policy may be used to reduce resource consumption.\n\n - Using RSA keys larger than 2048 bits can significantly slow down\n TLS computations. Consider using the \"Abort\" policy to reduce CPU usage.",
"type": "string",
"default": "Continue"
},
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

⚠️ Scope mismatch: IngressController changes appear unrelated to PR objectives.

This hunk introduces closedClientConnectionPolicy for IngressController HAProxy configuration. However, the PR is scoped to enabling the DynamicResourceAllocation feature gate and promoting it to GA (as stated in PR title and objectives).

This change:

  • Is unrelated to DRA feature gate promotion
  • Is missing from the AI-generated summary
  • Introduces HAProxy/ingress-specific behavior unrelated to scheduler resource allocation

Recommendation: Extract this change to a separate PR to maintain focused review and reduce risk of unintended interactions with the DRA promotion.


🏁 Script executed:

#!/bin/bash
# Locate openapi.json and check if the file exists
find . -name "openapi.json" -type f 2>/dev/null | head -20

Length of output: 22


🏁 Script executed:

#!/bin/bash
# Search for closedClientConnectionPolicy in the codebase to understand context
rg -n "closedClientConnectionPolicy" --type json -C 5 2>/dev/null || echo "Pattern not found"

Length of output: 3665


🏁 Script executed:

#!/bin/bash
# Check for DynamicResourceAllocation references in openapi.json or nearby changes
rg -n "DynamicResourceAllocation" --type json -C 3 2>/dev/null | head -50 || echo "No DRA references found"

Length of output: 1286


🏁 Script executed:

#!/bin/bash
# Search for IngressController definitions in openapi.json to understand schema context
rg -n '"IngressController"' --type json -C 3 2>/dev/null | head -50 || echo "Pattern not found"

Length of output: 0


🏁 Script executed:

#!/bin/bash
# Check git log or PR description if available
if git rev-parse --git-dir > /dev/null 2>&1; then
  echo "=== Current branch ===" && git rev-parse --abbrev-ref HEAD
  echo "=== Recent commits ===" && git log --oneline -10
  echo "=== PR/Branch info ===" && git log -1 --format="%B"
fi

Length of output: 1227


🏁 Script executed:

#!/bin/bash
# Show changes to openapi.json in the current PR
git diff HEAD~1 openapi/openapi.json | grep -A 10 -B 10 "closedClientConnectionPolicy" | head -50 || echo "No changes found in diff"

Length of output: 3831


🏁 Script executed:

#!/bin/bash
# Check git blame for the specific lines to see when closedClientConnectionPolicy was added
git blame -L 30630,30645 openapi/openapi.json 2>/dev/null | grep -E "closedClientConnectionPolicy|^[a-f0-9]+"

Length of output: 4448


🏁 Script executed:

#!/bin/bash
# Check if closedClientConnectionPolicy existed in the parent commit
git show HEAD~1:openapi/openapi.json 2>/dev/null | grep -n "closedClientConnectionPolicy" || echo "Not found in parent commit"

Length of output: 26


🏁 Script executed:

#!/bin/bash
# Get list of all files changed in this PR
git diff --name-only HEAD~1

Length of output: 1771


Extract closedClientConnectionPolicy changes to a separate PR—scope mismatch confirmed.

Verification confirms the review comment is valid. The closedClientConnectionPolicy field (IngressController HAProxy setting) was added in this PR but is unrelated to DRA GA promotion. Git blame shows this change originated in the current PR (commit 6819d79) and did not exist in the parent commit. While the openapi.json file is auto-generated via make update, the IngressController enhancement is completely separate from the scheduler resource allocation changes that define this PR's scope. All other changed files focus on DRA promotion, CRD manifests, and feature gate updates.

Extracting this to a separate PR maintains focused review and prevents unintended interactions between unrelated feature areas.

🤖 Prompt for AI Agents
In openapi/openapi.json around lines 30637-30641, the new
closedClientConnectionPolicy schema entry was introduced in this PR but is
unrelated to the DRA GA promotion scope; extract this change into a separate PR
by removing the closedClientConnectionPolicy addition from this branch (revert
the specific auto-generated change or regenerate openapi.json from the parent
commit), then create a new focused PR that contains only the IngressController
HAProxy closedClientConnectionPolicy addition (including any code/CRD changes
that necessitate the schema update) with its own commit and description so
reviews remain scoped to DRA GA promotion here.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

♻️ Duplicate comments (2)
payload-manifests/crds/0000_10_config-operator_01_schedulers-Hypershift.crd.yaml (1)

111-114: Deprecation message scope issue.

Same concern as flagged in config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-Hypershift.crd.yaml: the deprecation message states DRA is "enabled by default in the cluster," but the feature gate is scoped to HyperShift only.

config/v1/zz_generated.featuregated-crd-manifests/schedulers.config.openshift.io/HyperShiftOnlyDynamicResourceAllocation.yaml (1)

113-116: Deprecation message scope inconsistency.

The deprecation message claims DRA is "enabled by default in the cluster," but this manifest is specifically for the HyperShiftOnlyDynamicResourceAllocation feature gate, which is not enabled for SelfManagedHA clusters per the features.md table.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Cache: Disabled due to data retention organization setting

Knowledge base: Disabled due to Reviews -> Disable Knowledge Base setting

📥 Commits

Reviewing files that changed from the base of the PR and between 60ab84d and 6819d79.

📒 Files selected for processing (25)
  • config/v1/tests/schedulers.config.openshift.io/HyperShiftOnlyDynamicResourceAllocation.yaml (1 hunks)
  • config/v1/types_scheduling.go (1 hunks)
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-Hypershift.crd.yaml (1 hunks)
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-SelfManagedHA-CustomNoUpgrade.crd.yaml (1 hunks)
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-SelfManagedHA-Default.crd.yaml (0 hunks)
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml (0 hunks)
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-SelfManagedHA-TechPreviewNoUpgrade.crd.yaml (0 hunks)
  • config/v1/zz_generated.featuregated-crd-manifests.yaml (1 hunks)
  • config/v1/zz_generated.featuregated-crd-manifests/schedulers.config.openshift.io/HyperShiftOnlyDynamicResourceAllocation.yaml (2 hunks)
  • config/v1/zz_generated.swagger_doc_generated.go (1 hunks)
  • features.md (1 hunks)
  • features/features.go (1 hunks)
  • openapi/generated_openapi/zz_generated.openapi.go (1 hunks)
  • openapi/openapi.json (2 hunks)
  • payload-manifests/crds/0000_10_config-operator_01_schedulers-Hypershift.crd.yaml (1 hunks)
  • payload-manifests/crds/0000_10_config-operator_01_schedulers-SelfManagedHA-CustomNoUpgrade.crd.yaml (1 hunks)
  • payload-manifests/crds/0000_10_config-operator_01_schedulers-SelfManagedHA-Default.crd.yaml (0 hunks)
  • payload-manifests/crds/0000_10_config-operator_01_schedulers-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml (1 hunks)
  • payload-manifests/crds/0000_10_config-operator_01_schedulers-SelfManagedHA-TechPreviewNoUpgrade.crd.yaml (1 hunks)
  • payload-manifests/featuregates/featureGate-Hypershift-Default.yaml (1 hunks)
  • payload-manifests/featuregates/featureGate-Hypershift-DevPreviewNoUpgrade.yaml (1 hunks)
  • payload-manifests/featuregates/featureGate-Hypershift-TechPreviewNoUpgrade.yaml (1 hunks)
  • payload-manifests/featuregates/featureGate-SelfManagedHA-Default.yaml (1 hunks)
  • payload-manifests/featuregates/featureGate-SelfManagedHA-DevPreviewNoUpgrade.yaml (1 hunks)
  • payload-manifests/featuregates/featureGate-SelfManagedHA-TechPreviewNoUpgrade.yaml (1 hunks)
💤 Files with no reviewable changes (4)
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-SelfManagedHA-Default.crd.yaml
  • payload-manifests/crds/0000_10_config-operator_01_schedulers-SelfManagedHA-Default.crd.yaml
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-SelfManagedHA-TechPreviewNoUpgrade.crd.yaml
🚧 Files skipped from review as they are similar to previous changes (3)
  • payload-manifests/featuregates/featureGate-SelfManagedHA-Default.yaml
  • payload-manifests/featuregates/featureGate-Hypershift-Default.yaml
  • payload-manifests/featuregates/featureGate-Hypershift-DevPreviewNoUpgrade.yaml
🧰 Additional context used
📓 Path-based instructions (1)
**

⚙️ CodeRabbit configuration file

-Focus on major issues impacting performance, readability, maintainability and security. Avoid nitpicks and avoid verbosity.

Files:

  • features/features.go
  • openapi/generated_openapi/zz_generated.openapi.go
  • payload-manifests/crds/0000_10_config-operator_01_schedulers-SelfManagedHA-TechPreviewNoUpgrade.crd.yaml
  • payload-manifests/crds/0000_10_config-operator_01_schedulers-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml
  • config/v1/zz_generated.featuregated-crd-manifests/schedulers.config.openshift.io/HyperShiftOnlyDynamicResourceAllocation.yaml
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-SelfManagedHA-CustomNoUpgrade.crd.yaml
  • payload-manifests/crds/0000_10_config-operator_01_schedulers-SelfManagedHA-CustomNoUpgrade.crd.yaml
  • config/v1/types_scheduling.go
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-Hypershift.crd.yaml
  • payload-manifests/featuregates/featureGate-Hypershift-TechPreviewNoUpgrade.yaml
  • payload-manifests/featuregates/featureGate-SelfManagedHA-DevPreviewNoUpgrade.yaml
  • payload-manifests/featuregates/featureGate-SelfManagedHA-TechPreviewNoUpgrade.yaml
  • config/v1/zz_generated.featuregated-crd-manifests.yaml
  • config/v1/zz_generated.swagger_doc_generated.go
  • config/v1/tests/schedulers.config.openshift.io/HyperShiftOnlyDynamicResourceAllocation.yaml
  • features.md
  • payload-manifests/crds/0000_10_config-operator_01_schedulers-Hypershift.crd.yaml
  • openapi/openapi.json
🔇 Additional comments (14)
payload-manifests/crds/0000_10_config-operator_01_schedulers-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml (1)

1-122: Inconsistency between AI summary and actual file content.

The summary states "Removed the profileCustomizations field from the CRD schema," but this file does not contain a profileCustomizations field at all (spec ends at the profile field on line 110). Clarify whether this omission is intentional for the DevPreviewNoUpgrade feature set or if the summary conflated this file with the CustomNoUpgrade variant (which does contain and deprecate the field).

payload-manifests/crds/0000_10_config-operator_01_schedulers-SelfManagedHA-CustomNoUpgrade.crd.yaml (1)

112-115: Deprecation message is clear and properly formatted.

The multi-line description correctly documents deprecation reason, GA status, and removal timeline (4.24). Structure follows best practices for API deprecation.

However, verify that the message accurately reflects the actual scope: the feature gate changes show renaming to HyperShiftOnlyDynamicResourceAllocation, suggesting the feature is scoped to HyperShift deployments rather than enabled globally by default across all clusters. Confirm the deprecation message is not misleading regarding cluster-wide default enablement.

payload-manifests/featuregates/featureGate-SelfManagedHA-TechPreviewNoUpgrade.yaml (1)

32-34: Feature gate addition is well-placed and properly formatted.

HyperShiftOnlyDynamicResourceAllocation correctly added to the disabled list with proper JSON structure and alphabetical ordering preserved.

payload-manifests/featuregates/featureGate-SelfManagedHA-DevPreviewNoUpgrade.yaml (1)

23-25: Feature gate addition is consistent with related manifests and properly positioned.

HyperShiftOnlyDynamicResourceAllocation correctly added to disabled list with proper formatting and alphabetical ordering, consistent with the TechPreviewNoUpgrade variant.

payload-manifests/featuregates/featureGate-Hypershift-TechPreviewNoUpgrade.yaml (1)

199-201: Feature gate correctly enabled in HyperShift context.

HyperShiftOnlyDynamicResourceAllocation appropriately added to the enabled list for Hypershift-TechPreviewNoUpgrade, with proper formatting and alphabetical ordering.

Verify that this gate rename/scoping strategy aligns with PR objectives. The current implementation enables a HyperShift-specific DRA variant only in HyperShift profiles, whereas the PR description suggests enabling DRA globally by default for OCP-4.21. Confirm whether the original DynamicResourceAllocation gate has been completely replaced by HyperShiftOnlyDynamicResourceAllocation across all manifests, or if it exists elsewhere with different semantics.

openapi/generated_openapi/zz_generated.openapi.go (1)

19980-19980: LGTM: Deprecation properly documented in generated OpenAPI schema.

The description correctly marks profileCustomizations as deprecated, explains the reason (DRA is GA and enabled by default starting with 4.21), and specifies the removal timeline (4.24). Since this is generated code (zz_generated prefix), the change appropriately reflects updates to the source types.

config/v1/types_scheduling.go (1)

51-53: Clarify deprecation approach vs past review feedback.

Past review comments indicated ProfileCustomizations should be removed entirely since it has no use without DRA (per ingvagabund's feedback). The author acknowledged this with "Ack, Removed the field from the API." However, the current changes deprecate the field rather than remove it, with a planned removal in 4.24.

Additionally, the deprecation message states DRA "is enabled by default in the cluster," but the feature gate annotation HyperShiftOnlyDynamicResourceAllocation scopes this to HyperShift clusters only, not all cluster types.

Please clarify:

  1. Why deprecation was chosen over removal, given the past review feedback?
  2. Whether the "enabled by default in the cluster" language is accurate given the HyperShift-only scope?

Based on past review comments.

config/v1/tests/schedulers.config.openshift.io/HyperShiftOnlyDynamicResourceAllocation.yaml (1)

1-16: LGTM - Test structure is correct.

The test configuration follows the standard pattern for validating minimal Scheduler objects with the feature gate enabled. The test structure itself is appropriate.

config/v1/zz_generated.featuregated-crd-manifests.yaml (1)

578-578: Generated file reflects feature gate rename.

This change is consistent with the feature gate rename from DynamicResourceAllocation to HyperShiftOnlyDynamicResourceAllocation. As this is a generated file, any concerns about the feature gate scope should be addressed in the source definitions (already flagged in previous comments).

config/v1/zz_generated.swagger_doc_generated.go (1)

2902-2905: Deprecation text for profileCustomizations looks correct; verify source comment and version timeline are in sync.

The new description clearly marks profileCustomizations as deprecated and ties it to DRA GA in 4.21 with removal in 4.24, which matches the PR intent. Since this file is generated, please double‑check that:

  • The same wording (including 4.21/4.24) is present in config/v1/types_scheduling.go and other generated artifacts (OpenAPI, CRDs), and
  • The 4.21 GA and 4.24 removal versions are the agreed product timeline across docs and feature‑gate definitions.

As long as those sources are aligned and this was produced via the normal make update/codegen path, this change is good to go.

features/features.go (1)

935-941: LGTM! Feature gate correctly scoped to HyperShift.

The new FeatureGateHyperShiftOnlyDynamicResourceAllocation properly restricts the downstream-specific profileCustomizations field to HyperShift cluster profiles only. The configuration changes are appropriate:

  • enableForClusterProfile(Hypershift, ...) correctly limits activation to HyperShift clusters
  • productScope(ocpSpecific) correctly reflects that this gate controls OpenShift-specific behavior, even though the underlying DRA feature is upstream GA
  • Jira component and contact person updated to reflect HyperShift ownership

The enhancement PR link pointing to the upstream Kubernetes issue is acceptable since it documents the underlying DRA feature.

payload-manifests/crds/0000_10_config-operator_01_schedulers-SelfManagedHA-TechPreviewNoUpgrade.crd.yaml (1)

1-122: LGTM! CRD correctly omits profileCustomizations for SelfManagedHA.

This CRD manifest for the SelfManagedHA-TechPreviewNoUpgrade feature set correctly excludes the profileCustomizations field, which is consistent with the feature gate being scoped to HyperShift cluster profiles only.

The spec includes only the core scheduler configuration fields (defaultNodeSelector, mastersSchedulable, policy, profile), and the CRD structure is complete and valid.

openapi/openapi.json (2)

10813-10816: Deprecation message aligns with PR objectives and provides clear removal timeline.

The updated description for profileCustomizations clearly communicates that DRA is now GA (in 4.21) and the field will be removed in 4.24. The rationale is explicit for users.


30637-30641: Scope mismatch: closedClientConnectionPolicy is unrelated to DRA feature gate changes.

The PR objectives focus on enabling the DRA feature gate by default for Kubernetes v1.34 GA promotion. This field (IngressController TCP connection handling) appears orthogonal to DRA and scheduler-related changes.

The field is well-documented (enum values, defaults, rationale), but its inclusion needs clarification: is this an intentional multi-faceted change, or was it accidentally included during a rebase/merge?

Comment on lines 112 to 115
description: |-
profileCustomizations contains configuration for modifying the default behavior of existing scheduler profiles.
Deprecated: no longer needed, since DRA is GA starting with 4.21, and
is enabled by default in the cluster, this field will be removed in 4.24.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

Critical inconsistency for SelfManagedHA clusters.

This CRD manifest is for SelfManagedHA clusters (per the filename and metadata annotation release.openshift.io/feature-set: CustomNoUpgrade), but the deprecation message states DRA is "enabled by default in the cluster." However, the features.md table (line 18) shows HyperShiftOnlyDynamicResourceAllocation is not enabled for SelfManagedHA clusters.

This creates a misleading message for SelfManagedHA users: they're being told a field is deprecated because the feature is enabled by default, when it's actually not enabled for their cluster type at all.

The deprecation message should either:

  1. Be conditional/variant-specific based on cluster type, or
  2. The feature gate should be enabled for SelfManagedHA clusters if the intent is universal DRA enablement
🤖 Prompt for AI Agents
In
config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-SelfManagedHA-CustomNoUpgrade.crd.yaml
around lines 112-115, the deprecation message incorrectly states DRA is "enabled
by default in the cluster" while SelfManagedHA does not have
HyperShiftOnlyDynamicResourceAllocation enabled; update the manifest to either
(A) make the deprecation message variant-specific (explicitly state that DRA is
not enabled for SelfManagedHA and therefore the deprecation does not apply) or
(B) if the intent is universal DRA enablement, flip the feature gate for
SelfManagedHA so HyperShiftOnlyDynamicResourceAllocation is enabled and then
keep the original message; ensure the chosen approach is reflected in the CRD
description text and update any related metadata/comments to avoid misleading
SelfManagedHA users.

| NewOLMPreflightPermissionChecks| | | | <span style="background-color: #519450">Enabled</span> | | <span style="background-color: #519450">Enabled</span> |
| NoRegistryClusterInstall| | | | <span style="background-color: #519450">Enabled</span> | | <span style="background-color: #519450">Enabled</span> |
| ProvisioningRequestAvailable| | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | | |
| HyperShiftOnlyDynamicResourceAllocation| <span style="background-color: #519450">Enabled</span> | | <span style="background-color: #519450">Enabled</span> | | <span style="background-color: #519450">Enabled</span> | |
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

Feature gate scope contradicts PR objective.

The PR description states the goal is to "Enable the DynamicResourceAllocation (DRA) feature gate by default because DRA graduated to GA in upstream Kubernetes v1.34." However, this row shows HyperShiftOnlyDynamicResourceAllocation is enabled only for HyperShift cluster profiles and remains disabled for SelfManagedHA clusters.

If the intent is to enable DRA by default for all clusters (per the PR description and the upstream GA status), the feature gate should be enabled for both HyperShift and SelfManagedHA columns. If the intent is to scope this to HyperShift only, the PR description and deprecation messages claiming "enabled by default in the cluster" need clarification.

🤖 Prompt for AI Agents
In features.md around line 18, the table row for
HyperShiftOnlyDynamicResourceAllocation conflicts with the PR description:
either enable DynamicResourceAllocation for SelfManagedHA as well or clarify the
PR scope; to fix, update the table so both HyperShift and SelfManagedHA columns
show Enabled if the intent is to enable DRA cluster-wide, or else change the PR
description and any deprecation/notification text to state the feature is being
enabled only for HyperShift and not for SelfManagedHA.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

♻️ Duplicate comments (3)
config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-Hypershift.crd.yaml (1)

111-115: Clarify deprecation scope for HyperShift deployments.

The deprecation message states DRA "is enabled by default in the cluster," but this CRD is specific to HyperShift deployments (per filename and removed annotations). Since the feature gate is named HyperShiftOnlyDynamicResourceAllocation, consider clarifying whether "the cluster" refers to all cluster types or specifically HyperShift clusters to avoid user confusion.

config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-SelfManagedHA-CustomNoUpgrade.crd.yaml (1)

112-126: Deprecation message may mislead SelfManagedHA users.

This CRD is for SelfManagedHA clusters (per metadata annotation on line 7 and feature-set on line 9), but the deprecation message states DRA "is enabled by default in the cluster." Given the gate is named HyperShiftOnlyDynamicResourceAllocation, this creates confusion about actual DRA availability in SelfManagedHA deployments. Past reviews flagged this as critical.

openapi/openapi.json (1)

30637-30641: Duplicate: IngressController closedClientConnectionPolicy is out of scope.

This addition of closedClientConnectionPolicy (lines 30637–30641) for IngressController HAProxy configuration was already flagged in a prior review as unrelated to the DRA GA promotion scope. The field pertains to ingress-controller-specific behavior, not scheduler resource allocation.

As confirmed in the prior review, this change should be extracted to a separate PR to maintain focused review scope and reduce risk of unintended feature interactions.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Cache: Disabled due to data retention organization setting

Knowledge base: Disabled due to Reviews -> Disable Knowledge Base setting

📥 Commits

Reviewing files that changed from the base of the PR and between 6819d79 and 60bb094.

📒 Files selected for processing (22)
  • config/v1/types_scheduling.go (2 hunks)
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-Hypershift.crd.yaml (2 hunks)
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-SelfManagedHA-CustomNoUpgrade.crd.yaml (2 hunks)
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml (0 hunks)
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-SelfManagedHA-TechPreviewNoUpgrade.crd.yaml (0 hunks)
  • config/v1/zz_generated.featuregated-crd-manifests.yaml (1 hunks)
  • config/v1/zz_generated.featuregated-crd-manifests/schedulers.config.openshift.io/HyperShiftOnlyDynamicResourceAllocation.yaml (3 hunks)
  • config/v1/zz_generated.swagger_doc_generated.go (2 hunks)
  • features.md (1 hunks)
  • features/features.go (1 hunks)
  • openapi/generated_openapi/zz_generated.openapi.go (2 hunks)
  • openapi/openapi.json (3 hunks)
  • payload-manifests/crds/0000_10_config-operator_01_schedulers-Hypershift.crd.yaml (2 hunks)
  • payload-manifests/crds/0000_10_config-operator_01_schedulers-SelfManagedHA-CustomNoUpgrade.crd.yaml (2 hunks)
  • payload-manifests/crds/0000_10_config-operator_01_schedulers-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml (1 hunks)
  • payload-manifests/crds/0000_10_config-operator_01_schedulers-SelfManagedHA-TechPreviewNoUpgrade.crd.yaml (1 hunks)
  • payload-manifests/featuregates/featureGate-Hypershift-Default.yaml (1 hunks)
  • payload-manifests/featuregates/featureGate-Hypershift-DevPreviewNoUpgrade.yaml (1 hunks)
  • payload-manifests/featuregates/featureGate-Hypershift-TechPreviewNoUpgrade.yaml (1 hunks)
  • payload-manifests/featuregates/featureGate-SelfManagedHA-Default.yaml (1 hunks)
  • payload-manifests/featuregates/featureGate-SelfManagedHA-DevPreviewNoUpgrade.yaml (1 hunks)
  • payload-manifests/featuregates/featureGate-SelfManagedHA-TechPreviewNoUpgrade.yaml (1 hunks)
💤 Files with no reviewable changes (2)
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-SelfManagedHA-TechPreviewNoUpgrade.crd.yaml
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml
🚧 Files skipped from review as they are similar to previous changes (8)
  • payload-manifests/featuregates/featureGate-Hypershift-DevPreviewNoUpgrade.yaml
  • config/v1/zz_generated.swagger_doc_generated.go
  • payload-manifests/featuregates/featureGate-Hypershift-TechPreviewNoUpgrade.yaml
  • payload-manifests/featuregates/featureGate-SelfManagedHA-DevPreviewNoUpgrade.yaml
  • features.md
  • features/features.go
  • payload-manifests/crds/0000_10_config-operator_01_schedulers-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml
  • payload-manifests/featuregates/featureGate-SelfManagedHA-TechPreviewNoUpgrade.yaml
🧰 Additional context used
📓 Path-based instructions (1)
**

⚙️ CodeRabbit configuration file

-Focus on major issues impacting performance, readability, maintainability and security. Avoid nitpicks and avoid verbosity.

Files:

  • config/v1/types_scheduling.go
  • config/v1/zz_generated.featuregated-crd-manifests.yaml
  • payload-manifests/crds/0000_10_config-operator_01_schedulers-SelfManagedHA-CustomNoUpgrade.crd.yaml
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-SelfManagedHA-CustomNoUpgrade.crd.yaml
  • payload-manifests/crds/0000_10_config-operator_01_schedulers-Hypershift.crd.yaml
  • payload-manifests/crds/0000_10_config-operator_01_schedulers-SelfManagedHA-TechPreviewNoUpgrade.crd.yaml
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-Hypershift.crd.yaml
  • payload-manifests/featuregates/featureGate-SelfManagedHA-Default.yaml
  • config/v1/zz_generated.featuregated-crd-manifests/schedulers.config.openshift.io/HyperShiftOnlyDynamicResourceAllocation.yaml
  • openapi/generated_openapi/zz_generated.openapi.go
  • openapi/openapi.json
  • payload-manifests/featuregates/featureGate-Hypershift-Default.yaml
🔇 Additional comments (12)
payload-manifests/featuregates/featureGate-SelfManagedHA-Default.yaml (1)

120-122: Manifest update looks good—verify feature definition alignment.

The addition of HyperShiftOnlyDynamicResourceAllocation to the disabled list for self-managed HA deployments is logically correct and maintains alphabetical ordering. Ensure that the corresponding feature definition (likely in features.go or related feature declaration file) includes this gate and that the old DynamicResourceAllocation gate has been removed from all relevant manifests across the codebase.

payload-manifests/featuregates/featureGate-Hypershift-Default.yaml (1)

275-277: Manifest update looks good—verify consistency with feature declarations.

The addition of HyperShiftOnlyDynamicResourceAllocation to the enabled list for HyperShift deployments is logical and maintains alphabetical ordering. Verify that this gate is:

  • Properly declared in the upstream feature definitions
  • Removed from all other relevant manifest variants (e.g., ensure the old DynamicResourceAllocation entry is gone from all deployment profiles)
  • Consistent with the corresponding CRD annotations and OpenAPI descriptions that reference this gate
openapi/generated_openapi/zz_generated.openapi.go (2)

19006-19012: LGTM: Description accurately reflects DRA GA status.

The updated description correctly states that DRA is now enabled by default following its graduation to GA in Kubernetes v1.34.


19977-19983: LGTM: Clear deprecation notice with appropriate timeline.

The deprecation message clearly explains that profileCustomizations is no longer needed since DRA is GA and enabled by default in 4.21, with removal scheduled for 4.24 (3 releases away).

config/v1/types_scheduling.go (1)

116-116: LGTM.

The updated default description accurately reflects the GA status of DRA in upstream Kubernetes 1.34.

config/v1/zz_generated.featuregated-crd-manifests.yaml (1)

578-578: LGTM.

The feature gate rename from DynamicResourceAllocation to HyperShiftOnlyDynamicResourceAllocation is correctly reflected in the CRD metadata.

config/v1/zz_generated.featuregated-crd-manifests/schedulers.config.openshift.io/HyperShiftOnlyDynamicResourceAllocation.yaml (2)

9-9: LGTM.

The feature gate annotation correctly references HyperShiftOnlyDynamicResourceAllocation.


113-127: LGTM.

The deprecation notice and updated default description are consistent with the DRA GA status and the feature gate scope.

payload-manifests/crds/0000_10_config-operator_01_schedulers-Hypershift.crd.yaml (1)

111-125: LGTM with prior comment.

The deprecation notice and default description updates are consistent with the DRA GA status. Note the scope ambiguity flagged in the similar config/v1 CRD manifest.

payload-manifests/crds/0000_10_config-operator_01_schedulers-SelfManagedHA-TechPreviewNoUpgrade.crd.yaml (1)

1-122: No issues found — CRD structure is complete and intentional for TechPreviewNoUpgrade.

Verification confirms the absence of profileCustomizations is intentional. While CustomNoUpgrade includes this field (marked deprecated, removal planned for 4.24), it is correctly omitted from TechPreviewNoUpgrade, consistent with Default and DevPreviewNoUpgrade variants. This represents deliberate feature-set differentiation rather than a missing field.

openapi/openapi.json (2)

10238-10241: Verify feature gate name consistency in description.

The description at line 10239 states "Dynamic resource allocation is...enabled by default in the cluster" and mentions "the related feature gate is graduated to GA in k8s 1.34 upstream." However, according to the AI-generated summary, the feature gate was replaced with HyperShiftOnlyDynamicResourceAllocation.

Confirm whether:

  1. The field name should remain dynamicResourceAllocation (for upstream Kubernetes GA behavior).
  2. The description should reference the correct gate name if OpenShift-specific behavior is documented here.

Consistency with the feature gate definitions in CRD manifests and config/v1 is critical for documentation and tooling accuracy.


10813-10816: Deprecation note is well-aligned with PR objectives.

The deprecation message correctly notes that profileCustomizations is no longer needed since DRA is GA and enabled by default, with a removal target of 4.24. This aligns with the PR goal of enabling DRA by default and the referenced changes to CRD manifests and feature gate definitions.

Comment on lines 112 to 115
description: |-
profileCustomizations contains configuration for modifying the default behavior of existing scheduler profiles.
Deprecated: no longer needed, since DRA is GA starting with 4.21, and
is enabled by default in the cluster, this field will be removed in 4.24.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

Verify deprecation message appropriateness for SelfManagedHA.

This CRD manifest is for SelfManagedHA clusters (CustomNoUpgrade feature set). The deprecation message states DRA "is enabled by default in the cluster," but the associated feature gate is HyperShiftOnlyDynamicResourceAllocation, which by name suggests it's not enabled for SelfManagedHA.

If the profileCustomizations field is present in SelfManagedHA CRDs despite the HyperShiftOnly gate, the deprecation message may confuse users about whether DRA is actually enabled in their cluster type.

Run this script to verify whether HyperShiftOnlyDynamicResourceAllocation is enabled for SelfManagedHA feature sets:


🏁 Script executed:

#!/bin/bash
# Check which feature sets enable HyperShiftOnlyDynamicResourceAllocation

echo "=== Checking feature gate enablement across feature sets ==="
fd -e yaml . payload-manifests/featuregates/ --exec grep -l "HyperShiftOnlyDynamicResourceAllocation" {} \; | while read file; do
  echo ""
  echo "File: $file"
  echo "Enabled gates:"
  gawk '/featureSet:/{fs=$2} /enabled:/{flag=1; next} flag && /^[^ ]/{flag=0} flag && /HyperShiftOnlyDynamicResourceAllocation/{print "  Feature set: " fs " - Gate enabled"}' "$file"
  echo "Disabled gates:"
  gawk '/featureSet:/{fs=$2} /disabled:/{flag=1; next} flag && /^[^ ]/{flag=0} flag && /HyperShiftOnlyDynamicResourceAllocation/{print "  Feature set: " fs " - Gate disabled"}' "$file"
done

Length of output: 749


Running more detailed inspection to understand the structure and content:


🏁 Script executed:

#!/bin/bash
# Inspect the actual structure and content of feature gate files
echo "=== Inspecting SelfManagedHA feature gate files ==="
for file in payload-manifests/featuregates/featureGate-SelfManagedHA-*.yaml; do
  if [ -f "$file" ]; then
    echo ""
    echo "File: $file"
    echo "---"
    # Check if HyperShiftOnlyDynamicResourceAllocation is mentioned at all
    if grep -q "HyperShiftOnlyDynamicResourceAllocation" "$file"; then
      echo "Found HyperShiftOnlyDynamicResourceAllocation in this file"
      # Show context around the match
      grep -n -B5 -A5 "HyperShiftOnlyDynamicResourceAllocation" "$file" | head -20
    else
      echo "HyperShiftOnlyDynamicResourceAllocation NOT found in this file"
    fi
  fi
done

echo ""
echo "=== Checking if profileCustomizations exists in SelfManagedHA CRD ==="
if grep -q "profileCustomizations" "payload-manifests/crds/0000_10_config-operator_01_schedulers-SelfManagedHA-CustomNoUpgrade.crd.yaml"; then
  echo "profileCustomizations field FOUND in SelfManagedHA CRD"
  grep -n -B3 -A5 "profileCustomizations" "payload-manifests/crds/0000_10_config-operator_01_schedulers-SelfManagedHA-CustomNoUpgrade.crd.yaml" | head -25
else
  echo "profileCustomizations field NOT found in SelfManagedHA CRD"
fi

Length of output: 2506


Need to clarify whether these gates are in the enabled or disabled lists:


🏁 Script executed:

#!/bin/bash
# Check the full structure and whether HyperShiftOnlyDynamicResourceAllocation is enabled or disabled
echo "=== Full inspection of SelfManagedHA-Default feature gate structure ==="
cat payload-manifests/featuregates/featureGate-SelfManagedHA-Default.yaml | head -150

echo ""
echo "=== Checking context for HyperShiftOnlyDynamicResourceAllocation ==="
grep -n "enabled\|disabled" payload-manifests/featuregates/featureGate-SelfManagedHA-Default.yaml | head -10

Length of output: 5217


Verifying this pattern across all SelfManagedHA feature sets:


🏁 Script executed:

#!/bin/bash
# Check if HyperShiftOnlyDynamicResourceAllocation is in disabled list for all SelfManagedHA feature sets
echo "=== Checking enabled/disabled status in all SelfManagedHA feature gates ==="
for file in payload-manifests/featuregates/featureGate-SelfManagedHA-*.yaml; do
  if [ -f "$file" ]; then
    echo ""
    echo "File: $(basename $file)"
    # Extract the section containing disabled and enabled blocks with gates
    python3 << 'PYTHON_EOF'
import json
import sys

file_path = sys.argv[1]
try:
    with open(file_path, 'r') as f:
        data = json.load(f)
    
    for fg in data.get('status', {}).get('featureGates', []):
        disabled_gates = [g['name'] for g in fg.get('disabled', [])]
        enabled_gates = [g['name'] for g in fg.get('enabled', [])]
        
        if 'HyperShiftOnlyDynamicResourceAllocation' in disabled_gates:
            print("  Status: DISABLED")
        elif 'HyperShiftOnlyDynamicResourceAllocation' in enabled_gates:
            print("  Status: ENABLED")
        else:
            print("  Status: NOT FOUND")
except Exception as e:
    print(f"  Error: {e}")
PYTHON_EOF
    python3 -c "
import json
with open('$file') as f:
    data = json.load(f)
for fg in data.get('status', {}).get('featureGates', []):
    disabled = [g['name'] for g in fg.get('disabled', [])]
    enabled = [g['name'] for g in fg.get('enabled', [])]
    if 'HyperShiftOnlyDynamicResourceAllocation' in disabled:
        print('  Status: DISABLED')
    elif 'HyperShiftOnlyDynamicResourceAllocation' in enabled:
        print('  Status: ENABLED')
    else:
        print('  Status: NOT FOUND')
"
  fi
done

Length of output: 622


Update the deprecation message to clarify DRA status for SelfManagedHA clusters.

The HyperShiftOnlyDynamicResourceAllocation feature gate is explicitly disabled in all SelfManagedHA feature sets (Default, DevPreviewNoUpgrade, TechPreviewNoUpgrade), contradicting the deprecation message that states DRA "is enabled by default in the cluster." The current message will mislead SelfManagedHA users about whether DRA is actually enabled in their environment.

The message should be clarified to either:

  • Specify that the statement applies only to Hypershift clusters, or
  • Accurately reflect that DRA is disabled/not available for SelfManagedHA

Update the description at lines 112-115 of payload-manifests/crds/0000_10_config-operator_01_schedulers-SelfManagedHA-CustomNoUpgrade.crd.yaml to provide accurate deprecation guidance for SelfManagedHA users.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

♻️ Duplicate comments (3)
payload-manifests/crds/0000_10_config-operator_01_schedulers-SelfManagedHA-CustomNoUpgrade.crd.yaml (1)

111-132: ⚠️ Misleading deprecation message for SelfManagedHA cluster type.

This file targets SelfManagedHA clusters (CustomNoUpgrade feature set), but the deprecation message states DRA is "enabled by default across all clusters." However, HyperShiftOnlyDynamicResourceAllocation is explicitly disabled in featureGate-SelfManagedHA-Default.yaml, meaning DRA is not enabled for SelfManagedHA environments. This creates confusion for SelfManagedHA users who will read that a field is deprecated because a feature is enabled by default, when it actually isn't in their cluster type.

Consider clarifying the deprecation message to reflect SelfManagedHA reality:

- profileCustomizations contains configuration for modifying the default behavior of existing scheduler profiles.
- Deprecated: DRA is GA and enabled by default across all clusters starting with 4.21
- this configuration field is maintained only for HyperShift compatibility and will be removed in 4.24.
+ profileCustomizations contains configuration for modifying the default behavior of existing scheduler profiles.
+ Deprecated: DRA is GA and enabled by default in HyperShift clusters starting with 4.21.
+ This configuration field is maintained for compatibility and will be removed in 4.24.

Alternatively, remove the profileCustomizations field entirely from SelfManagedHA CRDs if DRA is not applicable (as shown in file 8 for DevPreviewNoUpgrade).

config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-SelfManagedHA-CustomNoUpgrade.crd.yaml (1)

111-132: ⚠️ Identical misleading message as in file 6.

This generated CRD manifest has the same inconsistency: misleading deprecation message stating DRA is "enabled by default across all clusters" when HyperShiftOnlyDynamicResourceAllocation is actually disabled for SelfManagedHA. Apply the same clarification as needed for file 6.

The fix should mirror the resolution for payload-manifests/crds/0000_10_config-operator_01_schedulers-SelfManagedHA-CustomNoUpgrade.crd.yaml. Clarify the message to "enabled by default in HyperShift clusters" or remove the field if not applicable to SelfManagedHA.

openapi/openapi.json (1)

30634-30641: ⚠️ closedClientConnectionPolicy addition is out of scope—duplicate concern from prior review.

This hunk introduces closedClientConnectionPolicy for IngressController HAProxy configuration, which is unrelated to the PR's scope of enabling the DRA feature gate by default. This concern was already identified in a prior review comment with verification that this change originated in the current PR but is unrelated to DRA promotion.

Recommendation: Extract this IngressController change to a separate PR. The openapi.json file is auto-generated via make update, so regenerate it without the closedClientConnectionPolicy addition by reverting the underlying IngressController CRD/code changes from this branch, then create a focused PR for the HAProxy configuration enhancement. This keeps the DRA promotion review focused and reduces risk of unintended interactions between unrelated feature areas.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Cache: Disabled due to data retention organization setting

Knowledge base: Disabled due to Reviews -> Disable Knowledge Base setting

📥 Commits

Reviewing files that changed from the base of the PR and between 60bb094 and 5ac3982.

📒 Files selected for processing (22)
  • config/v1/types_scheduling.go (2 hunks)
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-Hypershift.crd.yaml (2 hunks)
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-SelfManagedHA-CustomNoUpgrade.crd.yaml (2 hunks)
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml (0 hunks)
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-SelfManagedHA-TechPreviewNoUpgrade.crd.yaml (0 hunks)
  • config/v1/zz_generated.featuregated-crd-manifests.yaml (1 hunks)
  • config/v1/zz_generated.featuregated-crd-manifests/schedulers.config.openshift.io/HyperShiftOnlyDynamicResourceAllocation.yaml (3 hunks)
  • config/v1/zz_generated.swagger_doc_generated.go (2 hunks)
  • features.md (1 hunks)
  • features/features.go (1 hunks)
  • openapi/generated_openapi/zz_generated.openapi.go (2 hunks)
  • openapi/openapi.json (3 hunks)
  • payload-manifests/crds/0000_10_config-operator_01_schedulers-Hypershift.crd.yaml (2 hunks)
  • payload-manifests/crds/0000_10_config-operator_01_schedulers-SelfManagedHA-CustomNoUpgrade.crd.yaml (2 hunks)
  • payload-manifests/crds/0000_10_config-operator_01_schedulers-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml (1 hunks)
  • payload-manifests/crds/0000_10_config-operator_01_schedulers-SelfManagedHA-TechPreviewNoUpgrade.crd.yaml (1 hunks)
  • payload-manifests/featuregates/featureGate-Hypershift-Default.yaml (1 hunks)
  • payload-manifests/featuregates/featureGate-Hypershift-DevPreviewNoUpgrade.yaml (1 hunks)
  • payload-manifests/featuregates/featureGate-Hypershift-TechPreviewNoUpgrade.yaml (1 hunks)
  • payload-manifests/featuregates/featureGate-SelfManagedHA-Default.yaml (1 hunks)
  • payload-manifests/featuregates/featureGate-SelfManagedHA-DevPreviewNoUpgrade.yaml (1 hunks)
  • payload-manifests/featuregates/featureGate-SelfManagedHA-TechPreviewNoUpgrade.yaml (1 hunks)
💤 Files with no reviewable changes (2)
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-SelfManagedHA-TechPreviewNoUpgrade.crd.yaml
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml
🚧 Files skipped from review as they are similar to previous changes (8)
  • config/v1/zz_generated.swagger_doc_generated.go
  • config/v1/types_scheduling.go
  • openapi/generated_openapi/zz_generated.openapi.go
  • features/features.go
  • features.md
  • payload-manifests/featuregates/featureGate-Hypershift-Default.yaml
  • payload-manifests/featuregates/featureGate-Hypershift-DevPreviewNoUpgrade.yaml
  • payload-manifests/featuregates/featureGate-SelfManagedHA-TechPreviewNoUpgrade.yaml
🧰 Additional context used
📓 Path-based instructions (1)
**

⚙️ CodeRabbit configuration file

-Focus on major issues impacting performance, readability, maintainability and security. Avoid nitpicks and avoid verbosity.

Files:

  • payload-manifests/featuregates/featureGate-SelfManagedHA-DevPreviewNoUpgrade.yaml
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-Hypershift.crd.yaml
  • payload-manifests/featuregates/featureGate-Hypershift-TechPreviewNoUpgrade.yaml
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-SelfManagedHA-CustomNoUpgrade.crd.yaml
  • payload-manifests/featuregates/featureGate-SelfManagedHA-Default.yaml
  • payload-manifests/crds/0000_10_config-operator_01_schedulers-SelfManagedHA-TechPreviewNoUpgrade.crd.yaml
  • config/v1/zz_generated.featuregated-crd-manifests/schedulers.config.openshift.io/HyperShiftOnlyDynamicResourceAllocation.yaml
  • config/v1/zz_generated.featuregated-crd-manifests.yaml
  • payload-manifests/crds/0000_10_config-operator_01_schedulers-Hypershift.crd.yaml
  • payload-manifests/crds/0000_10_config-operator_01_schedulers-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml
  • openapi/openapi.json
  • payload-manifests/crds/0000_10_config-operator_01_schedulers-SelfManagedHA-CustomNoUpgrade.crd.yaml
🔇 Additional comments (10)
config/v1/zz_generated.featuregated-crd-manifests.yaml (1)

570-591: Straightforward feature gate rename.

The CRD metadata correctly reflects the gate rename from DynamicResourceAllocation to HyperShiftOnlyDynamicResourceAllocation, maintaining proper YAML structure and alphabetical ordering.

payload-manifests/featuregates/featureGate-SelfManagedHA-DevPreviewNoUpgrade.yaml (1)

14-35: Correctly disables HyperShiftOnly gate for SelfManagedHA profile.

The gate is appropriately placed in the disabled list for this SelfManagedHA variant, ensuring it does not apply to non-HyperShift clusters.

payload-manifests/featuregates/featureGate-Hypershift-TechPreviewNoUpgrade.yaml (1)

69-358: Correctly enables HyperShiftOnly gate for HyperShift TechPreviewNoUpgrade profile.

The gate is appropriately added to the enabled list for HyperShift clusters at this feature set level.

payload-manifests/featuregates/featureGate-SelfManagedHA-Default.yaml (1)

14-230: Correctly disables HyperShiftOnly gate for SelfManagedHA default profile.

The gate is appropriately placed in the disabled list, preventing it from applying to non-HyperShift cluster types.

config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-Hypershift.crd.yaml (1)

110-132: Deprecation messaging is accurate for HyperShift CRD.

For the HyperShift variant, the deprecation note correctly reflects that DRA (via HyperShiftOnlyDynamicResourceAllocation) is enabled by default and the field will be removed in 4.24. The updated default description aligns with GA status.

payload-manifests/crds/0000_10_config-operator_01_schedulers-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml (1)

1-122: The review comment's inconsistency claim is factually incorrect.

Verification confirms that profileCustomizations is present only in the CustomNoUpgrade variant. The current DevPreviewNoUpgrade file is consistent with two other SelfManagedHA variants (Default and TechPreviewNoUpgrade), all three of which correctly omit the field. CustomNoUpgrade is the outlier, not the standard.

The current file follows the established pattern across the majority of SelfManagedHA variants. No changes are required.

Likely an incorrect or invalid review comment.

config/v1/zz_generated.featuregated-crd-manifests/schedulers.config.openshift.io/HyperShiftOnlyDynamicResourceAllocation.yaml (1)

9-9: Verify feature gate rename is applied consistently across the codebase.

Line 9 shows the annotation key has been renamed from feature-gate.release.openshift.io/DynamicResourceAllocation to feature-gate.release.openshift.io/HyperShiftOnlyDynamicResourceAllocation. Please confirm this rename is reflected consistently across all related feature-gate definitions, feature lists, and any downstream code that references the old gate name.

payload-manifests/crds/0000_10_config-operator_01_schedulers-SelfManagedHA-TechPreviewNoUpgrade.crd.yaml (1)

1-122: Verify intentional omission of profileCustomizations field in TechPreviewNoUpgrade variant.

This new file omits the profileCustomizations field that is present in the Hypershift variant (File 2). Please confirm this is intentional. If TechPreviewNoUpgrade should support the same configuration options, the profileCustomizations field should be added for consistency. If this omission is intentional (e.g., the field is not exposed in tech preview), please document the design rationale.

openapi/openapi.json (2)

10236-10242: ✓ DRA GA promotion description update aligns with PR objectives.

The revised description for dynamicResourceAllocation accurately reflects the GA status in Kubernetes 1.34 and clarifies that the default is now Enabled. This is consistent with the PR's goal to enable DRA by default in OpenShift.


10811-10817: ✓ Deprecation notice for profileCustomizations is clear and forward-compatible.

The updated description correctly marks profileCustomizations as deprecated for HyperShift compatibility only, with removal planned for 4.24. This aligns with the PR's promotion of DRA to GA and provides clear migration guidance.

@sairameshv
Copy link
Member Author

/hold cancel
As the PR is merged

@openshift-ci openshift-ci bot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Nov 21, 2025
- DynamicResourceAllocation feature has been graduated to GA in the upstream i.e. k8s 1.34
- Removed the downstream featuregate DynamicResourceAllocation so that this is enabled by default
  for all the cluster types
- Remove the downstream featuregate dependency from the
  scheduler.config's ProfileCustomizations field

Signed-off-by: Sai Ramesh Vanka <[email protected]>
Signed-off-by: Sai Ramesh Vanka <[email protected]>
@nee1esh
Copy link

nee1esh commented Nov 25, 2025

/retest

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Nov 25, 2025

@sairameshv: 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/okd-scos-e2e-aws-ovn 134c9e0 link false /test okd-scos-e2e-aws-ovn
ci/prow/verify-crd-schema bb45b13 link true /test verify-crd-schema
ci/prow/verify-crdify bb45b13 link true /test verify-crdify
ci/prow/verify bb45b13 link true /test verify

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.

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

Labels

jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.