All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eduardo Habkost <ehabkost@redhat.com>
To: Amador Pahim <apahim@redhat.com>
Cc: qemu-devel@nongnu.org, famz@redhat.com, armbru@redhat.com,
	crosa@redhat.com, muriloo@linux.vnet.ibm.com
Subject: Re: [Qemu-devel] [PATCH v11 3/8] qemu.py: refactor launch()
Date: Fri, 19 Jan 2018 15:29:21 -0200	[thread overview]
Message-ID: <20180119172921.GD15832@localhost.localdomain> (raw)
In-Reply-To: <20171114102246.22221-4-apahim@redhat.com>

On Tue, Nov 14, 2017 at 11:22:41AM +0100, Amador Pahim wrote:
> This is just an refactor to separate the exception handler from the
> actual launch procedure, improving the readability and making future
> maintenances in this piece of code easier.
> 
> Reviewed-by: Fam Zheng <famz@redhat.com>
> Signed-off-by: Amador Pahim <apahim@redhat.com>

Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>

The only thing preventing me from queueing it right now is the
dependency on patch 2/8.

> ---
>  scripts/qemu.py | 29 ++++++++++++++++++-----------
>  1 file changed, 18 insertions(+), 11 deletions(-)
> 
> diff --git a/scripts/qemu.py b/scripts/qemu.py
> index d5b1cde044..28aa3712c7 100644
> --- a/scripts/qemu.py
> +++ b/scripts/qemu.py
> @@ -202,20 +202,14 @@ class QEMUMachine(object):
>              self._temp_dir = None
>  
>      def launch(self):
> -        '''Launch the VM and establish a QMP connection'''
> +        """
> +        Launch the VM and make sure we cleanup and expose the
> +        command line/output in case of exception
> +        """
>          self._iolog = None
>          self._qemu_full_args = None
> -        devnull = open(os.path.devnull, 'rb')
>          try:
> -            self._pre_launch()
> -            self._qemu_full_args = (self._wrapper + [self._binary] +
> -                                    self._base_args() + self._args)
> -            self._popen = subprocess.Popen(self._qemu_full_args,
> -                                           stdin=devnull,
> -                                           stdout=self._qemu_log_file,
> -                                           stderr=subprocess.STDOUT,
> -                                           shell=False)
> -            self._post_launch()
> +            self._launch()
>          except:
>              if self.is_running():
>                  self._popen.kill()
> @@ -230,6 +224,19 @@ class QEMUMachine(object):
>                  LOG.debug('Output: %r', self._iolog)
>              raise
>  
> +    def _launch(self):
> +        '''Launch the VM and establish a QMP connection'''
> +        devnull = open(os.path.devnull, 'rb')
> +        self._pre_launch()
> +        self._qemu_full_args = (self._wrapper + [self._binary] +
> +                                self._base_args() + self._args)
> +        self._popen = subprocess.Popen(self._qemu_full_args,
> +                                       stdin=devnull,
> +                                       stdout=self._qemu_log_file,
> +                                       stderr=subprocess.STDOUT,
> +                                       shell=False)
> +        self._post_launch()
> +
>      def wait(self):
>          '''Wait for the VM to power off'''
>          self._popen.wait()
> -- 
> 2.13.6
> 
> 

-- 
Eduardo

  reply	other threads:[~2018-01-19 17:29 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-14 10:22 [Qemu-devel] [PATCH v11 0/8] scripts/qemu.py fixes and cleanups Amador Pahim
2017-11-14 10:22 ` [Qemu-devel] [PATCH v11 1/8] qemu.py: remove unused import Amador Pahim
2018-01-19 17:26   ` Eduardo Habkost
2017-11-14 10:22 ` [Qemu-devel] [PATCH v11 2/8] qemu.py: better control of created files Amador Pahim
2018-01-19 17:26   ` Eduardo Habkost
2017-11-14 10:22 ` [Qemu-devel] [PATCH v11 3/8] qemu.py: refactor launch() Amador Pahim
2018-01-19 17:29   ` Eduardo Habkost [this message]
2017-11-14 10:22 ` [Qemu-devel] [PATCH v11 4/8] qemu.py: always cleanup on shutdown() Amador Pahim
2018-01-19 17:33   ` Eduardo Habkost
2017-11-14 10:22 ` [Qemu-devel] [PATCH v11 5/8] qemu.py: use poll() instead of 'returncode' Amador Pahim
2018-01-19 17:37   ` Eduardo Habkost
2017-11-14 10:22 ` [Qemu-devel] [PATCH v11 6/8] qemu.py: cleanup redundant calls in launch() Amador Pahim
2018-01-19 17:37   ` Eduardo Habkost
2017-11-14 10:22 ` [Qemu-devel] [PATCH v11 7/8] qemu.py: launch vm only if it's not running Amador Pahim
2018-01-19 17:51   ` Eduardo Habkost
2017-11-14 10:22 ` [Qemu-devel] [PATCH v11 8/8] qemu.py: don't launch again before shutdown() Amador Pahim
2018-01-19 17:52   ` Eduardo Habkost

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180119172921.GD15832@localhost.localdomain \
    --to=ehabkost@redhat.com \
    --cc=apahim@redhat.com \
    --cc=armbru@redhat.com \
    --cc=crosa@redhat.com \
    --cc=famz@redhat.com \
    --cc=muriloo@linux.vnet.ibm.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.