mgr/vol: keep and show clone source info#63214
Conversation
69989a5 to
c27692b
Compare
|
@neesingh-rh @kotreshhr PTAL |
|
jenkins test make check arm64 |
src/pybind/mgr/volumes/fs/operations/versions/subvolume_base.py
Outdated
Show resolved
Hide resolved
src/pybind/mgr/volumes/fs/operations/versions/subvolume_base.py
Outdated
Show resolved
Hide resolved
|
This is a good information to have. But if the source subvolume is deleted and recreated again with the same name ? Won't it be confusing for the user if the source information points to just the subvolume name? Can we differentiate this somehow ? One way - If the source subvolume is deleted, can we update the same in subvolume info output ? |
Would subvolume name+path be enough to distinguish for subvolume incarnations? |
We can write UUID of the subvolume incarnation in .meta file and print it in the output of We can also save the state of source subvolume in .meta file of cloned subvolume. This will tell users if/when the source subvolume gets deleted. But this probably is undesriable since change of subvolume state will trigger an update for .meta file for every clone. Therefore, writing only UUID in .meta file and printing it in |
c27692b to
4d558b5
Compare
That's an extra step the user has to perform. Dumping source state seems like a good option. |
Let's say there are 100 different clones of a subvolume, a change in state of this subvolume will trigger 100 writes immediately to .meta files of each of 100 clones. This is why I though just storing UUID is a better idea. WDYT? |
Why not do it the other way -- while fetching source information, fetch the source subvolume state. I think this only needs to be done when dumping clone subvolume info, yes? |
Right. So, we never store the source subvolume's state in .meta file? |
4d558b5 to
3be68a0
Compare
The source subvolume state in the clone subvolume metadata? No. I think we can fetch that on-the-fly. |
3be68a0 to
5cc1e13
Compare
|
@vshankar PTAL |
5cc1e13 to
9accbbb
Compare
|
jenkins test make check |
|
jenkins test make check arm64 |
1 similar comment
|
jenkins test make check arm64 |
Instead of removing the information regarding source of a cloned subvolume from the .meta file after the cloning has finished, keep it as it is as the user may find it useful. Fixes: https://tracker.ceph.com/issues/71266 Signed-off-by: Rishabh Dave <ridave@redhat.com>
06f6cc7 to
af1dfb6
Compare
|
@kotreshhr @vshankar I've made the last set of requested changes. If it looks fine, can I get an approval? I'll put it through QA. |
|
This PR is under test in https://tracker.ceph.com/issues/71663. |
A large number of jobs failed to an unrelated error, deferring QA run until it is fixed. |
src/pybind/mgr/volumes/fs/operations/versions/subvolume_base.py
Outdated
Show resolved
Hide resolved
src/pybind/mgr/volumes/fs/operations/versions/subvolume_base.py
Outdated
Show resolved
Hide resolved
af1dfb6 to
e92decf
Compare
kotreshhr
left a comment
There was a problem hiding this comment.
@rishabh-d-dave Could you add a testcase for the source not being part of subvolume info for subvolume (not clone) ? Adding a validating line in existing subvolume info test is fine.
lgtm otherwise
It's already done - https://github.com/ceph/ceph/pull/63214/files#diff-d3a7e3f3f24fff510b4d2a562b2093257b20b3908748c3432d14e460c449186bR2869 |
e92decf to
7bd4ae9
Compare
Include clone source information in output of "ceph fs subvolume info" command so that users can access this information conveniently. Fixes: https://tracker.ceph.com/issues/71266 Signed-off-by: Rishabh Dave <ridave@redhat.com>
.meta file of a cloned subvolume after cloning is finished and in the output of "ceph fs subvolume info" command. Signed-off-by: Rishabh Dave <ridave@redhat.com>
contain source field in it. Signed-off-by: Rishabh Dave <ridave@redhat.com>
contain "source field" in it. Signed-off-by: Rishabh Dave <ridave@redhat.com>
7bd4ae9 to
37244a7
Compare
|
This PR is under test in https://tracker.ceph.com/issues/72073. |
Fixes: https://tracker.ceph.com/issues/71266
Contribution Guidelines
To sign and title your commits, please refer to Submitting Patches to Ceph.
If you are submitting a fix for a stable branch (e.g. "quincy"), please refer to Submitting Patches to Ceph - Backports for the proper workflow.
When filling out the below checklist, you may click boxes directly in the GitHub web UI. When entering or editing the entire PR message in the GitHub web UI editor, you may also select a checklist item by adding an
xbetween the brackets:[x]. Spaces and capitalization matter when checking off items this way.Checklist
Show available Jenkins commands
jenkins test classic perfJenkins Job | Jenkins Job Definitionjenkins test crimson perfJenkins Job | Jenkins Job Definitionjenkins test signedJenkins Job | Jenkins Job Definitionjenkins test make checkJenkins Job | Jenkins Job Definitionjenkins test make check arm64Jenkins Job | Jenkins Job Definitionjenkins test submodulesJenkins Job | Jenkins Job Definitionjenkins test dashboardJenkins Job | Jenkins Job Definitionjenkins test dashboard cephadmJenkins Job | Jenkins Job Definitionjenkins test apiJenkins Job | Jenkins Job Definitionjenkins test docsReadTheDocs | Github Workflow Definitionjenkins test ceph-volume allJenkins Jobs | Jenkins Jobs Definitionjenkins test windowsJenkins Job | Jenkins Job Definitionjenkins test rook e2eJenkins Job | Jenkins Job Definition