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/docs/source/guides/multinode-lab.html b/docs/source/guides/multinode-lab.html
index 2e52379..a286954 100644
--- a/docs/source/guides/multinode-lab.html
+++ b/docs/source/guides/multinode-lab.html
@@ -184,7 +184,13 @@
MYSQL_HOST=192.168.42.11
RABBIT_HOST=192.168.42.11
GLANCE_HOSTPORT=192.168.42.11:9292
-ENABLED_SERVICES=n-cpu,n-net,n-api,c-sch,c-api,c-vol</pre>
+ENABLED_SERVICES=n-cpu,n-net,n-api,c-sch,c-api,c-vol
+NOVA_VNC_ENABLED=True
+NOVNCPROXY_URL="http://192.168.42.11:6080/vnc_auto.html"
+VNCSERVER_LISTEN=$HOST_IP
+VNCSERVER_PROXYCLIENT_ADDRESS=$VNCSERVER_LISTEN
+</pre>
+
<!-- save for vlan
FLAT_INTERFACE=eth0.926
-->
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}