Skip to content

OCPNODE-4078: Add DRAPartitionableDevices to TechPreviewNoUpgrade - #2694

Merged
openshift-merge-bot[bot] merged 1 commit into
openshift:masterfrom
harche:DRAPartitionableDevices
Feb 6, 2026
Merged

OCPNODE-4078: Add DRAPartitionableDevices to TechPreviewNoUpgrade#2694
openshift-merge-bot[bot] merged 1 commit into
openshift:masterfrom
harche:DRAPartitionableDevices

Conversation

@harche

@harcheharche commented Feb 5, 2026

Copy link
Copy Markdown
Contributor

Add DRAPartitionableDevices to TechPreviewNoUpgrade

@openshift-ci-robot

Copy link
Copy Markdown

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
Copy Markdown

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-ciopenshift-ciBot 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
Copy Markdown
Contributor

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-ciopenshift-ciBot added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Feb 5, 2026
@qodo-code-review

qodo-code-reviewBot commented Feb 5, 2026

Copy link
Copy Markdown

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
Copy Markdown
ContributorAuthor

/test

@qodo-code-review

Copy link
Copy Markdown

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.

Comment threadfeatures/features.go Outdated
contactPerson("harpatil").
productScope(kubernetes).
enhancementPR("https://github.com/kubernetes/enhancements/issues/4815").
enableIn(configv1.TechPreviewNoUpgrade).

Copy link
Copy Markdown
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
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Updated, thanks.

@harche
harcheforce-pushed the DRAPartitionableDevices branch from 317f36c to bee641aCompareFebruary 5, 2026 15:25
@coderabbitai

coderabbitaiBot commented Feb 5, 2026

Copy link
Copy Markdown
📝 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 nameStatusExplanation
Description check✅ PassedThe description is directly related to the changeset, matching the title and confirming the objective to add DRAPartitionableDevices to TechPreviewNoUpgrade.
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Title check✅ PassedThe 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
Copy Markdown
ContributorAuthor

/retest

Signed-off-by: Harshal Patil <12152047+harche@users.noreply.github.com>
@harche
harcheforce-pushed the DRAPartitionableDevices branch from bee641a to 1fece6cCompareFebruary 5, 2026 15:44
@harche

Copy link
Copy Markdown
ContributorAuthor

/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
Copy Markdown

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

@harcheharche changed the title WIP: Add DRAPartitionableDevices to TechPreviewNoUpgradeOCPNODE-4078: Add DRAPartitionableDevices to TechPreviewNoUpgradeFeb 5, 2026
@harche

Copy link
Copy Markdown
ContributorAuthor

/ok-to-test

@qodo-code-review

Copy link
Copy Markdown

Persistent review updated to latest commit 1fece6c

@harche

Copy link
Copy Markdown
ContributorAuthor

/cc @haircommander

@haircommander

Copy link
Copy Markdown
Member

/lgtm

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

Copy link
Copy Markdown

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
Copy Markdown
ContributorAuthor

/test

@qodo-code-review

Copy link
Copy Markdown

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
Copy Markdown
ContributorAuthor

/test e2e-aws-ovn-techpreview

@qodo-code-review

qodo-code-reviewBot commented Feb 5, 2026

Copy link
Copy Markdown

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

@harche

Copy link
Copy Markdown
ContributorAuthor

/lgtm

Thanks @haircommander

cc @JoelSpeed for approval.

@JoelSpeed

Copy link
Copy Markdown
Contributor

/approve

@openshift-ci

Copy link
Copy Markdown
Contributor

[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-ciopenshift-ciBot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Feb 5, 2026
@harche

Copy link
Copy Markdown
ContributorAuthor

/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.

@JoelSpeedJoelSpeed 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
Copy Markdown
Contributor

/pipeline required

Likely a CI cluster issue

@openshift-ci-robot

Copy link
Copy Markdown

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
Copy Markdown
ContributorAuthor

/test unit

@qodo-code-review

qodo-code-reviewBot commented Feb 5, 2026

Copy link
Copy Markdown

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

@harche

Copy link
Copy Markdown
ContributorAuthor

/retest-required

@JoelSpeed

Copy link
Copy Markdown
Contributor

/verified by CI

Techpreview isn't blowing up so this looks good

/retest

@openshift-ci-robotopenshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Feb 6, 2026
@openshift-ci-robot

Copy link
Copy Markdown

@JoelSpeed: This PR has been marked as verified by CI.

Details

In response to this:

/verified by CI

Techpreview isn't blowing up so this looks good

/retest

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.

@JoelSpeed

Copy link
Copy Markdown
Contributor

/test integration

@qodo-code-review

qodo-code-reviewBot commented Feb 6, 2026

Copy link
Copy Markdown

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

@haircommander

Copy link
Copy Markdown
Member

/retest

@harche

Copy link
Copy Markdown
ContributorAuthor

/test integration

@qodo-code-review

qodo-code-reviewBot commented Feb 6, 2026

Copy link
Copy Markdown

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

@harche

Copy link
Copy Markdown
ContributorAuthor

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

No you silly bot! the test is restarted with /test <name>

(I don't know why I am arguing with a robot on a Friday evening)

@openshift-ci

Copy link
Copy Markdown
Contributor

@harche: all tests passed!

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@openshift-merge-bot
openshift-merge-botBot merged commit 639b501 into openshift:masterFeb 6, 2026
28 checks passed
@harche
harche deleted the DRAPartitionableDevices branch February 6, 2026 22:52
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approvedIndicates a PR has been approved by an approver from all required OWNERS files.lgtmIndicates that a PR is ready to be merged.size/MDenotes a PR that changes 30-99 lines, ignoring generated files.verifiedSignifies that the PR passed pre-merge verification criteria

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@harche@openshift-ci-robot@haircommander@JoelSpeed@empovit