Display the current status and progress from virt-bootstrap. --- virtManager/create.py | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/virtManager/create.py b/virtManager/create.py index 75fd553..b0ebbf1 100644 --- a/virtManager/create.py +++ b/virtManager/create.py @@ -2505,8 +2505,8 @@ class vmmCreate(vmmGObjectUI): passwd = self._get_config_oscontainer_source_password() insecure = self._get_config_oscontainer_isecure() - self._create_directory_tree(asyncjob, src_url, dest, user, passwd, - insecure) + self._create_directory_tree(asyncjob, meter, src_url, dest, user, + passwd, insecure) # Build a list of pools we should refresh, if we are creating storage refresh_pools = [] @@ -2594,22 +2594,32 @@ class vmmCreate(vmmGObjectUI): return True - def _create_directory_tree(self, asyncjob, src, dest, user, passwd, insecure): + def _create_directory_tree(self, asyncjob, meter, src, dest, user, + passwd, insecure): """ Call bootstrap method from virtBootstrap. """ import virtBootstrap + meter.start(text=_("Bootstraping container"), size=100) + def progress_update_cb(prog): + meter.text = _(prog['status']) + meter.update(prog['value']) + # Use string buffer to store log messages log_stream = cStringIO.StringIO() # Get virt-bootstrap logger vbLogger = logging.getLogger('virtBootstrap') vbLogger.setLevel(logging.DEBUG) - vbLogger.addHandler(logging.StreamHandler(log_stream)) + # Create hander to store log messages in the string buffer + hdlr = logging.StreamHandler(log_stream) + hdlr.setFormatter(logging.Formatter('%(message)s')) + vbLogger.addHandler(hdlr) # Key word arguments to be passed kwargs = {'uri': src, 'dest': dest, 'not_secure': insecure} + kwargs['progress_cb'] = progress_update_cb if user and passwd: kwargs['username'] = user kwargs['password'] = passwd -- 2.9.4 _______________________________________________ virt-tools-list mailing list virt-tools-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/virt-tools-list