Add and document $NOVA_VNC_ENABLED for forcing VNC on

This allows multinode setups to function correctly without enabling the
unneeded n-novnc and n-xvnc services on pure compute nodes.

Change-Id: Ie02734bb598d27560cf5d674c9e1d9b8dca3801f
Closes-Bug: 1342155
diff --git a/lib/nova b/lib/nova
index 6b1afd9..be4e0f9 100644
--- a/lib/nova
+++ b/lib/nova
@@ -88,6 +88,10 @@
     | grep ^[ep] \
     | head -1)
 
+# $NOVA_VNC_ENABLED can be used to forcibly enable vnc configuration.
+# In multi-node setups allows compute hosts to not run n-novnc.
+NOVA_VNC_ENABLED=$(trueorfalse False $NOVA_VNC_ENABLED)
+
 # Get hypervisor configuration
 # ----------------------------
 
@@ -492,7 +496,7 @@
         iniset $NOVA_CONF spice html5proxy_base_url "$SPICEHTML5PROXY_URL"
     fi
 
-    if is_service_enabled n-novnc || is_service_enabled n-xvnc; then
+    if is_service_enabled n-novnc || is_service_enabled n-xvnc || [ "$NOVA_VNC_ENABLED" != False ]; then
         # Address on which instance vncservers will listen on compute hosts.
         # For multi-host, this should be the management ip of the compute host.
         VNCSERVER_LISTEN=${VNCSERVER_LISTEN=127.0.0.1}