From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <pve-devel-bounces@lists.proxmox.com>
Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68])
	by lore.proxmox.com (Postfix) with ESMTPS id 866EB1FF170
	for <inbox@lore.proxmox.com>; Thu, 15 May 2025 13:28:43 +0200 (CEST)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
	by firstgate.proxmox.com (Proxmox) with ESMTP id 3BE7430652;
	Thu, 15 May 2025 13:29:05 +0200 (CEST)
Date: Thu, 15 May 2025 07:23:29 -0400
To: =?UTF-8?Q?Fabian_Gr=C3=BCnbichler?= <f.gruenbichler@proxmox.com>,
 Proxmox VE development discussion <pve-devel@lists.proxmox.com>
References: <mailman.409.1747226995.394.pve-devel@lists.proxmox.com>
 <1975340184.15398.1747300603697@webmail.proxmox.com>
In-Reply-To: <1975340184.15398.1747300603697@webmail.proxmox.com>
MIME-Version: 1.0
Message-ID: <mailman.431.1747308544.394.pve-devel@lists.proxmox.com>
List-Id: Proxmox VE development discussion <pve-devel.lists.proxmox.com>
List-Post: <mailto:pve-devel@lists.proxmox.com>
From: Andrei Perapiolkin via pve-devel <pve-devel@lists.proxmox.com>
Precedence: list
Cc: Andrei Perapiolkin <andrei.perepiolkin@open-e.com>
X-Mailman-Version: 2.1.29
X-BeenThere: pve-devel@lists.proxmox.com
List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=subscribe>
List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=unsubscribe>
List-Archive: <http://lists.proxmox.com/pipermail/pve-devel/>
Reply-To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>
List-Help: <mailto:pve-devel-request@lists.proxmox.com?subject=help>
Subject: Re: [pve-devel] checking output of storage plugin API -
 volume_rollback_is_possible(..., blockers)
Content-Type: multipart/mixed; boundary="===============2065432502978839208=="
Errors-To: pve-devel-bounces@lists.proxmox.com
Sender: "pve-devel" <pve-devel-bounces@lists.proxmox.com>

--===============2065432502978839208==
Content-Type: message/rfc822
Content-Disposition: inline

Return-Path: <andrei.perepiolkin@open-e.com>
X-Original-To: pve-devel@lists.proxmox.com
Delivered-To: pve-devel@lists.proxmox.com
Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
	(No client certificate requested)
	by lists.proxmox.com (Postfix) with ESMTPS id 895C2CEA98
	for <pve-devel@lists.proxmox.com>; Thu, 15 May 2025 13:29:03 +0200 (CEST)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
	by firstgate.proxmox.com (Proxmox) with ESMTP id 6C3573061F
	for <pve-devel@lists.proxmox.com>; Thu, 15 May 2025 13:29:03 +0200 (CEST)
Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.126.133])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange ECDHE (prime256v1) server-signature RSA-PSS (2048 bits) server-digest SHA256)
	(No client certificate requested)
	by firstgate.proxmox.com (Proxmox) with ESMTPS
	for <pve-devel@lists.proxmox.com>; Thu, 15 May 2025 13:29:01 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=open-e.com;
	s=s1-ionos; t=1747308535; x=1747913335;
	i=andrei.perepiolkin@open-e.com;
	bh=KTEj+ocCO+1w62IMDgx2OtZUjLr5tgDMawVEC0mU0iA=;
	h=X-UI-Sender-Class:Message-ID:Date:MIME-Version:Subject:To:
	 References:From:In-Reply-To:Content-Type:
	 Content-Transfer-Encoding:cc:content-transfer-encoding:
	 content-type:date:from:message-id:mime-version:reply-to:subject:
	 to;
	b=Yks6tD5/eEK4XOcRm3PnclSRxhsNpTi2R7RSbuPZf4fRCqjvOSv2Q0bEbGpJabT9
	 6sgMrrrv/szDiSoa6E35GQldlxroj8xezl04MMyWEPEQ0wtGRjcVkUTPCvWf92KLF
	 oX49ZvRzVocuvoCbJAhDmHJ4xpg6xvFZ6BpwhblDEbzq6Fir+gx+AlYQal8N5Y567
	 SSg0eOO5ItQbrDgWVr56pfFrOb90OLEZFRj6HcqeUk0++CBUx8Nb4kBoX5S2OxgfY
	 IPPG70m3Wk+b87UYvEIsBCcwKK5q1P/WbYMSqBZ4lTTEGYLOgQ8yCNo/w+YP80p5G
	 Xu9fkPSXa8XntrCeuw==
X-UI-Sender-Class: 55c96926-9e95-11ee-ae09-1f7a4046a0f6
Received: from [10.137.0.75] ([149.102.246.30]) by mrelayeu.kundenserver.de
 (mreue009 [212.227.15.167]) with ESMTPSA (Nemesis) id
 1MgNlH-1uuMbz0Zrz-00oxef; Thu, 15 May 2025 13:23:32 +0200
Message-ID: <d32e8977-da91-427e-aa15-4937f9894fe3@open-e.com>
Date: Thu, 15 May 2025 07:23:29 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [pve-devel] checking output of storage plugin API -
 volume_rollback_is_possible(..., blockers)
To: =?UTF-8?Q?Fabian_Gr=C3=BCnbichler?= <f.gruenbichler@proxmox.com>,
 Proxmox VE development discussion <pve-devel@lists.proxmox.com>
References: <mailman.409.1747226995.394.pve-devel@lists.proxmox.com>
 <1975340184.15398.1747300603697@webmail.proxmox.com>
Content-Language: en-US
From: Andrei Perapiolkin <andrei.perepiolkin@open-e.com>
In-Reply-To: <1975340184.15398.1747300603697@webmail.proxmox.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:OnwKFDK063rH0bN7RQtv8RgbbYPXR1vQwDqFbL4oJhcWTtxBxwo
 3CZq/2HiJfZF5En2ToYwJWscX1uyWBRNVYjPDEB9Pfl28tI9Sds4dRmBtRJdyf2vvnu8V2U
 0omFtXjziP5dMGcn/nAcq8wM/jAU6qfAC7faENAmbrScDMzSAsWOdWxL1JCmlji8CKFIpmh
 EriIwDo2LivAG1Yyv42Xg==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:rGI1PGsMfZ4=;N0hUrcT2fUr49WeEDywD8UTT6iB
 muMfkEH13e9orDYKr37irobUmUAMrYry2gnnmyrEPb8hZSqh9FwRCdr9+v/7XEWbV3Gh8G+7m
 BWVM91l906KaP+lnGoH3d4WfhAsEOUsKca3WJjEexhR4z62pSUc6G19xtLEMCb+H1mBhw/gBM
 3WsJo/aoxu/Yxbf4RV3zXJGVx6be7emXZdbIoXZBPg4GU7Rq5MW65nBEoGzAsKK+k1+iVrl80
 mkDBQ/JXcQxPlnXAVn2XlmostKfsFBBH8ORmRTrMtHDXm6K0yK22iEqjYqaWwfHpIT5VAV+SM
 iQ580RWscTSYfzOM4eRqI8UL1npykR9/BagxOsYqkYrUYlkzJPEEY4AvsQ5qxVdpYsr4S2UD4
 SeQ7c+7RnopBZk58v0Ht9mKDK3mZv/SWFpv4J3MUrzTotTy9g+P+ccRXlCJPfKdSllJQd6rey
 2LG3QBzdIYvhnN+Twm8ZniKUIVlA3O/rONmRgWUu+lU6CPOmJz3pa+zvzc0+B9yo5U66m41Nl
 hU6AB1ocudFeOXNKMirNfB+AxtYJfQYpZyeab06A6qfw6P32XQUHXiTV3+2fUKCtYD85utmVG
 Pw6PGGq70jiy1obooFR5hu+3ts5VQfB5PE3eJDPhwILVnlL10EyoyZUrAfwvI9dF+qo/+OnIb
 rH2hFKazgS1XEZwtKiyZT0hhDrOvyAV4KzDE/5bYMX8WKU6L0Xv6TJcBkRyX1Oyxw9JXuMvDc
 6XLRMa32xKYvEELassanNH38850nkgZwTmkUnNISI3h5I4XXy1dpeT6gPtvVuMYMiQ+CqIzQz
 iNzyk0g+HGeB6GKODvPoM54TTJPCB7M3wjUrOF6Lvcq+Uf85Wsfjn5KW1VGQZp3FYI4EsHIxP
 rAzmAd0iBI6MjcY1zrwqgo5D0QQ/HPGBVVaDNrUTHxSiG0E8Q/uaH5RIQ8n5GcE8YL+mhV7yq
 4gVERX4+pzK0WvgJ2gJmGrTzF68d2yiJszakybhEAwj/WoqsWw3hQmYOjxrDcURQyQxkxEWue
 3sbjKATkhmDj19/+ZXGjiIc1Muqa40Q8iVq8sqiBzx5dN3IuYTLpNCmeQGmP+tDnSX8TsfnvW
 RkDF1dg+etk/co6MsUZbrn+5uBUPwl++833TD7IQVJoswTTmgne1j+C2ZOKSxfLnje/qqReJn
 X32m3rUzJIi+rRZM2LflSqhljm2No0+bkdqIo3fF9qp6smFwLbkBX1TRaoritSryf1YGa1OzJ
 gke1vonpHVA3l5f4SuOZ9IV3LF+uehYGB5/OS4Ot0rVh+zCD2XhCBRH/h0UkBeo4TgTXjyX6D
 GLKZlAt4ArajFWNJAUTINZvpOWnWqBTihmDh7vb9SO6AWiUEH15/T2KBF4omxPdCQT+PpOI/H
 +ChHGv53kDPTvQX8jc2jTo9G2evuUMAvwx2KcVo45+JbiOAY2CbfdXLewMFqf36xPSW12Ccwr
 4yHQ9PJs00OV6CIU1PsfJxaR0oAEK4BEBcF7ij0kQ7KRIp4kig5UiE8SibOb6mR2cGLSgag==
X-SPAM-LEVEL: Spam detection results:  0
	AWL                    -0.002 Adjusted score from AWL reputation of From: address
	BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
	DKIM_SIGNED               0.1 Message has a DKIM or DK signature, not necessarily valid
	DKIM_VALID               -0.1 Message has at least one valid DKIM or DK signature
	DKIM_VALID_AU            -0.1 Message has a valid DKIM or DK signature from author's domain
	DKIM_VALID_EF            -0.1 Message has a valid DKIM or DK signature from envelope-from domain
	DMARC_PASS               -0.1 DMARC pass policy
	RCVD_IN_DNSWL_NONE     -0.0001 Sender listed at https://www.dnswl.org/, no trust
	RCVD_IN_MSPIKE_H4       0.001 Very Good reputation (+4)
	RCVD_IN_MSPIKE_WL       0.001 Mailspike good senders
	RCVD_IN_VALIDITY_CERTIFIED_BLOCKED  0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked.  See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information.
	RCVD_IN_VALIDITY_RPBL_BLOCKED  0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked.  See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information.
	RCVD_IN_VALIDITY_SAFE_BLOCKED  0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked.  See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information.
	SPF_HELO_NONE           0.001 SPF: HELO does not publish an SPF Record
	SPF_PASS               -0.001 SPF: sender matches SPF record
	URIBL_BLOCKED           0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked.  See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [proxmox.com,open-e.com]

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:=20
https://github.com/open-e/JovianDSS-Proxmox/blob/22d0f7f8c4606d470a988fc79=
6b391f50cabd40f/OpenEJovianDSS/Common.pm#L472

Best regards,

Andrei Perepiolkin

On 5/15/25 05:16, Fabian Gr=C3=BCnbichler wrote:
>> Andrei Perapiolkin via pve-devel <pve-devel@lists.proxmox.com> hat am 1=
4.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}/qe=
mu/{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=3Dpve-guest-common.git;a=3Dblob;f=3Dsrc/PVE/A=
bstractConfig.pm;h=3D3d4fcbbf98553b1f4edc8f59307daae1cf1b8a2f;hb=3DHEAD#l1=
051
>
> the expected behaviour is to
> - fill $blockers with the snapshot names preventing the rollback, if the=
re 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, a=
nd 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 rep=
lication
> at the moment):
>
> https://git.proxmox.com/?p=3Dpve-storage.git;a=3Dblob;f=3Dsrc/PVE/Storag=
e/ZFSPoolPlugin.pm;h=3D26fb0a4237e5c1013ebfa85ca2cc072c57d2c36f;hb=3DHEAD#=
l502
>
> and model your implementation after its behaviour (of course, whether ro=
lling
> 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 o=
r
>> other return values from storage plugins?
> out of interest - is your plugin publicly available?
>


--===============2065432502978839208==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

--===============2065432502978839208==--