Skip to content

Conversation

@tkashem
Copy link
Contributor

@tkashem tkashem commented Nov 21, 2025

Remove the DynamicResourceAllocation feature gate

  • DRA is GA, and is enable by default starting with 1.34
  • No downstream component refers to the gate any longer

- DRA is GA, and is enable by default
- no downstream component refers to the gate any longer

With the above, it is safe to delete the gate
@openshift-ci-robot
Copy link

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

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

This repository is configured in: LGTM mode

@coderabbitai
Copy link

coderabbitai bot commented Nov 21, 2025

Walkthrough

This change removes the DynamicResourceAllocation feature gate from OpenShift scheduler configuration. The feature gate annotation is removed from Go type definitions, the feature gate declaration is removed from the features package, CRD manifests are updated to remove the profileCustomizations field across multiple feature gate levels, feature gate configuration files are updated to remove DynamicResourceAllocation entries, and the OpenAPI schema is updated with a deprecation notice.

Changes

Cohort / File(s) Summary
Go source and feature gate declarations
config/v1/types_scheduling.go, features/features.go
Removed feature-gate annotation for DynamicResourceAllocation from SchedulerSpec; removed FeatureGateDynamicResourceAllocation variable export from features package
CRD manifests (config/v1 generated)
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
Removed profileCustomizations field and nested dynamicResourceAllocation enum from v1 Scheduler CRD schemas
CRD manifests (payload-manifests)
payload-manifests/crds/0000_10_config-operator_01_schedulers-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml, payload-manifests/crds/0000_10_config-operator_01_schedulers-SelfManagedHA-TechPreviewNoUpgrade.crd.yaml
Removed profileCustomizations property, nested dynamicResourceAllocation object, and associated metadata from Scheduler CRD spec
Feature gate configuration files
payload-manifests/featuregates/featureGate-Hypershift-*.yaml (Default, DevPreviewNoUpgrade, TechPreviewNoUpgrade), payload-manifests/featuregates/featureGate-SelfManagedHA-*.yaml (Default, DevPreviewNoUpgrade, TechPreviewNoUpgrade)
Removed DynamicResourceAllocation entries from enabled or disabled feature lists across multiple cluster deployment profiles
Feature gate manifest registry
config/v1/zz_generated.featuregated-crd-manifests.yaml, config/v1/zz_generated.featuregated-crd-manifests/schedulers.config.openshift.io/DynamicResourceAllocation.yaml
Removed DynamicResourceAllocation from schedulers FeatureGates list; deleted complete CRD manifest file
Documentation and API schema
features.md, openapi/openapi.json
Removed DynamicResourceAllocation row from feature table; updated profileCustomizations field description in OpenAPI schema to mark field as deprecated and indicate removal in version 4.24

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

  • Key areas for attention:
    • Verify that all feature gate removal sites are consistent across all six feature gate configuration profiles (Hypershift and SelfManagedHA, each at Default, DevPreviewNoUpgrade, and TechPreviewNoUpgrade levels)
    • Confirm that the deprecation notice in openapi/openapi.json accurately reflects the timeline (removal in version 4.24, GA since 4.21)
    • Ensure that removal of the CRD manifest file in config/v1/zz_generated.featuregated-crd-manifests/schedulers.config.openshift.io/DynamicResourceAllocation.yaml does not break any manifest generation or validation pipelines
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Tip

📝 Customizable high-level summaries are now available in beta!

You can now customize how CodeRabbit generates the high-level summary in your pull requests — including its content, structure, tone, and formatting.

  • Provide your own instructions using the high_level_summary_instructions setting.
  • Format the summary however you like (bullet lists, tables, multi-section layouts, contributor stats, etc.).
  • Use high_level_summary_in_walkthrough to move the summary from the description to the walkthrough section.

Example instruction:

"Divide the high-level summary into five sections:

  1. 📝 Description — Summarize the main change in 50–60 words, explaining what was done.
  2. 📓 References — List relevant issues, discussions, documentation, or related PRs.
  3. 📦 Dependencies & Requirements — Mention any new/updated dependencies, environment variable changes, or configuration updates.
  4. 📊 Contributor Summary — Include a Markdown table showing contributions:
    | Contributor | Lines Added | Lines Removed | Files Changed |
  5. ✔️ Additional Notes — Add any extra reviewer context.
    Keep each section concise (under 200 words) and use bullet or numbered lists for clarity."

Note: This feature is currently in beta for Pro-tier users, and pricing will be announced later.


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

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Nov 21, 2025

Hello @tkashem! 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 added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Nov 21, 2025
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Nov 21, 2025

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign joelspeed for approval. For more information see the Code Review Process.

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

Needs approval from an approver in each of these files:

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

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 fc06468 and e581c91.

📒 Files selected for processing (16)
  • 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)
  • openapi/openapi.json (1 hunks)
  • payload-manifests/crds/0000_10_config-operator_01_schedulers-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml (0 hunks)
  • payload-manifests/crds/0000_10_config-operator_01_schedulers-SelfManagedHA-TechPreviewNoUpgrade.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 (15)
  • payload-manifests/featuregates/featureGate-SelfManagedHA-DevPreviewNoUpgrade.yaml
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-SelfManagedHA-TechPreviewNoUpgrade.crd.yaml
  • payload-manifests/featuregates/featureGate-Hypershift-TechPreviewNoUpgrade.yaml
  • config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_schedulers-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml
  • config/v1/types_scheduling.go
  • payload-manifests/featuregates/featureGate-Hypershift-DevPreviewNoUpgrade.yaml
  • config/v1/zz_generated.featuregated-crd-manifests/schedulers.config.openshift.io/DynamicResourceAllocation.yaml
  • features.md
  • payload-manifests/featuregates/featureGate-SelfManagedHA-TechPreviewNoUpgrade.yaml
  • features/features.go
  • config/v1/zz_generated.featuregated-crd-manifests.yaml
  • payload-manifests/featuregates/featureGate-Hypershift-Default.yaml
  • payload-manifests/crds/0000_10_config-operator_01_schedulers-SelfManagedHA-TechPreviewNoUpgrade.crd.yaml
  • payload-manifests/featuregates/featureGate-SelfManagedHA-Default.yaml
  • payload-manifests/crds/0000_10_config-operator_01_schedulers-SelfManagedHA-DevPreviewNoUpgrade.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:

  • openapi/openapi.json

},
"profileCustomizations": {
"description": "profileCustomizations contains configuration for modifying the default behavior of existing scheduler profiles.",
"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 | 🟡 Minor

Fix typo in deprecation description.

The description string contains a syntax error: "by' default" should be "by default" (the errant quote character should be removed).

Apply this diff to fix the typo:

-          "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.",
+          "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.",
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"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.",
"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.",
🤖 Prompt for AI Agents
In openapi/openapi.json around line 10814, the deprecation description contains
a typo: the substring "by' default" includes an errant single quote; remove the
stray quote so it reads "by default" and update the JSON string accordingly,
ensuring proper JSON escaping and that the surrounding punctuation/spacing
remains unchanged.

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Nov 21, 2025

@tkashem: 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/integration e581c91 link true /test integration
ci/prow/verify-crdify e581c91 link true /test verify-crdify
ci/prow/verify-crd-schema e581c91 link true /test verify-crd-schema

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.

Copy link
Contributor

@JoelSpeed JoelSpeed left a comment

Choose a reason for hiding this comment

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

Please fix the typo coderabbit picked up and then we can get this merged

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

Labels

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.

3 participants