This is an old revision of the document!
Nova currently provides support for VNC and SPICE graphical consoles. VNC in particular is the protocol employed natively by most popular hypervisors supported by Nova. Microsoft Hyper-V in this context is a remarkable exception, as it employs the Remote Desktop Protocol (RDP) for graphical console access, based on Open Specifications and implemented by various open source projects.
Here's an example video showing an HTML5 RDP console based on FreeRDP.
RDP console configuration is quite straightforward. All you need to do is to add the following configuration settings in your Hyper-V compute node's nova.conf:
[rdp] enabled=True html5proxy_base_url=http://192.168.209.135:8888/
Where the url specified in the html5proxy_base_url setting is provided by the FreeRDP HTML5 proxy as detailed in the next section.
The FreeRDP HTML5 proxy can be installed on various Linux distributions (currently Ubuntu >= 12.04, RHEL 6.x / CentOS 6.x and Fedora >= 16) or on Microsoft Windows, including also Hyper-V Server.
A shell script is provided to simplify the installation of the application and the dependencies, mostly available in source form only.
sudo apt-get install -y git git clone https://github.com/cloudbase/FreeRDP-WebConnect.git cd FreeRDP-WebConnect sudo ./nstall_prereqs.sh ./setup_all.sh
At this point the proxy, called wsgate can be installed by running:
sudo make install
The default configuration file is located here:
/usr/local/etc/wsgate.ini
Change the following options to match your environment configuration:
[global] port = 8000
[openstack]
authurl = http://10.0.0.1:5000/v2.0 username = admin password = secret tenantname = admin
[hyperv]
# Credentials used to connect to the Hyper-V hosts when accessing # OpenStack instances consoles
hostusername = Administrator hostpassword = secret
It is also strongly recommended to encrypt the traffic using HTTPS. Here are the relevant parameters, including a PEM file containing both the certificate and the private key.
[ssl] port = 4430 certfile = /usr/local/etc/wsgate/test.pem certpass = verysecret