Q: What is the difference between
nova-xvpvncproxy
andnova-novncproxy
?A:
nova-xvpvncproxy
, which ships with nova, is a proxy that supports a simple Java client.nova-novncproxy
uses noVNC to provide VNC support through a web browser.Q: I want VNC support in the Dashboard. What services do I need?
A: You need
nova-novncproxy
,nova-consoleauth
, and correctly configured compute hosts.Q: When I use nova get-vnc-console or click on the VNC tab of the Dashboard, it hangs. Why?
A: Make sure you are running
nova-consoleauth
(in addition tonova-novncproxy
). The proxies rely onnova-consoleauth
to validate tokens, and waits for a reply from them until a timeout is reached.Q: My VNC proxy worked fine during my all-in-one test, but now it doesn't work on multi host. Why?
A: The default options work for an all-in-one install, but changes must be made on your compute hosts once you start to build a cluster. As an example, suppose you have two servers:
PROXYSERVER (public_ip=172.24.1.1, management_ip=192.168.1.1) COMPUTESERVER (management_ip=192.168.1.2)
Your
nova-compute
configuration file must set the following values:# These flags help construct a connection data structure vncserver_proxyclient_address=192.168.1.2 novncproxy_base_url=http://172.24.1.1:6080/vnc_auto.html xvpvncproxy_base_url=http://172.24.1.1:6081/console # This is the address where the underlying vncserver (not the proxy) # will listen for connections. vncserver_listen=192.168.1.2
Note novncproxy_base_url
andxvpvncproxy_base_url
use a public IP; this is the URL that is ultimately returned to clients, which generally do not have access to your private network. Your PROXYSERVER must be able to reachvncserver_proxyclient_address
, because that is the address over which the VNC connection is proxied.Q: My noVNC does not work with recent versions of web browsers. Why?
A: Make sure you have installed
python-numpy
, which is required to support a newer version of the WebSocket protocol (HyBi-07+).Q: How do I adjust the dimensions of the VNC window image in the OpenStack dashboard?
A: These values are hard-coded in a Django HTML template. To alter them, edit the
_detail_vnc.html
template file. The location of this file varies based on Linux distribution. On Ubuntu 12.04, the file is at/usr/share/pyshared/horizon/dashboards/nova/instances/templates/instances/_detail_vnc.html
.Modify the
width
andheight
options, as follows:<iframe src="{{ vnc_url }}" width="720" height="430"></iframe>