qmp-shell: add -N option to skip negotiate
authorMarc-André Lureau <marcandre.lureau@redhat.com>
Thu, 4 May 2017 12:54:29 +0000 (16:54 +0400)
committerMarkus Armbruster <armbru@redhat.com>
Tue, 9 May 2017 07:14:41 +0000 (09:14 +0200)
qemu-ga doesn't have negotiate phase.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20170504125432.21653-2-marcandre.lureau@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
scripts/qmp/qmp-shell

index 6ece6e7c814e2b735e42b3038c4a03369235103f..b4d2dbd292a7189d9a56ab120fb4cff678d9c666 100755 (executable)
@@ -277,8 +277,8 @@ class QMPShell(qmp.QEMUMonitorProtocol):
         self._print(resp)
         return True
 
-    def connect(self):
-        self._greeting = qmp.QEMUMonitorProtocol.connect(self)
+    def connect(self, negotiate):
+        self._greeting = qmp.QEMUMonitorProtocol.connect(self, negotiate)
         self.__completer_setup()
 
     def show_banner(self, msg='Welcome to the QMP low-level shell!'):
@@ -390,7 +390,7 @@ def die(msg):
 def fail_cmdline(option=None):
     if option:
         sys.stderr.write('ERROR: bad command-line option \'%s\'\n' % option)
-    sys.stderr.write('qemu-shell [ -v ] [ -p ] [ -H ] < UNIX socket path> | < TCP address:port >\n')
+    sys.stderr.write('qemu-shell [ -v ] [ -p ] [ -H ] [ -N ] < UNIX socket path> | < TCP address:port >\n')
     sys.exit(1)
 
 def main():
@@ -399,6 +399,7 @@ def main():
     hmp = False
     pretty = False
     verbose = False
+    negotiate = True
 
     try:
         for arg in sys.argv[1:]:
@@ -408,6 +409,8 @@ def main():
                 hmp = True
             elif arg == "-p":
                 pretty = True
+            elif arg == "-N":
+                negotiate = False
             elif arg == "-v":
                 verbose = True
             else:
@@ -425,7 +428,7 @@ def main():
         die('bad port number in command-line')
 
     try:
-        qemu.connect()
+        qemu.connect(negotiate)
     except qmp.QMPConnectError:
         die('Didn\'t get QMP greeting message')
     except qmp.QMPCapabilitiesError: