[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
Wed Jan 29 14:34:49 UTC 2020


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
+
     if params['disk_format'] == "raw":
         disk_format = types.DiskFormat.RAW
     else:
-- 
2.25.0




More information about the Libguestfs mailing list