From: John Snow Date: Tue, 1 Feb 2022 04:11:31 +0000 (-0500) Subject: python/aqmp: Fix negotiation with pre-"oob" QEMU X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=fa73e6e4ca1a93c5bbf9d05fb2a25736ab810b35;p=qemu.git python/aqmp: Fix negotiation with pre-"oob" QEMU QEMU versions prior to the "oob" capability *also* can't accept the "enable" keyword argument at all. Fix the handshake process with older QEMU versions. Signed-off-by: John Snow Reviewed-by: Hanna Reitz Reviewed-by: Kevin Wolf Message-id: 20220201041134.1237016-2-jsnow@redhat.com Signed-off-by: John Snow --- diff --git a/python/qemu/aqmp/qmp_client.py b/python/qemu/aqmp/qmp_client.py index f1a845cc82..90a8737f03 100644 --- a/python/qemu/aqmp/qmp_client.py +++ b/python/qemu/aqmp/qmp_client.py @@ -292,9 +292,9 @@ class QMPClient(AsyncProtocol[Message], Events): """ self.logger.debug("Negotiating capabilities ...") - arguments: Dict[str, List[str]] = {'enable': []} + arguments: Dict[str, List[str]] = {} if self._greeting and 'oob' in self._greeting.QMP.capabilities: - arguments['enable'].append('oob') + arguments.setdefault('enable', []).append('oob') msg = self.make_execute_msg('qmp_capabilities', arguments=arguments) # It's not safe to use execute() here, because the reader/writers