Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CephFS: support omap data store in radosnamespace #4661

Merged
merged 5 commits into from
Oct 21, 2024

Conversation

iPraveenParihar
Copy link
Contributor

Describe what this PR does

This commit adds the support for storing the CephFS omap data
in a namespace specified in the ceph-csi-config ConfigMap under
cephFS.radosNamespace field.

If the radosNamespace is not set, the default radosNamespace will be
used i.e, csi.

Related issues

Closes: #4599

Future concerns

Checklist:

  • Commit Message Formatting: Commit titles and messages follow guidelines in the developer guide.
  • Reviewed the developer guide on Submitting a Pull Request
  • Pending release notes updated with breaking and/or notable changes for the next major release.
  • Documentation has been updated, if necessary.
  • Unit tests have been added, if necessary.
  • Integration tests have been added, if necessary.

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!)

@iPraveenParihar
Copy link
Contributor Author

Initial test

configMap

{"clusterID":"rn","monitors":["10.96.180.5:6789"],"cephFS":{"radosNamespace":"rn","netNamespaceFilePath":"","subvolumeGroup":"","kernelMountOptions":"","fuseMountOptions":""},"rbd":{"netNamespaceFilePath":"","radosNamespace":""},"nfs":{"netNamespaceFilePath":""},"readAffinity":{"enabled":false,"crushLocationLabels":
    []},"namespace":""}

CephFS PVC created

pm@dhcp53-176:~$ k get pv pvc-983953db-919c-4f5d-a33e-9b59cdf80246 -o jsonpath='{.spec.csi.volumeAttributes.subvolumeName}'
csi-vol-c0ef71cc-8daa-47a4-953e-277095874736


volume omap data in radosNamespace rn

[root@c1 /]# rados ls -p myfs-metadata --namespace rn
csi.volume.c0ef71cc-8daa-47a4-953e-277095874736
csi.volumes.default
[root@c1 /]# rados listomapvals csi.volume.c0ef71cc-8daa-47a4-953e-277095874736 -p myfs-metadata --namespace rn
csi.imagename
value (44 bytes) :
00000000  63 73 69 2d 76 6f 6c 2d  63 30 65 66 37 31 63 63  |csi-vol-c0ef71cc|
00000010  2d 38 64 61 61 2d 34 37  61 34 2d 39 35 33 65 2d  |-8daa-47a4-953e-|
00000020  32 37 37 30 39 35 38 37  34 37 33 36              |277095874736|
0000002c

csi.volname
value (40 bytes) :
00000000  70 76 63 2d 39 38 33 39  35 33 64 62 2d 39 31 39  |pvc-983953db-919|
00000010  63 2d 34 66 35 64 2d 61  33 33 65 2d 39 62 35 39  |c-4f5d-a33e-9b59|
00000020  63 64 66 38 30 32 34 36                           |cdf80246|
00000028

csi.volume.owner
value (12 bytes) :
00000000  63 65 70 68 66 73 2d 72  61 64 6f 73              |cephfs-rados|
0000000c

[root@c1 /]# rados listomapvals csi.volumes.default -p myfs-metadata --namespace rn
csi.volume.pvc-983953db-919c-4f5d-a33e-9b59cdf80246
value (36 bytes) :
00000000  63 30 65 66 37 31 63 63  2d 38 64 61 61 2d 34 37  |c0ef71cc-8daa-47|
00000010  61 34 2d 39 35 33 65 2d  32 37 37 30 39 35 38 37  |a4-953e-27709587|
00000020  34 37 33 36                                       |4736|
00000024
[root@c1 /]#

CephFS snapshot created

pm@dhcp53-176:~$ k get vs cephfs-pvc-snap-rn -o jsonpath='{.status.boundVolumeSnapshotContentName}'
snapcontent-0b4c4472-b33b-4c85-af43-76cdd0c34375



 CephFS snapshot omap data

[root@c1 /]# rados ls -p myfs-metadata --namespace rn
csi.snap.510ab77e-fbe9-4a51-ad0d-0644c4616678
csi.snaps.default
csi.volume.c0ef71cc-8daa-47a4-953e-277095874736
csi.volumes.default
[root@c1 /]# rados listomapvals csi.snap.510ab77e-fbe9-4a51-ad0d-0644c4616678 -p myfs-metadata --namespace rn
csi.imagename
value (45 bytes) :
00000000  63 73 69 2d 73 6e 61 70  2d 35 31 30 61 62 37 37  |csi-snap-510ab77|
00000010  65 2d 66 62 65 39 2d 34  61 35 31 2d 61 64 30 64  |e-fbe9-4a51-ad0d|
00000020  2d 30 36 34 34 63 34 36  31 36 36 37 38           |-0644c4616678|
0000002d

csi.snapname
value (45 bytes) :
00000000  73 6e 61 70 73 68 6f 74  2d 30 62 34 63 34 34 37  |snapshot-0b4c447|
00000010  32 2d 62 33 33 62 2d 34  63 38 35 2d 61 66 34 33  |2-b33b-4c85-af43|
00000020  2d 37 36 63 64 64 30 63  33 34 33 37 35           |-76cdd0c34375|
0000002d

csi.source
value (44 bytes) :
00000000  63 73 69 2d 76 6f 6c 2d  63 30 65 66 37 31 63 63  |csi-vol-c0ef71cc|
00000010  2d 38 64 61 61 2d 34 37  61 34 2d 39 35 33 65 2d  |-8daa-47a4-953e-|
00000020  32 37 37 30 39 35 38 37  34 37 33 36              |277095874736|
0000002c

[root@c1 /]# rados listomapvals csi.snaps.default -p myfs-metadata --namespace rn
csi.snap.snapshot-0b4c4472-b33b-4c85-af43-76cdd0c34375
value (36 bytes) :
00000000  35 31 30 61 62 37 37 65  2d 66 62 65 39 2d 34 61  |510ab77e-fbe9-4a|
00000010  35 31 2d 61 64 30 64 2d  30 36 34 34 63 34 36 31  |51-ad0d-0644c461|
00000020  36 36 37 38                                       |6678|
00000024
[root@c1 /]#

Copy link

github-actions bot commented Jul 5, 2024

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed in two weeks if no further activity occurs. Thank you for your contributions.

@github-actions github-actions bot added the stale label Jul 5, 2024
Copy link

This pull request has been automatically closed due to inactivity. Please re-open if these changes are still required.

Copy link
Contributor

mergify bot commented Aug 9, 2024

The PR description contains the unsupported [skip ci] command, please update the description and mark the PR ready for review again.

Copy link
Collaborator

@Madhu-1 Madhu-1 left a comment

Choose a reason for hiding this comment

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

please update the below as well.

  • Helm charts for this one.
  • Documentation (not to change this for existing clusterID)
  • Release notes.

api/deploy/kubernetes/csi-config-map.go Outdated Show resolved Hide resolved
@iPraveenParihar iPraveenParihar marked this pull request as ready for review August 13, 2024 11:20
@iPraveenParihar iPraveenParihar force-pushed the cephfs/rados-namespace branch 6 times, most recently from 587cc54 to c8eea14 Compare August 19, 2024 10:24
Copy link
Contributor

mergify bot commented Aug 28, 2024

This pull request now has conflicts with the target branch. Could you please resolve conflicts and force push the corrected changes? 🙏

Copy link

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed in two weeks if no further activity occurs. Thank you for your contributions.

@github-actions github-actions bot added the stale label Sep 27, 2024
@Madhu-1
Copy link
Collaborator

Madhu-1 commented Sep 30, 2024

@iPraveenParihar can you please rebase this PR

@iPraveenParihar
Copy link
Contributor Author

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

1 similar comment
@iPraveenParihar
Copy link
Contributor Author

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

@iPraveenParihar
Copy link
Contributor Author

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

Copy link
Contributor

mergify bot commented Oct 15, 2024

This pull request now has conflicts with the target branch. Could you please resolve conflicts and force push the corrected changes? 🙏

Rakshith-R
Rakshith-R previously approved these changes Oct 21, 2024
Copy link
Contributor

@Rakshith-R Rakshith-R left a comment

Choose a reason for hiding this comment

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

LGTM

@Rakshith-R
Copy link
Contributor

@iPraveenParihar Can you please rebase and resolve conflicts ?

This change introduces a `RadosNamespace` field to the CephFS struct.
The RadosNamespace field specifies the RADOS namespace for storing
the omap data of CephFS subvolumes.

Signed-off-by: Praveen M <[email protected]>
This commit adds `GetCephFSRadosNamespace` util method that returns
the `RadosNamespace` specified in ceph-csi-config ConfigMap under
cephFS.radosNamespace.

If not specified, the method returns the default RadosNamespace
i.e, csi.

Signed-off-by: Praveen M <[email protected]>
This commit adds the support for storing the CephFS omap data
in a namespace specified in the ceph-csi-config ConfigMap under
cephFS.radosNamespace field.

If the radosNamespace is not set, the default radosNamespace will
be used i.e, csi.

Signed-off-by: Praveen M <[email protected]>
@mergify mergify bot dismissed stale reviews from Rakshith-R and Madhu-1 October 21, 2024 07:47

Pull request has been modified.

@Rakshith-R
Copy link
Contributor

@Mergifyio queue

Copy link
Contributor

mergify bot commented Oct 21, 2024

queue

✅ The pull request has been merged automatically

The pull request has been merged automatically at 3bcf6af

@mergify mergify bot added the ok-to-test Label to trigger E2E tests label Oct 21, 2024
@ceph-csi-bot
Copy link
Collaborator

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

@ceph-csi-bot
Copy link
Collaborator

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

@ceph-csi-bot
Copy link
Collaborator

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

@ceph-csi-bot
Copy link
Collaborator

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

@ceph-csi-bot
Copy link
Collaborator

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

@ceph-csi-bot
Copy link
Collaborator

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

@ceph-csi-bot
Copy link
Collaborator

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

@ceph-csi-bot
Copy link
Collaborator

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

@ceph-csi-bot
Copy link
Collaborator

/test ci/centos/upgrade-tests-cephfs

@ceph-csi-bot
Copy link
Collaborator

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

@ceph-csi-bot
Copy link
Collaborator

/test ci/centos/upgrade-tests-rbd

@ceph-csi-bot ceph-csi-bot removed the ok-to-test Label to trigger E2E tests label Oct 21, 2024
@mergify mergify bot merged commit 3bcf6af into ceph:devel Oct 21, 2024
37 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support storing cephfs omap in a different namespace in rados under same filesystem metadata pool
5 participants