From 46ab58d453b7d8146335a37d51e93ce674a40d7c Mon Sep 17 00:00:00 2001
From: Michael Hanselmann <hansmi@google.com>
Date: Thu, 14 Feb 2013 16:38:10 +0100
Subject: [PATCH] RAPI documentation: Assertion for console fields

Assert that the documented fields are equal to those in the actual
object.

Signed-off-by: Michael Hanselmann <hansmi@google.com>
Reviewed-by: Guido Trotter <ultrotter@google.com>
---
 doc/rapi.rst            | 14 ++++++++++++++
 lib/build/sphinx_ext.py |  3 ++-
 2 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/doc/rapi.rst b/doc/rapi.rst
index 11c64c15a..04439f266 100644
--- a/doc/rapi.rst
+++ b/doc/rapi.rst
@@ -1373,6 +1373,20 @@ console. Contained keys:
      constants.CONS_SPICE,
      ])
 
+.. pyassert::
+
+  frozenset(objects.InstanceConsole.GetAllSlots()) == frozenset([
+    "command",
+    "display",
+    "host",
+    "instance",
+    "kind",
+    "message",
+    "port",
+    "user",
+    ])
+
+
 ``instance``
   Instance name
 ``kind``
diff --git a/lib/build/sphinx_ext.py b/lib/build/sphinx_ext.py
index d72bc9777..30e733e3b 100644
--- a/lib/build/sphinx_ext.py
+++ b/lib/build/sphinx_ext.py
@@ -54,6 +54,7 @@ from ganeti import opcodes
 from ganeti import ht
 from ganeti import rapi
 from ganeti import luxi
+from ganeti import objects
 from ganeti import _autoconf
 
 import ganeti.rapi.rlib2 # pylint: disable=W0611
@@ -85,7 +86,7 @@ COMMON_PARAM_NAMES = _GetCommonParamNames()
 
 #: Namespace for evaluating expressions
 EVAL_NS = dict(compat=compat, constants=constants, utils=utils, errors=errors,
-               rlib2=rapi.rlib2, luxi=luxi, rapi=rapi)
+               rlib2=rapi.rlib2, luxi=luxi, rapi=rapi, objects=objects)
 
 # Constants documentation for man pages
 CV_ECODES_DOC = "ecodes"
-- 
GitLab