HTML5 SPICE console in OpenStack

The OpenStack dashboard (Horizon) sports several protocols to access consoles of OpenStack instances (virtual machines). The most commonly used is VNC. However, VNC has problems of its own: it doesn’t work very well with slow, or high-latency connections. Here’s where SPICE comes into rescue:

The Spice project aims to provide a complete open source solution for interaction with virtualized desktop devices…

In order to enable the HTML5 SPICE client in OpenStack Horizon, you can follow the instructions in the SPICE console OpenStack documentation. Basically, it all boils down to:

  1. Install the spice-html5 package
  2. Disable VNC support, configure and enable SPICE in /etc/nova/nova.conf
  3. Restart relevant services
# yum install -y spice-html5

Next, disable VNC support, configure and enable SPICE in /etc/nova/nova.conf:

# cat /etc/nova/nova.conf
[DEFAULT]
...
web=/usr/share/spice-html5


#
# Options defined in nova.cmd.novncproxy
#

# Host on which to listen for incoming requests (string value)
novncproxy_host=0.0.0.0

# Port on which to listen for incoming requests (integer
# value)
novncproxy_port=6080


#
# Options defined in nova.cmd.spicehtml5proxy
#

# Host on which to listen for incoming requests (string value)
spicehtml5proxy_host=0.0.0.0


# Port on which to listen for incoming requests (integer
# value)
spicehtml5proxy_port=6082

...

# Disable VNC
vnc_enabled=false

[spice]

#
# Options defined in nova.spice
#

# Location of spice HTML5 console proxy, in the form
# "http://127.0.0.1:6082/spice_auto.html" (string value)
html5proxy_base_url=http://my.host.com:6082/spice_auto.html

# IP address on which instance spice server should listen
# (string value)
server_listen=0.0.0.0

# The address to which proxy clients (like nova-
# spicehtml5proxy) should connect (string value)
server_proxyclient_address=127.0.0.1

# Enable spice related features (boolean value)
enabled=true

# Enable spice guest agent support (boolean value)
agent_enabled=true

# Keymap for spice (string value)
keymap=en-us

...

And finally:

# service httpd restart
# service openstack-nova-compute restart
# service openstack-nova-spicehtml5proxy start
# chkconfig openstack-nova-spicehtml5proxy on

One thought on “HTML5 SPICE console in OpenStack

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s