[Libguestfs] [PATCH v2v v2 2/2] rhv-upload: Check that rhv-disk-uuid is not already taken (RHBZ#1789279)
Martin Kletzander
mkletzan at redhat.com
Mon Feb 24 11:05:55 UTC 2020
On Mon, Feb 24, 2020 at 10:28:46AM +0100, Pino Toscano wrote:
>On Wednesday, 29 January 2020 15:34:49 CET Martin Kletzander wrote:
>> This makes the code fail with a sensible error message instead of cryptic error
>> from ovirtsdk.
>>
>> Signed-off-by: Martin Kletzander <mkletzan at redhat.com>
>> ---
>> v2v/rhv-upload-plugin.py | 12 ++++++++++++
>> 1 file changed, 12 insertions(+)
>>
>> diff --git a/v2v/rhv-upload-plugin.py b/v2v/rhv-upload-plugin.py
>> index d3e6260e97f4..413ad53b05ab 100644
>> --- a/v2v/rhv-upload-plugin.py
>> +++ b/v2v/rhv-upload-plugin.py
>> @@ -26,6 +26,9 @@ import ssl
>> import sys
>> import time
>>
>> +import nbdkit
>> +import errno
>> +
>> from http.client import HTTPSConnection, HTTPConnection
>> from urllib.parse import urlparse
>>
>> @@ -461,6 +464,15 @@ def create_disk(connection):
>> system_service = connection.system_service()
>> disks_service = system_service.disks_service()
>>
>> + uuid = params.get('rhv_disk_uuid')
>> + if uuid is not None:
>> + try:
>> + disks_service.disk_service(uuid).get()
>> + nbdkit.set_error(errno.EEXIST)
>> + raise ValueError("Disk with the UUID '%s' already exists" % uuid)
>> + except sdk.NotFoundError:
>> + pass
>
>This check seems correct to me, although it is done too late: IMHO this
>is something to do in the precheck script, so we do not even attempt to
>connect to the source if any of the specified UUIDs already exists in
>oVirt.
>
Well at that point we are not passing the UUIDs to the script and that's why I
selected this one (if I remember correctly). Given how often this would happen
I don't think it would be that big of a deal to reject it slightly slower. Also
the race window (of the UUID being created in the meantime) would become bigger.
>--
>Pino Toscano
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libguestfs/attachments/20200224/73877456/attachment.sig>
More information about the Libguestfs
mailing list