Failed to attach the client to the volume using preempt flag if user do not pass reservation-version parameter to the cli
@Dori-NVIDIA is already working on this.
Since Oct 6, 2026.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 72/100
Research direction
Start by locating the nvmesh client attach CLI argument definitions and help text, then check how --preempt and --reservation-version are validated. Confirm the behavior with the reported attach command, omitting the reservation version. Done means the command clearly requires or prompts for --reservation-version when used with --preempt.
Written by the indexing model from the issue text.
Description
Is this a new feature, an improvement, or a change to existing functionality?
Change
How would you describe the priority of this feature request
Medium
Please provide a clear description of problem this feature solves
Steps to repro:
- Create a RAID-1 Mirrored Volume.
- Attach the client1 to the volume in EXCLUSIVE_READ_WRITE mode
- Run IO on the volume from client1
- Use preempt argument to attach the volume to client2 in EXCLUSIVE_READ_WRITE mode
Actual Result:
nvmesh client attach --id client2 --volume qa-vol1 --preempt --mode EXCLUSIVE_READ_WRITE
[qa-vol1] failure: Error while getting attach volume configuration. Additional Info: {"id": 1694, "clientID": "client2", "clientUUID": "74de1230-bbed-11f1-b13c-31fd4e608492", "volumeID": "qa-vol1", "volumeUUID": "63bd4690-bc8f-11f1-b13c-31fd4e608492", "ApiRequestUUID": "63054bc0-bc90-11f1-b13c-31fd4e608492"}
Reservation version mismatch Additional Info: {"id": 1717, "volumeReservation": 3, "volumeID": "qa-vol1", "volumeUUID": "63bd4690-bc8f-11f1-b13c-31fd4e608492", "clientID": "client2"}
Expected result: User should be suggested to use argument --reservation-version in the help as a mandatory parameter if we use preempt argument
How it worked after passing argument --reservation-version
Get the reservation-version
[qa@client1 ~]# cat /proc/nvmeibc/volumes/test-vol1/status.json |grep reservation
"reservation": "EXCLUSIVE_READ_WRITE",
"reservation_version": 3,
[qa@host-1~]# nvmesh client attach --id client2--volume qa-vol1 --preempt --mode EXCLUSIVE_READ_WRITE --reservation-version 3
[qa-vol1] success
[qa@host-1~]# nvmesh client show
-----------------------------------------------------------------------------------------------------------------------------------------------
| Name | Version | Health | Attached Io Enabled | Attached Io Disabled | Attached Recovery |
-----------------------------------------------------------------------------------------------------------------------------------------------
| client2 | 3.5.0-ddn.2026091713 | healthy | qa-vol2, qa-vol1 | | |
Feature Description
use of preempt argument during volume attach should throw error if mandatory arguments are missing ex: --reservation-version
Describe your ideal solution
User should be provided help message to use --reservation-version argument while using preempt argument in-order to attach the volume to different client in EXCLUSIVE_READ_WRITE mode.
nvmesh client attach --id client2--volume test-vol1 --preempt --mode EXCLUSIVE_READ_WRITE
error: the following required arguments were not provided
<--reservation-version>
Usage: nvmesh client attach --id <CLIENT ID>-volume <VOLUME NAME> --preempt --mode <MODE> --reservation-version <RESERVATION VERSION>
Describe any alternatives you have considered
No response
Additional context
No response
Code of Conduct
- I agree to follow NVMesh's Code of Conduct
- I have searched the open feature requests and have found no duplicates for this feature request
- Dominant language
- Python
- Stars
- 12
- Forks
- 6
- PR merge metrics
- No merged PRs in 30d
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Similar issues
-
bug Size: XS
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
oposs/repo-infra#93 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 69/100
Graphify-Labs/graphify#4546 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 65/100
521xueweihan/HelloGitHub#4025 ·