Skip to content

remove block volume mode in case of ocs-storagecluster-ceph-nfs stora…#16397

Open
Harshvardhan-handa123 wants to merge 1 commit intoopenshift:mainfrom
Harshvardhan-handa123:provisioner-update-for-ceph-nfs-sc
Open

remove block volume mode in case of ocs-storagecluster-ceph-nfs stora…#16397
Harshvardhan-handa123 wants to merge 1 commit intoopenshift:mainfrom
Harshvardhan-handa123:provisioner-update-for-ceph-nfs-sc

Conversation

@Harshvardhan-handa123
Copy link
Copy Markdown

@Harshvardhan-handa123 Harshvardhan-handa123 commented May 5, 2026

Jira link: https://redhat.atlassian.net/browse/OCPBUGS-84564

Description: Removed the option for block volume mode when the storage class is set to ocs-storagecluster-ceph-nfs.

SS:
image

Summary by CodeRabbit

  • New Features
    • Added support for NFS CSI (Ceph) as a storage provisioner, enabling users to provision persistent storage with both Filesystem and Block access modes.

@openshift-ci openshift-ci Bot requested review from TheRealJon and fsgreco May 5, 2026 07:03
@openshift-ci openshift-ci Bot added the component/core Related to console core functionality label May 5, 2026
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 5, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

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

The full list of commands accepted by this bot can be found 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
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 5, 2026

Hi @Harshvardhan-handa123. Thanks for your PR.

I'm waiting for a openshift member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work.

Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

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.

@openshift-ci openshift-ci Bot added the needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. label May 5, 2026
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 5, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 25d2218e-d1a0-4fb3-8cba-863de5f40279

📥 Commits

Reviewing files that changed from the base of the PR and between 2e316b9 and 2465f9c.

📒 Files selected for processing (1)
  • frontend/public/components/storage/shared.ts
📜 Recent review details
🔇 Additional comments (2)
frontend/public/components/storage/shared.ts (2)

124-127: Block mode omission and partialMatch usage look correct.

Omitting the Block key entirely — rather than providing an empty array — is the right approach: getVolumeModeForProvisioner will only return 'Filesystem' for this provisioner, which is the intended behavior. The partialMatch: true flag correctly mirrors the pattern used by cephfs.csi.ceph.com and rbd.csi.ceph.com to match ODF provisioner names like openshift-storage.nfs.csi.ceph.com.


124-127: ⚡ Quick win

No changes needed—the omission of ReadOnlyMany is correct.

The Ceph NFS CSI driver (nfs.csi.ceph.com) does not support ReadOnlyMany (ROX) access mode. Unlike general NFS or CephFS CSI (which can serve static read-only PVs), the Ceph NFS CSI driver is designed specifically for dynamic NFS exports backed by CephFS subvolumes, where read-only access is not a supported feature. The Filesystem array is therefore correctly limited to ['ReadWriteOnce', 'ReadWriteMany', 'ReadWriteOncePod'].


📝 Walkthrough

Walkthrough

This change extends the provisionerAccessModeMapping constant in the shared storage utilities to register the nfs.csi.ceph.com CSI provisioner. The new entry declares supported access modes for Filesystem provisioning (ReadWriteOnce, ReadWriteMany, ReadWriteOncePod) and enables partial name matching for provisioner resolution. The modification maintains the existing data structure and does not alter other storage-related logic or exported interfaces.

🚥 Pre-merge checks | ✅ 10 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description is largely incomplete against the template. While a Jira link and basic description are provided, it lacks most required sections: Analysis/Root cause, Solution description details, Test setup, Test cases, Browser conformance, and Reviewers/assignees. Complete the PR description using the template: add detailed Analysis/Root cause, expanded Solution description explaining the provisioner mapping logic, Test setup/cases, Browser conformance checklist, and appropriate reviewer/assignee tags.
Title check ❓ Inconclusive The title is partially related to the changeset - it mentions removing block volume mode for ocs-storagecluster-ceph-nfs, but the actual change adds the nfs.csi.ceph.com provisioner mapping with both Filesystem and Block support, which is broader than just removal. Clarify whether the title should reflect the provisioner mapping addition (nfs.csi.ceph.com) or if it should emphasize access mode restrictions for a specific storage class. The current title appears truncated and doesn't fully capture the implementation.
✅ Passed checks (10 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Stable And Deterministic Test Names ✅ Passed Check is not applicable. This PR contains only frontend TypeScript changes and Jest tests, not Ginkgo Go tests. The custom check targets Ginkgo test names specifically.
Test Structure And Quality ✅ Passed Custom check for Ginkgo test quality is not applicable. PR modifies frontend TypeScript storage configuration only. No Ginkgo tests are present in this PR.
Microshift Test Compatibility ✅ Passed No Ginkgo e2e tests are added in this PR—only a TypeScript frontend config update. The MicroShift compatibility check does not apply.
Single Node Openshift (Sno) Test Compatibility ✅ Passed This PR only modifies frontend storage configuration (provisioner access modes for nfs.csi.ceph.com). No new Ginkgo e2e tests added. Check is not applicable.
Topology-Aware Scheduling Compatibility ✅ Passed Frontend UI configuration file only. No deployment manifests, operator code, controllers, or scheduling constraints introduced.
Ote Binary Stdout Contract ✅ Passed PR modifies only frontend TypeScript config for storage provisioners. OTE Binary Stdout Contract applies exclusively to Go testing binaries and process-level code. No Go code changes present.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed Check not applicable: PR modifies only frontend TypeScript config file (shared.ts) adding a provisioner mapping entry. No Ginkgo e2e tests are added; check targets e2e tests only.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


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.

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

Labels

component/core Related to console core functionality needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant