Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/808648/?format=api
{ "id": 808648, "url": "http://patchwork.ozlabs.org/api/patches/808648/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20170901112829.2571-5-apahim@redhat.com/", "project": { "id": 14, "url": "http://patchwork.ozlabs.org/api/projects/14/?format=api", "name": "QEMU Development", "link_name": "qemu-devel", "list_id": "qemu-devel.nongnu.org", "list_email": "qemu-devel@nongnu.org", "web_url": "", "scm_url": "", "webscm_url": "", "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20170901112829.2571-5-apahim@redhat.com>", "list_archive_url": null, "date": "2017-09-01T11:28:20", "name": "[v8,04/13] qemu.py: improve message on negative exit code", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "6580e5c23125f8a0dbdcd16a0abb1d189a2a49d2", "submitter": { "id": 71999, "url": "http://patchwork.ozlabs.org/api/people/71999/?format=api", "name": "Amador Pahim", "email": "apahim@redhat.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20170901112829.2571-5-apahim@redhat.com/mbox/", "series": [ { "id": 1006, "url": "http://patchwork.ozlabs.org/api/series/1006/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=1006", "date": "2017-09-01T11:28:16", "name": "scripts/qemu.py fixes and cleanups", "version": 8, "mbox": "http://patchwork.ozlabs.org/series/1006/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/808648/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/808648/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>", "X-Original-To": "incoming@patchwork.ozlabs.org", "Delivered-To": "patchwork-incoming@bilbo.ozlabs.org", "Authentication-Results": [ "ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=nongnu.org\n\t(client-ip=2001:4830:134:3::11; helo=lists.gnu.org;\n\tenvelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n\treceiver=<UNKNOWN>)", "ext-mx04.extmail.prod.ext.phx2.redhat.com;\n\tdmarc=none (p=none dis=none) header.from=redhat.com", "ext-mx04.extmail.prod.ext.phx2.redhat.com;\n\tspf=fail smtp.mailfrom=apahim@redhat.com" ], "Received": [ "from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11])\n\t(using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xkHKk1Y7kz9sRV\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri, 1 Sep 2017 21:37:46 +1000 (AEST)", "from localhost ([::1]:36403 helo=lists.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.71) (envelope-from\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>)\n\tid 1dnkGe-0005yn-93\n\tfor incoming@patchwork.ozlabs.org; Fri, 01 Sep 2017 07:37:44 -0400", "from eggs.gnu.org ([2001:4830:134:3::10]:59615)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <apahim@redhat.com>) id 1dnkAm-00013s-FP\n\tfor qemu-devel@nongnu.org; Fri, 01 Sep 2017 07:31:45 -0400", "from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <apahim@redhat.com>) id 1dnkAh-0006qq-GC\n\tfor qemu-devel@nongnu.org; Fri, 01 Sep 2017 07:31:40 -0400", "from mx1.redhat.com ([209.132.183.28]:51786)\n\tby eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)\n\t(Exim 4.71) (envelope-from <apahim@redhat.com>) id 1dnkAh-0006oy-74\n\tfor qemu-devel@nongnu.org; Fri, 01 Sep 2017 07:31:35 -0400", "from smtp.corp.redhat.com\n\t(int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby mx1.redhat.com (Postfix) with ESMTPS id 4243D8B135;\n\tFri, 1 Sep 2017 11:31:34 +0000 (UTC)", "from t460p.pahim.org.com (ovpn-204-134.brq.redhat.com\n\t[10.40.204.134])\n\tby smtp.corp.redhat.com (Postfix) with ESMTP id 6DA8A77DC1;\n\tFri, 1 Sep 2017 11:31:31 +0000 (UTC)" ], "DMARC-Filter": "OpenDMARC Filter v1.3.2 mx1.redhat.com 4243D8B135", "From": "Amador Pahim <apahim@redhat.com>", "To": "qemu-devel@nongnu.org", "Date": "Fri, 1 Sep 2017 13:28:20 +0200", "Message-Id": "<20170901112829.2571-5-apahim@redhat.com>", "In-Reply-To": "<20170901112829.2571-1-apahim@redhat.com>", "References": "<20170901112829.2571-1-apahim@redhat.com>", "X-Scanned-By": "MIMEDefang 2.79 on 10.5.11.12", "X-Greylist": "Sender IP whitelisted, not delayed by milter-greylist-4.5.16\n\t(mx1.redhat.com [10.5.110.28]);\n\tFri, 01 Sep 2017 11:31:34 +0000 (UTC)", "X-detected-operating-system": "by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]\n\t[fuzzy]", "X-Received-From": "209.132.183.28", "Subject": "[Qemu-devel] [PATCH v8 04/13] qemu.py: improve message on negative\n\texit code", "X-BeenThere": "qemu-devel@nongnu.org", "X-Mailman-Version": "2.1.21", "Precedence": "list", "List-Id": "<qemu-devel.nongnu.org>", "List-Unsubscribe": "<https://lists.nongnu.org/mailman/options/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>", "List-Archive": "<http://lists.nongnu.org/archive/html/qemu-devel/>", "List-Post": "<mailto:qemu-devel@nongnu.org>", "List-Help": "<mailto:qemu-devel-request@nongnu.org?subject=help>", "List-Subscribe": "<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=subscribe>", "Cc": "kwolf@redhat.com, ldoktor@redhat.com, famz@redhat.com,\n\tehabkost@redhat.com, \n\tstefanha@gmail.com, Amador Pahim <apahim@redhat.com>,\n\tarmbru@redhat.com, mreitz@redhat.com, crosa@redhat.com", "Errors-To": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org", "Sender": "\"Qemu-devel\"\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>" }, "content": "The current message shows 'self._args', which contains only part of the\noptions used in the Qemu command line.\n\nThis patch makes the qemu full args list an instance variable and then\nuses it in the negative exit code message.\n\nMessage was moved outside the 'if is_running' block to make sure it will\nbe logged if the VM finishes before the call to shutdown().\n\nSigned-off-by: Amador Pahim <apahim@redhat.com>\n---\n scripts/qemu.py | 26 +++++++++++++++++++-------\n 1 file changed, 19 insertions(+), 7 deletions(-)", "diff": "diff --git a/scripts/qemu.py b/scripts/qemu.py\nindex a6e06291ea..670c048569 100644\n--- a/scripts/qemu.py\n+++ b/scripts/qemu.py\n@@ -49,6 +49,7 @@ class QEMUMachine(object):\n self._iolog = None\n self._socket_scm_helper = socket_scm_helper\n self._debug = debug\n+ self._qemu_full_args = None\n \n # This can be used to add an unused monitor instance.\n def add_monitor_telnet(self, ip, port):\n@@ -140,13 +141,18 @@ class QEMUMachine(object):\n \n def launch(self):\n '''Launch the VM and establish a QMP connection'''\n+ self._qemu_full_args = None\n devnull = open(os.path.devnull, 'rb')\n qemulog = open(self._qemu_log_path, 'wb')\n try:\n self._pre_launch()\n- args = self._wrapper + [self._binary] + self._base_args() + self._args\n- self._popen = subprocess.Popen(args, stdin=devnull, stdout=qemulog,\n- stderr=subprocess.STDOUT, shell=False)\n+ self._qemu_full_args = (self._wrapper + [self._binary] +\n+ self._base_args() + self._args)\n+ self._popen = subprocess.Popen(self._qemu_full_args,\n+ stdin=devnull,\n+ stdout=qemulog,\n+ stderr=subprocess.STDOUT,\n+ shell=False)\n self._post_launch()\n except:\n if self.is_running():\n@@ -164,14 +170,20 @@ class QEMUMachine(object):\n self._qmp.close()\n except:\n self._popen.kill()\n+ self._popen.wait()\n \n- exitcode = self._popen.wait()\n- if exitcode < 0:\n- LOG.warn('qemu received signal %i: %s', -exitcode,\n- ' '.join(self._args))\n self._load_io_log()\n self._post_shutdown()\n \n+ exitcode = self.exitcode()\n+ if exitcode is not None and exitcode < 0:\n+ msg = 'qemu received signal %i: %s'\n+ if self._qemu_full_args:\n+ command = ' '.join(self._qemu_full_args)\n+ else:\n+ command = ''\n+ LOG.warn(msg, exitcode, command)\n+\n underscore_to_dash = string.maketrans('_', '-')\n def qmp(self, cmd, conv_keys=True, **args):\n '''Invoke a QMP command and return the result dict'''\n", "prefixes": [ "v8", "04/13" ] }