From: Markus Armbruster <armbru@redhat.com>
To: Amador Pahim <apahim@redhat.com>
Cc: qemu-devel@nongnu.org, kwolf@redhat.com, ldoktor@redhat.com,
famz@redhat.com, ehabkost@redhat.com, stefanha@gmail.com,
mreitz@redhat.com, crosa@redhat.com
Subject: Re: [Qemu-devel] [PATCH v6 4/7] qemu.py: improve message on negative exit code
Date: Tue, 15 Aug 2017 10:26:12 +0200 [thread overview]
Message-ID: <87tw19s0d7.fsf@dusky.pond.sub.org> (raw)
In-Reply-To: <20170731085110.1050-5-apahim@redhat.com> (Amador Pahim's message of "Mon, 31 Jul 2017 10:51:07 +0200")
Amador Pahim <apahim@redhat.com> writes:
> The current message shows 'self._args', which contains only part of the
> options used in the qemu command line.
>
> This patch makes the qemu full args list an instance variable and then
> uses it in the negative exit code message.
>
> Signed-off-by: Amador Pahim <apahim@redhat.com>
> ---
> scripts/qemu.py | 17 ++++++++++++-----
> 1 file changed, 12 insertions(+), 5 deletions(-)
>
> diff --git a/scripts/qemu.py b/scripts/qemu.py
> index e3ea534ec4..9434ccc30b 100644
> --- a/scripts/qemu.py
> +++ b/scripts/qemu.py
> @@ -48,6 +48,7 @@ class QEMUMachine(object):
> self._iolog = None
> self._socket_scm_helper = socket_scm_helper
> self._debug = debug
> + self._qemu_full_args = None
>
> # This can be used to add an unused monitor instance.
> def add_monitor_telnet(self, ip, port):
> @@ -140,9 +141,14 @@ class QEMUMachine(object):
> qemulog = open(self._qemu_log_path, 'wb')
> try:
> self._pre_launch()
> - args = self._wrapper + [self._binary] + self._base_args() + self._args
> - self._popen = subprocess.Popen(args, stdin=devnull, stdout=qemulog,
> - stderr=subprocess.STDOUT, shell=False)
> + self._qemu_full_args = None
> + self._qemu_full_args = (self._wrapper + [self._binary] +
> + self._base_args() + self._args)
Why set self._qemu_full_args twice?
> + self._popen = subprocess.Popen(self._qemu_full_args,
> + stdin=devnull,
> + stdout=qemulog,
> + stderr=subprocess.STDOUT,
> + shell=False)
> self._post_launch()
> except:
> if self.is_running():
> @@ -163,8 +169,9 @@ class QEMUMachine(object):
>
> exitcode = self._popen.wait()
> if exitcode < 0:
> - LOG.error('qemu received signal %i: %s', -exitcode,
> - ' '.join(self._args))
> + LOG.error('qemu received signal %i:%s', -exitcode,
> + ' Command: %r.' % ' '.join(self._qemu_full_args)
> + if self._qemu_full_args else '')
The last argument is hard to read.
> self._load_io_log()
> self._post_shutdown()
The subprocess module appears to keep track of the full command with
methods check_call() and check_output(): its in exception
CalledProcessError right when you need it. Sadly, it doesn't appear to
be tracked with method Popen().
next prev parent reply other threads:[~2017-08-15 8:26 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-31 8:51 [Qemu-devel] [PATCH v6 0/7] scripts/qemu.py fixes and cleanups Amador Pahim
2017-07-31 8:51 ` [Qemu-devel] [PATCH v6 1/7] qemu.py: use poll() instead of 'returncode' Amador Pahim
2017-07-31 14:07 ` Eduardo Habkost
2017-07-31 8:51 ` [Qemu-devel] [PATCH v6 2/7] qemu.py: fix is_running() return before first launch() Amador Pahim
2017-08-01 10:09 ` Stefan Hajnoczi
2017-08-01 10:50 ` Eduardo Habkost
2017-08-01 12:56 ` Amador Pahim
2017-08-02 13:35 ` Stefan Hajnoczi
2017-07-31 8:51 ` [Qemu-devel] [PATCH v6 3/7] qemu.py: use python logging system Amador Pahim
2017-07-31 14:50 ` Eduardo Habkost
2017-07-31 15:05 ` Amador Pahim
2017-08-15 8:10 ` Markus Armbruster
2017-08-15 19:58 ` Eduardo Habkost
2017-08-16 6:17 ` Markus Armbruster
2017-08-18 12:24 ` Amador Pahim
2017-07-31 8:51 ` [Qemu-devel] [PATCH v6 4/7] qemu.py: improve message on negative exit code Amador Pahim
2017-08-15 8:26 ` Markus Armbruster [this message]
2017-08-18 12:24 ` Amador Pahim
2017-08-18 13:57 ` Markus Armbruster
2017-08-18 14:33 ` Amador Pahim
2017-07-31 8:51 ` [Qemu-devel] [PATCH v6 5/7] qemu.py: use os.path.null instead of /dev/null Amador Pahim
2017-08-01 10:11 ` Stefan Hajnoczi
2017-08-22 2:24 ` Philippe Mathieu-Daudé
2017-07-31 8:51 ` [Qemu-devel] [PATCH v6 6/7] qemu.py: cleanup and improve launch()/shutdown() Amador Pahim
2017-08-15 8:45 ` Markus Armbruster
2017-07-31 8:51 ` [Qemu-devel] [PATCH v6 7/7] qemu.py: include debug information on launch error Amador Pahim
2017-08-15 8:57 ` Markus Armbruster
2017-08-18 12:42 ` Amador Pahim
2017-08-18 14:01 ` Markus Armbruster
2017-08-18 14:49 ` Amador Pahim
2017-08-21 9:14 ` Markus Armbruster
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=87tw19s0d7.fsf@dusky.pond.sub.org \
--to=armbru@redhat.com \
--cc=apahim@redhat.com \
--cc=crosa@redhat.com \
--cc=ehabkost@redhat.com \
--cc=famz@redhat.com \
--cc=kwolf@redhat.com \
--cc=ldoktor@redhat.com \
--cc=mreitz@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@gmail.com \
/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.