Skip to content

OCPNODE-4078: Add DRAPartitionableDevices to TechPreviewNoUpgrade#2694

Open
harche wants to merge 1 commit intoopenshift:masterfrom
harche:DRAPartitionableDevices
Open

OCPNODE-4078: Add DRAPartitionableDevices to TechPreviewNoUpgrade#2694
harche wants to merge 1 commit intoopenshift:masterfrom
harche:DRAPartitionableDevices

Conversation

@harche
Copy link
Contributor

@harche harche commented Feb 5, 2026

Add DRAPartitionableDevices to TechPreviewNoUpgrade

@openshift-ci-robot
Copy link

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

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

This repository is configured in: LGTM mode

@qodo-code-review
Copy link

Review Summary by Qodo

Add DRAPartitionableDevices feature gate to TechPreviewNoUpgrade

✨ Enhancement

Grey Divider

Walkthroughs

Description
• Add DRAPartitionableDevices feature gate to codebase
• Enable feature in TechPreviewNoUpgrade cluster profile
• Update all feature gate manifest files consistently
• Document feature in features.md table
Diagram
flowchart LR
  A["DRAPartitionableDevices<br/>Feature Gate"] -->|"Defined in"| B["features.go"]
  A -->|"Enabled in"| C["TechPreviewNoUpgrade<br/>Profile"]
  B -->|"Manifests updated"| D["Feature Gate<br/>YAML Files"]
  A -->|"Documented in"| E["features.md"]
Loading

Grey Divider

File Changes

1. features/features.go ✨ Enhancement +8/-0

Define DRAPartitionableDevices feature gate

features/features.go


2. features.md 📝 Documentation +1/-0

Add DRAPartitionableDevices to feature table

features.md


3. payload-manifests/featuregates/featureGate-Hypershift-Default.yaml ⚙️ Configuration changes +3/-0

Add DRAPartitionableDevices to Default profile

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


View more (7)
4. payload-manifests/featuregates/featureGate-Hypershift-DevPreviewNoUpgrade.yaml ⚙️ Configuration changes +3/-0

Disable DRAPartitionableDevices in DevPreviewNoUpgrade

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


5. payload-manifests/featuregates/featureGate-Hypershift-OKD.yaml ⚙️ Configuration changes +3/-0

Add DRAPartitionableDevices to OKD Default profile

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


6. payload-manifests/featuregates/featureGate-Hypershift-TechPreviewNoUpgrade.yaml ⚙️ Configuration changes +3/-0

Add DRAPartitionableDevices to TechPreviewNoUpgrade

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


7. payload-manifests/featuregates/featureGate-SelfManagedHA-Default.yaml ⚙️ Configuration changes +3/-0

Add DRAPartitionableDevices to Default profile

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


8. payload-manifests/featuregates/featureGate-SelfManagedHA-DevPreviewNoUpgrade.yaml ⚙️ Configuration changes +3/-0

Disable DRAPartitionableDevices in DevPreviewNoUpgrade

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


9. payload-manifests/featuregates/featureGate-SelfManagedHA-OKD.yaml ⚙️ Configuration changes +3/-0

Add DRAPartitionableDevices to OKD Default profile

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


10. payload-manifests/featuregates/featureGate-SelfManagedHA-TechPreviewNoUpgrade.yaml ⚙️ Configuration changes +3/-0

Add DRAPartitionableDevices to TechPreviewNoUpgrade

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


Grey Divider

Qodo Logo

@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 Feb 5, 2026
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Feb 5, 2026

Hello @harche! 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/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Feb 5, 2026
@qodo-code-review
Copy link

qodo-code-review bot commented Feb 5, 2026

Code Review by Qodo

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

Grey Divider


Remediation recommended

1. Jira component casing mismatch 🐞 Bug ✧ Quality
Description
• The new feature gate uses reportProblemsToJiraComponent("Node") while nearby/related feature
  gates use the lowercase "node" component string.
• If this field is used for ownership grouping or automated bug routing, inconsistent casing can
  fragment reporting or route bugs to the wrong component.
• This is low risk today (no current validation), but it is a maintainability/operational hygiene
  issue.
Code

features/features.go[R910-912]

+	FeatureGateDRAPartitionableDevices = newFeatureGate("DRAPartitionableDevices").
+						reportProblemsToJiraComponent("Node").
+						contactPerson("harche").
Evidence
The new gate declares Jira component as "Node" (capitalized) whereas other node-owned feature gates
in the same file consistently use "node" (lowercase), indicating a likely typo/inconsistency.

features/features.go[910-916]
features/features.go[111-136]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

### Issue description
The new feature gate DRAPartitionableDevices uses a Jira component string with different casing (`&quot;Node&quot;`) than other node-owned feature gates (`&quot;node&quot;`). This can lead to fragmented ownership/reporting.

### Issue Context
Other node-related feature gates in `features/features.go` use `reportProblemsToJiraComponent(&quot;node&quot;)`.

### Fix Focus Areas
- features/features.go[910-916]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

ⓘ The new review experience is currently in Beta. Learn more

Grey Divider

Qodo Logo

@harche
Copy link
Contributor Author

harche commented Feb 5, 2026

/test

@qodo-code-review
Copy link

PR-Agent: Missing component name in test command: /test <component_name>.
Running automatically on the largest changed component.


✨ Test tool usage guide:

The test tool generate tests for a selected component, based on the PR code changes.
It can be invoked manually by commenting on any PR:

/test component_name

where 'component_name' is the name of a specific component in the PR. To get a list of the components that changed in the PR, use the analyze tool.
Language that are currently supported: Python, Java, C++, JavaScript, TypeScript.

Configuration options:

  • num_tests: number of tests to generate. Default is 3.
  • testing_framework: the testing framework to use. If not set, for Python it will use pytest, for Java it will use JUnit, for C++ it will use Catch2, and for JavaScript and TypeScript it will use jest.
  • avoid_mocks: if set to true, the tool will try to avoid using mocks in the generated tests. Note that even if this option is set to true, the tool might still use mocks if it cannot generate a test without them. Default is true.
  • extra_instructions: Optional extra instructions to the tool. For example: "use the following mock injection scheme: ...".
  • file: in case there are several components with the same name, you can specify the relevant file.
  • class_name: in case there are several components with the same name in the same file, you can specify the relevant class name.

See more information about the test tool in the docs.

contactPerson("harpatil").
productScope(kubernetes).
enhancementPR("https://github.com/kubernetes/enhancements/issues/4815").
enableIn(configv1.TechPreviewNoUpgrade).
Copy link
Contributor

Choose a reason for hiding this comment

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

Must also be in DevPreviewNoUpgrade if it's in TechPreviewNoUpgrade

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Updated, thanks.

@harche harche force-pushed the DRAPartitionableDevices branch from 317f36c to bee641a Compare February 5, 2026 15:25
@coderabbitai
Copy link

coderabbitai bot commented Feb 5, 2026

📝 Walkthrough

Walkthrough

A new feature gate DRAPartitionableDevices was added. It is declared in features/features.go with Jira component "Node", contact person "harche", product scope kubernetes, enhancement PR URL https://github.com/kubernetes/enhancements/issues/4815, and enabled for DevPreviewNoUpgrade and TechPreviewNoUpgrade. An entry was added to features.md. The feature gate was added to multiple FeatureGate YAMLs for Hypershift and SelfManagedHA, marked enabled in DevPreviewNoUpgrade and TechPreviewNoUpgrade variants and disabled in default/OKD variants.

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description check ✅ Passed The description is directly related to the changeset, matching the title and confirming the objective to add DRAPartitionableDevices to TechPreviewNoUpgrade.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Title check ✅ Passed The title accurately describes the main change: adding DRAPartitionableDevices feature gate to TechPreviewNoUpgrade configuration.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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

❤️ Share

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

@harche
Copy link
Contributor Author

harche commented Feb 5, 2026

/retest

Signed-off-by: Harshal Patil <12152047+harche@users.noreply.github.com>
@harche harche force-pushed the DRAPartitionableDevices branch from bee641a to 1fece6c Compare February 5, 2026 15:44
@harche
Copy link
Contributor Author

harche commented Feb 5, 2026

/retitle OCPNODE-4078: Add DRAPartitionableDevices to TechPreviewNoUpgrade

@harche harche marked this pull request as draft February 5, 2026 16:06
@harche harche marked this pull request as ready for review February 5, 2026 16:06
@qodo-code-review
Copy link

Review Summary by Qodo

Add DRAPartitionableDevices feature gate to preview profiles

✨ Enhancement

Grey Divider

Walkthroughs

Description
• Add DRAPartitionableDevices feature gate definition
• Enable feature in DevPreviewNoUpgrade and TechPreviewNoUpgrade profiles
• Update feature gate manifests across all cluster profiles
• Update feature documentation with new gate entry
Diagram
flowchart LR
  A["Feature Gate Definition"] -->|"enableIn DevPreview/TechPreview"| B["Feature Gate Configuration"]
  B -->|"update manifests"| C["Hypershift Profiles"]
  B -->|"update manifests"| D["SelfManagedHA Profiles"]
  C -->|"document"| E["Feature Documentation"]
  D -->|"document"| E
Loading

Grey Divider

File Changes

1. features/features.go ✨ Enhancement +8/-0

Define DRAPartitionableDevices feature gate

features/features.go


2. features.md 📝 Documentation +1/-0

Add DRAPartitionableDevices to feature table

features.md


3. payload-manifests/featuregates/featureGate-Hypershift-Default.yaml ⚙️ Configuration changes +3/-0

Add DRAPartitionableDevices to Default profile

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


View more (7)
4. payload-manifests/featuregates/featureGate-Hypershift-DevPreviewNoUpgrade.yaml ⚙️ Configuration changes +3/-0

Add DRAPartitionableDevices to DevPreview profile

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


5. payload-manifests/featuregates/featureGate-Hypershift-OKD.yaml ⚙️ Configuration changes +3/-0

Add DRAPartitionableDevices to OKD profile

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


6. payload-manifests/featuregates/featureGate-Hypershift-TechPreviewNoUpgrade.yaml ⚙️ Configuration changes +3/-0

Add DRAPartitionableDevices to TechPreview profile

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


7. payload-manifests/featuregates/featureGate-SelfManagedHA-Default.yaml ⚙️ Configuration changes +3/-0

Add DRAPartitionableDevices to Default profile

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


8. payload-manifests/featuregates/featureGate-SelfManagedHA-DevPreviewNoUpgrade.yaml ⚙️ Configuration changes +3/-0

Add DRAPartitionableDevices to DevPreview profile

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


9. payload-manifests/featuregates/featureGate-SelfManagedHA-OKD.yaml ⚙️ Configuration changes +3/-0

Add DRAPartitionableDevices to OKD profile

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


10. payload-manifests/featuregates/featureGate-SelfManagedHA-TechPreviewNoUpgrade.yaml ⚙️ Configuration changes +3/-0

Add DRAPartitionableDevices to TechPreview profile

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


Grey Divider

Qodo Logo

@harche harche changed the title WIP: Add DRAPartitionableDevices to TechPreviewNoUpgrade OCPNODE-4078: Add DRAPartitionableDevices to TechPreviewNoUpgrade Feb 5, 2026
@harche
Copy link
Contributor Author

harche commented Feb 5, 2026

/ok-to-test

@qodo-code-review
Copy link

Persistent review updated to latest commit 1fece6c

@harche
Copy link
Contributor Author

harche commented Feb 5, 2026

/cc @haircommander

@haircommander
Copy link
Member

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Feb 5, 2026
@openshift-ci-robot
Copy link

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

@harche
Copy link
Contributor Author

harche commented Feb 5, 2026

/test

@qodo-code-review
Copy link

PR-Agent: Missing component name in test command: /test <component_name>.
Running automatically on the largest changed component.


✨ Test tool usage guide:

The test tool generate tests for a selected component, based on the PR code changes.
It can be invoked manually by commenting on any PR:

/test component_name

where 'component_name' is the name of a specific component in the PR. To get a list of the components that changed in the PR, use the analyze tool.
Language that are currently supported: Python, Java, C++, JavaScript, TypeScript.

Configuration options:

  • num_tests: number of tests to generate. Default is 3.
  • testing_framework: the testing framework to use. If not set, for Python it will use pytest, for Java it will use JUnit, for C++ it will use Catch2, and for JavaScript and TypeScript it will use jest.
  • avoid_mocks: if set to true, the tool will try to avoid using mocks in the generated tests. Note that even if this option is set to true, the tool might still use mocks if it cannot generate a test without them. Default is true.
  • extra_instructions: Optional extra instructions to the tool. For example: "use the following mock injection scheme: ...".
  • file: in case there are several components with the same name, you can specify the relevant file.
  • class_name: in case there are several components with the same name in the same file, you can specify the relevant class name.

See more information about the test tool in the docs.

@harche
Copy link
Contributor Author

harche commented Feb 5, 2026

/test e2e-aws-ovn-techpreview

@qodo-code-review
Copy link

qodo-code-review bot commented Feb 5, 2026

PR-Agent: could not fine a component named e2e-aws-ovn-techpreview in a supported language in this PR.

@harche
Copy link
Contributor Author

harche commented Feb 5, 2026

/lgtm

Thanks @haircommander

cc @JoelSpeed for approval.

@JoelSpeed
Copy link
Contributor

/approve

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Feb 5, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: haircommander, JoelSpeed

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

The pull request process is described here

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

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

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Feb 5, 2026
@harche
Copy link
Contributor Author

harche commented Feb 5, 2026

/approve

Thanks @JoelSpeed

I am wondering why ci bot is not triggering the CI jobs and removing the do-not-merge/work-in-progress label.

@JoelSpeed JoelSpeed removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Feb 5, 2026
@JoelSpeed
Copy link
Contributor

/pipeline required

Likely a CI cluster issue

@openshift-ci-robot
Copy link

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

@harche
Copy link
Contributor Author

harche commented Feb 5, 2026

/test unit

@qodo-code-review
Copy link

qodo-code-review bot commented Feb 5, 2026

PR-Agent: could not fine a component named unit in a supported language in this PR.

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

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants