62 lines
2.2 KiB
Diff
62 lines
2.2 KiB
Diff
From b37ca67f769749b7b3b5d51e171b7cccfa3b5fd2 Mon Sep 17 00:00:00 2001
|
||
From: Pino Toscano <ptoscano@redhat.com>
|
||
Date: Mon, 15 Apr 2019 17:24:42 +0200
|
||
Subject: [PATCH] v2v: -o rhv-upload: check whether the cluster exists
|
||
|
||
In the precheck script, check that the target cluster actually exists.
|
||
This will avoid errors when creating the VM after the data copying.
|
||
|
||
(cherry picked from commit 05e559549dab75f17e147f4a4eafbac868a7aa5d)
|
||
---
|
||
v2v/rhv-upload-precheck.py | 10 ++++++++++
|
||
v2v/test-v2v-o-rhv-upload-module/ovirtsdk4/__init__.py | 7 +++++++
|
||
2 files changed, 17 insertions(+)
|
||
|
||
diff --git a/v2v/rhv-upload-precheck.py b/v2v/rhv-upload-precheck.py
|
||
index 2798a29dd..b79f91b4a 100644
|
||
--- a/v2v/rhv-upload-precheck.py
|
||
+++ b/v2v/rhv-upload-precheck.py
|
||
@@ -70,4 +70,14 @@ if len(vms) > 0:
|
||
raise RuntimeError("VM already exists with name ‘%s’, id ‘%s’" %
|
||
(params['output_name'], vm.id))
|
||
|
||
+# Check whether the specified cluster exists.
|
||
+clusters_service = system_service.clusters_service()
|
||
+clusters = clusters_service.list(
|
||
+ search='name=%s' % params['rhv_cluster'],
|
||
+ case_sensitive=True,
|
||
+)
|
||
+if len(clusters) == 0:
|
||
+ raise RuntimeError("The cluster ‘%s’ does not exist" %
|
||
+ (params['rhv_cluster']))
|
||
+
|
||
# Otherwise everything is OK, exit with no error.
|
||
diff --git a/v2v/test-v2v-o-rhv-upload-module/ovirtsdk4/__init__.py b/v2v/test-v2v-o-rhv-upload-module/ovirtsdk4/__init__.py
|
||
index 8d1058d67..cc4224ccd 100644
|
||
--- a/v2v/test-v2v-o-rhv-upload-module/ovirtsdk4/__init__.py
|
||
+++ b/v2v/test-v2v-o-rhv-upload-module/ovirtsdk4/__init__.py
|
||
@@ -39,6 +39,9 @@ class Connection(object):
|
||
return SystemService()
|
||
|
||
class SystemService(object):
|
||
+ def clusters_service(self):
|
||
+ return ClustersService()
|
||
+
|
||
def data_centers_service(self):
|
||
return DataCentersService()
|
||
|
||
@@ -54,6 +57,10 @@ class SystemService(object):
|
||
def vms_service(self):
|
||
return VmsService()
|
||
|
||
+class ClustersService(object):
|
||
+ def list(self, search=None, case_sensitive=False):
|
||
+ return ["Default"]
|
||
+
|
||
class DataCentersService(object):
|
||
def list(self, search=None, case_sensitive=False):
|
||
return []
|
||
--
|
||
2.25.4
|
||
|