[pve-devel] checking output of storage plugin API - volume_rollback_is_possible(..., blockers)

Andrei Perapiolkin andrei.perepiolkin at open-e.com
Thu May 15 13:23:29 CEST 2025


Hi Fabian,


Thank you for detailed response.

> out of interest - is your plugin publicly available?

Yes, my plugin is available at https://github.com/open-e/JovianDSS-Proxmox

Regarding blockers usage: 
https://github.com/open-e/JovianDSS-Proxmox/blob/22d0f7f8c4606d470a988fc796b391f50cabd40f/OpenEJovianDSS/Common.pm#L472

Best regards,

Andrei Perepiolkin

On 5/15/25 05:16, Fabian Grünbichler wrote:
>> Andrei Perapiolkin via pve-devel <pve-devel at lists.proxmox.com> hat am 14.05.2025 14:44 CEST geschrieben:
>> Hi,
>>
>> I'm trying to test specific aspects of the storage plugin API,
>> and I'm not sure how to verify whether my function
>> volume_rollback_is_possible
>> correctly sets up the blockers list.
>>
>> I've checked REST API documentation:
>> https://pve.proxmox.com/pve-docs/api-viewer/index.html#/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/rollback
>>
>> CLI tool:
>> qm rollback
>>
>> But I couldn't find where the list of blockers is returned or printed.
> the $blockers parameter is currently only passed in replication contexts:
>
> https://git.proxmox.com/?p=pve-guest-common.git;a=blob;f=src/PVE/AbstractConfig.pm;h=3d4fcbbf98553b1f4edc8f59307daae1cf1b8a2f;hb=HEAD#l1051
>
> the expected behaviour is to
> - fill $blockers with the snapshot names preventing the rollback, if there are any
> - to die with an error message if rollback is not possible
>
> the caller can then decide if they want to pass a $blockers reference, and upon
> catching the error, inspect it to give a nicer error message.
>
> you can see how the 'zfs' plugin handles it (the only one supporting replication
> at the moment):
>
> https://git.proxmox.com/?p=pve-storage.git;a=blob;f=src/PVE/Storage/ZFSPoolPlugin.pm;h=26fb0a4237e5c1013ebfa85ca2cc072c57d2c36f;hb=HEAD#l502
>
> and model your implementation after its behaviour (of course, whether rolling
> back is limited to the most recent snapshot like it is with ZFS is up to you
> and your storage ;))
>
>> Are there any posts, guides, or documentation on how to test blockers or
>> other return values from storage plugins?
> out of interest - is your plugin publicly available?
>



More information about the pve-devel mailing list