Patchwork [5/5] QMP: Revamp the qmp-events.txt file

login
register
mail settings
Submitter Luiz Capitulino
Date Feb. 25, 2010, 3:07 p.m.
Message ID <1267110422-25873-6-git-send-email-lcapitulino@redhat.com>
Download mbox | patch
Permalink /patch/46246/
State New
Headers show

Comments

Luiz Capitulino - Feb. 25, 2010, 3:07 p.m.
Now we can say it's useful, the following changes have been made:

- Put events in alphabetical order
- Add examples to all events
- Document all 'data' members
- Small corrections and cleanups

Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
---
 QMP/qmp-events.txt |  170 ++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 133 insertions(+), 37 deletions(-)

Patch

diff --git a/QMP/qmp-events.txt b/QMP/qmp-events.txt
index 9bf14d0..5ab5750 100644
--- a/QMP/qmp-events.txt
+++ b/QMP/qmp-events.txt
@@ -1,60 +1,156 @@ 
-                   QEMU Monitor Protocol: Events
-                   =============================
+                   QEMU Monitor Protocol Events
+                   ============================
 
-1 SHUTDOWN
------------
+BLOCK_IO_ERROR
+--------------
+
+Emitted when a disk I/O error occurs.
+
+Data:
+
+- "device": device name (json-string)
+- "operation": I/O operation (json-string, "read" or "write")
+- "action": action that has been taken, it's one of the following (json-string):
+    "ignore": error has been ignored
+    "report": error has been reported to the device
+    "stop": error caused VM to be stopped
+
+Example:
+
+{ "event": "BLOCK_IO_ERROR",
+    "data": { "device": "ide0-hd1",
+              "operation": "write",
+              "action": "stop" },
+    "timestamp": { "seconds": 1265044230, "microseconds": 450486 } }
+
+Note: If action is "stop", a STOP event will eventually follow the
+BLOCK_IO_ERROR event.
+
+RESET
+-----
+
+Emitted when the Virtual Machine is reseted.
 
-Description: Issued when the Virtual Machine is powered down.
 Data: None.
 
-2 RESET
--------
+Example:
+
+{ "event": "RESET",
+    "timestamp": { "seconds": 1267041653, "microseconds": 9518 } }
+
+SHUTDOWN
+--------
+
+Emitted when the Virtual Machine is powered down.
 
-Description: Issued when the Virtual Machine is reseted.
 Data: None.
 
-3 STOP
-------
+Example:
+
+{ "event": "SHUTDOWN",
+    "timestamp": { "seconds": 1267040730, "microseconds": 682951 } }
+
+Note: If the command-line option "-no-shutdown" has been specified, a STOP
+event will eventually follow the SHUTDOWN event.
+
+STOP
+----
+
+Emitted when the Virtual Machine is stopped.
 
-Description: Issued when the Virtual Machine is stopped.
 Data: None.
 
-4 VNC_CONNECTED
----------------
+Example:
 
-Description: Issued when a VNC client establishes a connection.
-Data: 'server' and 'client' keys with the same keys as 'query-vnc',
-except that authentication ID is not provided.
+{ "event": "SHUTDOWN",
+    "timestamp": { "seconds": 1267041730, "microseconds": 281295 } }
 
-5 VNC_DISCONNECTED
-------------------
+VNC_CONNECTED
+-------------
 
-Description: Issued when the conection is closed.
-Data: 'server' and 'client' keys with the same keys as 'query-vnc'.
+Emitted when a VNC client establishes a connection.
+
+Data:
+
+- "server": Server information (json-object)
+  - "host": IP address (json-string)
+  - "service": port number (json-string)
+  - "family": address family (json-string, "ipv4" or "ipv6")
+  - "auth": authentication method (json-string, optional)
+- "client": Client information (json-object)
+  - "host": IP address (json-string)
+  - "service": port number (json-string)
+  - "family": address family (json-string, "ipv4" or "ipv6")
+
+Example:
 
-6 VNC_INITIALIZED
------------------
+{ "event": "VNC_CONNECTED",
+    "data": {
+        "server": { "auth": "sasl", "family": "ipv4",
+                    "service": "5901", "host": "0.0.0.0" },
+        "client": { "family": "ipv4", "service": "58425",
+                    "host": "127.0.0.1" } },
+    "timestamp": { "seconds": 1262976601, "microseconds": 975795 } }
 
-Description: Issued when the VNC session is made active.
-Data: 'server' and 'client' keys with the same keys as 'query-vnc'.
 
-7 BLOCK_IO_ERROR
+Note: This event is emitted before any authentication takes place, thus
+the authentication ID is not provided.
+
+VNC_DISCONNECTED
 ----------------
 
-Description: Issued when a disk I/O error occurs
+Emitted when the conection is closed.
+
 Data:
 
-- 'device': device name (json-string)
-- 'operation': I/O operation (json-string, "read" or "write")
-- 'action': action that has been taken, it's one of the following:
-    "ignore": error has been ignored
-    "report": error has been reported to the device
-    "stop": error caused VM to be stopped
+- "server": Server information (json-object)
+  - "host": IP address (json-string)
+  - "service": port number (json-string)
+  - "family": address family (json-string, "ipv4" or "ipv6")
+  - "auth": authentication method (json-string, optional)
+- "client": Client information (json-object)
+  - "host": IP address (json-string)
+  - "service": port number (json-string)
+  - "family": address family (json-string, "ipv4" or "ipv6")
+  - "x509_dname": TLS dname (json-string, optional)
+  - "sasl_username": SASL username (json-string, optional)
 
 Example:
 
-{ "event": "BLOCK_IO_ERROR",
-    "data": { "device": "ide0-hd1",
-              "operation": "write",
-              "action": "stop" },
-    "timestamp": { "seconds": 1265044230, "microseconds": 450486 } }
+{ "event": "VNC_DISCONNECTED",
+    "data": {
+        "server": { "auth": "sasl", "family": "ipv4",
+                    "service": "5901", "host": "0.0.0.0" },
+        "client": { "family": "ipv4", "service": "58425",
+                    "host": "127.0.0.1", "sasl_username": "luiz" } },
+    "timestamp": { "seconds": 1262976601, "microseconds": 975795 } }
+
+VNC_INITIALIZED
+---------------
+
+Emitted after authentication takes place (if any) and the VNC session is
+made active.
+
+Data:
+
+- "server": Server information (json-object)
+  - "host": IP address (json-string)
+  - "service": port number (json-string)
+  - "family": address family (json-string, "ipv4" or "ipv6")
+  - "auth": authentication method (json-string, optional)
+- "client": Client information (json-object)
+  - "host": IP address (json-string)
+  - "service": port number (json-string)
+  - "family": address family (json-string, "ipv4" or "ipv6")
+  - "x509_dname": TLS dname (json-string, optional)
+  - "sasl_username": SASL username (json-string, optional)
+
+Example:
+
+{ "event": "VNC_INITIALIZED",
+    "data": {
+        "server": { "auth": "sasl", "family": "ipv4",
+                    "service": "5901", "host": "0.0.0.0"},
+        "client": { "family": "ipv4", "service": "46089",
+                    "host": "127.0.0.1", "sasl_username": "luiz" } },
+        "timestamp": { "seconds": 1263475302, "microseconds": 150772 } }