[virt-tools-list] [virt-manager] [PATCH 1/5] create: Stop if virt-bootstrap has failed
Radostin Stoyanov
rstoyanov1 at gmail.com
Mon Jul 24 08:26:44 UTC 2017
Prevent container creation if virt-bootstrap has not finished
successfully.
---
virtManager/asyncjob.py | 3 +++
virtManager/create.py | 7 ++++++-
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/virtManager/asyncjob.py b/virtManager/asyncjob.py
index 3c96fdf..35347ca 100644
--- a/virtManager/asyncjob.py
+++ b/virtManager/asyncjob.py
@@ -257,6 +257,9 @@ class vmmAsyncJob(vmmGObjectUI):
def set_error(self, error, details):
self._error_info = (error, details)
+ def has_error(self):
+ return bool(self._error_info)
+
def set_extra_data(self, data):
self._data = data
def get_extra_data(self):
diff --git a/virtManager/create.py b/virtManager/create.py
index d8e09bf..b3f02b7 100644
--- a/virtManager/create.py
+++ b/virtManager/create.py
@@ -2513,6 +2513,10 @@ class vmmCreate(vmmGObjectUI):
# Start container bootstrap
self._create_directory_tree(asyncjob, meter, bootstrap_args)
+ if asyncjob.has_error:
+ # Do not continue if virt-bootstrap has not finished successfully
+ return
+
# Build a list of pools we should refresh, if we are creating storage
refresh_pools = []
for disk in guest.get_devices("disk"):
@@ -2648,4 +2652,5 @@ class vmmCreate(vmmGObjectUI):
self.widget("install-oscontainer-bootstrap").set_active(False)
self.idle_add(cb)
except Exception as err:
- asyncjob.set_error(err, log_stream.getvalue())
+ asyncjob.set_error("virt-bootstrap did not complete successfully",
+ '%s\n%s' % (err, log_stream.getvalue()))
--
2.9.4
More information about the virt-tools-list
mailing list