The check here should be done only if virt-bootstrap has been called. > Prevent container creation if virt-bootstrap has not finished > successfully. > --- > virtManager/asyncjob.py | 3 +++ > virtManager/create.py | 6 +++++- > 2 files changed, 8 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..dd99c17 100644 > --- a/virtManager/create.py > +++ b/virtManager/create.py > @@ -2512,6 +2512,9 @@ class vmmCreate(vmmGObjectUI): > if bootstrap_args: > # Start container bootstrap > self._create_directory_tree(asyncjob, meter, bootstrap_args) > + # Do not continue if virt-bootstrap has not finished > successfully > + if asyncjob.has_error: > + return > > # Build a list of pools we should refresh, if we are creating > storage > refresh_pools = [] > @@ -2648,4 +2651,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
On 24/07/17 09:26, Radostin Stoyanov wrote: > 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())) _______________________________________________ virt-tools-list mailing list virt-tools-list@redhat.com https://www.redhat.com/mailman/listinfo/virt-tools-list