Skip to content

cleanup: use CSI Server interfaces (CephFS & NFS) - #6304

Merged
mergify[bot] merged 6 commits into
ceph:develfrom
nixpanic:cleanup/interfaces/csi-servers/cephfs
Jun 19, 2026
Merged

cleanup: use CSI Server interfaces (CephFS & NFS)#6304
mergify[bot] merged 6 commits into
ceph:develfrom
nixpanic:cleanup/interfaces/csi-servers/cephfs

Conversation

@nixpanic

Copy link
Copy Markdown
Member

Rename the different gRPC server structs to include a prefix of the storage protocol they use. This makes it easier to understand the code, as having a struct NodeServer for each protocol causes confusion.

The NewNodeServer() and similar functions now return a CSI interface type, making sure that the implementation of the structs is not available to external consumers.

  • All server types now follow Go naming conventions (unexported, driver-prefixed)
  • All types have compile-time interface assertions
  • All constructors return CSI interface types instead of concrete types

Note: RBD and NVMe-oF changes will be sent in a separate PR.


Show available bot commands

These commands are normally not required, but in case of issues, leave any of
the following bot commands in an otherwise empty comment in this PR:

  • /retest ci/centos/<job-name>: retest the <job-name> after unrelated
    failure (please report the failure too!)

@nixpanic nixpanic added component/cephfs Issues related to CephFS component/nfs Issues related to NFS labels May 29, 2026
@mergify mergify Bot added the cleanup label May 29, 2026
@nixpanic nixpanic changed the title cleanup: use CSI Server interfaces cleanup: use CSI Server interfaces (CephFS & NFS) May 29, 2026
@nixpanic

Copy link
Copy Markdown
Member Author

@Mergifyio rebase

@mergify

mergify Bot commented May 29, 2026

Copy link
Copy Markdown
Contributor

rebase

☑️ Nothing to do, the required conditions are not met

Details
  • any of:
    • #commits-behind > 0 [📌 rebase requirement]
    • -linear-history [📌 rebase requirement]
  • -closed [📌 rebase requirement]
  • -conflict [📌 rebase requirement]
  • queue-position = -1 [📌 rebase requirement]

@nixpanic

nixpanic commented Jun 2, 2026

Copy link
Copy Markdown
Member Author

@Mergifyio rebase

@ceph-csi-bot
ceph-csi-bot force-pushed the cleanup/interfaces/csi-servers/cephfs branch from b071930 to 4a7d654 Compare June 2, 2026 08:34
@mergify

mergify Bot commented Jun 2, 2026

Copy link
Copy Markdown
Contributor

Deprecation notice: This pull request comes from a fork and was rebased using bot_account impersonation. This capability will be removed on July 1, 2026. After this date, the rebase action will no longer be able to rebase fork pull requests with this configuration. Please switch to the update action/command to ensure compatibility going forward.

@mergify

mergify Bot commented Jun 2, 2026

Copy link
Copy Markdown
Contributor

rebase

✅ Branch has been successfully rebased

@nixpanic
nixpanic requested a review from a team June 2, 2026 08:47
@nixpanic
nixpanic force-pushed the cleanup/interfaces/csi-servers/cephfs branch from 4a7d654 to b67640d Compare June 8, 2026 08:30
@nixpanic
nixpanic requested a review from black-dragon74 June 8, 2026 08:30
black-dragon74
black-dragon74 previously approved these changes Jun 8, 2026
@nixpanic
nixpanic requested a review from a team June 8, 2026 08:34
Comment thread internal/cephfs/controllerserver.go
Madhu-1
Madhu-1 previously approved these changes Jun 8, 2026
@nixpanic

nixpanic commented Jun 8, 2026

Copy link
Copy Markdown
Member Author

@Mergifyio rebase

@ceph-csi-bot
ceph-csi-bot force-pushed the cleanup/interfaces/csi-servers/cephfs branch from b67640d to 7cff68a Compare June 8, 2026 09:37
@nixpanic nixpanic added the ok-to-test Label to trigger E2E tests label Jun 8, 2026
@mergify

mergify Bot commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

rebase

✅ Branch has been successfully rebased

@ceph-csi-bot

Copy link
Copy Markdown
Collaborator

/test ci/centos/k8s-e2e-external-storage/1.34

@ceph-csi-bot

Copy link
Copy Markdown
Collaborator

/test ci/centos/k8s-e2e-external-storage/1.35

@ceph-csi-bot

Copy link
Copy Markdown
Collaborator

/test ci/centos/mini-e2e-helm/k8s-1.34

@ceph-csi-bot

Copy link
Copy Markdown
Collaborator

/test ci/centos/k8s-e2e-external-storage/1.36

@ceph-csi-bot

Copy link
Copy Markdown
Collaborator

/test ci/centos/mini-e2e-helm/k8s-1.35

@ceph-csi-bot

Copy link
Copy Markdown
Collaborator

/test ci/centos/upgrade-tests-cephfs

@ceph-csi-bot

Copy link
Copy Markdown
Collaborator

/test ci/centos/mini-e2e/k8s-1.34

@ceph-csi-bot

Copy link
Copy Markdown
Collaborator

/test ci/centos/mini-e2e/k8s-1.35

@ceph-csi-bot

Copy link
Copy Markdown
Collaborator

/test ci/centos/mini-e2e-helm/k8s-1.36

@nixpanic

Copy link
Copy Markdown
Member Author

@Mergifyio rebase

@mergify

mergify Bot commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

rebase

🛑 The pull request rule doesn't match anymore

Details

This action has been cancelled.

@nixpanic nixpanic added the ok-to-test Label to trigger E2E tests label Jun 19, 2026
nixpanic added 6 commits June 19, 2026 12:29
Rename the NFS controller Server type to nfsControllerServer and
return the csi.ControllerServer interface from NewControllerServer
to keep the concrete implementation internal to the package.

Assisted-by: AskBob <askbob@ibm.com>
Signed-off-by: Niels de Vos <ndevos@ibm.com>
Rename the NFS NodeServer type to nfsNodeServer and return
the csi.NodeServer interface from NewNodeServer to keep the
concrete implementation internal to the package.

Assisted-by: AskBob <askbob@ibm.com>
Signed-off-by: Niels de Vos <ndevos@ibm.com>
Rename the CephFS ControllerServer struct to cephfsControllerServer to
follow Go naming conventions for unexported types and to make it clear
this is the CephFS-specific implementation.

Update all method receivers and references accordingly. Add compile-time
interface assertions to ensure the type implements the required CSI
interfaces.

Add unit test for ToGroupControllerServer helper function that verifies
proper conversion of ControllerServer to GroupControllerServer interface.

Assisted-by: AskBob <askbob@ibm.com>
Signed-off-by: Niels de Vos <ndevos@ibm.com>
Rename the CephFS NodeServer struct to cephfsNodeServer to follow Go
naming conventions for unexported types and to make it clear this is
the CephFS-specific implementation.

Update all method receivers and references accordingly, including in
fuserecovery.go where the NodeServer methods are used for FUSE mount
recovery operations.

Assisted-by: AskBob <askbob@ibm.com>
Signed-off-by: Niels de Vos <ndevos@ibm.com>
Rename the CephFS IdentityServer struct to cephfsIdentityServer to
follow Go naming conventions for unexported types and to make it clear
this is the CephFS-specific implementation.

Update the method receiver and add compile-time interface assertion to
ensure the type implements the required CSI IdentityServer interface.

Update driver.go to use the csi.IdentityServer interface type and
return the new cephfsIdentityServer from NewIdentityServer.

Assisted-by: AskBob <askbob@ibm.com>
Signed-off-by: Niels de Vos <ndevos@ibm.com>
Rename the NFS identity Server struct to nfsIdentityServer to follow Go
naming conventions for unexported types and to make it clear this is
the NFS-specific implementation.

Update the method receiver, add compile-time interface assertion to
ensure the type implements the required CSI IdentityServer interface,
and update NewIdentityServer to return the csi.IdentityServer interface.

Assisted-by: AskBob <askbob@ibm.com>
Signed-off-by: Niels de Vos <ndevos@ibm.com>
@ceph-csi-bot
ceph-csi-bot force-pushed the cleanup/interfaces/csi-servers/cephfs branch from c994d6c to 8334511 Compare June 19, 2026 12:29
@ceph-csi-bot

Copy link
Copy Markdown
Collaborator

/test ci/centos/k8s-e2e-external-storage/1.36

@ceph-csi-bot

Copy link
Copy Markdown
Collaborator

/test ci/centos/k8s-e2e-external-storage/1.34

@ceph-csi-bot

Copy link
Copy Markdown
Collaborator

/test ci/centos/mini-e2e-helm/k8s-1.36

@ceph-csi-bot

Copy link
Copy Markdown
Collaborator

/test ci/centos/mini-e2e-helm/k8s-1.34

@ceph-csi-bot

Copy link
Copy Markdown
Collaborator

/test ci/centos/k8s-e2e-external-storage/1.35

@ceph-csi-bot

Copy link
Copy Markdown
Collaborator

/test ci/centos/mini-e2e/k8s-1.36

@ceph-csi-bot

Copy link
Copy Markdown
Collaborator

/test ci/centos/mini-e2e/k8s-1.34

@ceph-csi-bot

Copy link
Copy Markdown
Collaborator

/test ci/centos/mini-e2e-helm/k8s-1.35

@ceph-csi-bot

Copy link
Copy Markdown
Collaborator

/test ci/centos/upgrade-tests-cephfs

@ceph-csi-bot

Copy link
Copy Markdown
Collaborator

/test ci/centos/upgrade-tests-rbd

@ceph-csi-bot

Copy link
Copy Markdown
Collaborator

/test ci/centos/mini-e2e/k8s-1.35

@ceph-csi-bot ceph-csi-bot added ci/in-progress/e2e This label acts like a guard and prevents Mergify from adding the `ok-to-test` label again. and removed ok-to-test Label to trigger E2E tests labels Jun 19, 2026
@mergify mergify Bot removed the ci/in-progress/e2e This label acts like a guard and prevents Mergify from adding the `ok-to-test` label again. label Jun 19, 2026
@mergify

mergify Bot commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Queued — the merge queue status continues in this comment ↓.

@mergify

mergify Bot commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Deprecation notice: This pull request comes from a fork and was queued with update_method=rebase and update_bot_account impersonation. This capability will be removed on July 1, 2026. After this date, the merge queue will no longer be able to rebase fork pull requests with this configuration. To avoid disruption, switch to update_method=merge in your queue rule.

@mergify

mergify Bot commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Merge Queue Status

  • Entered queue2026-06-19 15:40 UTC · Rule: default
  • Checks skipped · PR is already up-to-date
  • Merged2026-06-19 15:40 UTC · at 83345119c23725b07269ba38c20c6c609ccd18bc · rebase

This pull request spent 10 seconds in the queue, including 2 seconds running CI.

Required conditions to merge

@mergify
mergify Bot merged commit 2aead3c into ceph:devel Jun 19, 2026
30 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cleanup component/cephfs Issues related to CephFS component/nfs Issues related to NFS

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants