This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
nova-rdp [2013/12/23 02:46] admin [Nova RDP Support] |
nova-rdp [2014/06/12 19:37] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Nova RDP Support====== | + | ====== Nova RDP Support |
Nova currently provides support for [[http:// | Nova currently provides support for [[http:// | ||
- | ===== Getting | + | [[http:// |
- | Nova includes internally the required proxy solutions for VNC (novnc, xvpvnc) and SPICE, but this is not the case for RDP. Beside that, it's also desirable to leave to third party the ability to choose a custom graphical console UI solution not necessarily included with Nova. A public API has been provided to retrieve the relevant information by providing a valid console authentication token. | ||
- | ==== Get console connection info: V2 API ==== | + | ---- |
+ | ===== Configuring Nova for RDP support ===== | ||
- | ^Verb ^URI ^Description ^ | + | RDP console |
- | |GET |/console-auth-tokens/ | + | |
- | Normal Response Code(s): 200 | + | [rdp] |
+ | enabled=True | ||
+ | html5_proxy_base_url=http:// | ||
+ | |||
+ | Where the url specified in the **html5_proxy_base_url** setting is provided by the FreeRDP HTML5 proxy as detailed in the next section. | ||
- | Error Response Code(s): badRequest (400), unauthorized (401), itemNotFound (404) | + | ===== Installing and configuring the FreeRDP HTML5 proxy ===== |
+ | 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 Hyper-V Server. | ||
- | ==== Example. Get console connection request: XML ==== | + | ==== Ubuntu 12.04 and above ==== |
- | <code xml> | + | A shell script is provided to simplify the installation of the application and the dependencies, |
- | <?xml version=" | + | |
- | < | + | |
- | </ | + | |
- | ==== Example. Get console connection request: JSON ==== | + | sudo apt-get install -y git |
+ | git clone https:// | ||
+ | cd FreeRDP-WebConnect | ||
+ | sudo ./setup_all.sh -f -i | ||
+ | |||
+ | At this point the proxy, called **wsgate** can be installed by running: | ||
- | <code javascript> | + | sudo make install |
- | { | + | |
- | " | + | |
- | } | + | |
- | </ | + | |
- | ==== Example. Get console connection response: XML ==== | + | ==== wsgate configuration |
- | <code xml> | + | The default configuration file is located here: |
- | <?xml version=' | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | </ | + | |
- | </ | + | |
- | ==== Example. Get console connection response: JSON ==== | + | / |
+ | |||
+ | Change the following options to match your environment configuration: | ||
- | <code javascript> | + | [global] |
- | { | + | port = 8000 |
- | | + | |
- | " | + | |
- | " | + | |
- | "port": 3389, | + | |
- | " | + | |
- | } | + | |
- | } | + | |
- | </ | + | |
- | ==== Get console connection info: V3 API ==== | + | Note: make sure to open the port in your operating system firewall. |
- | ^Verb ^URI ^Description ^ | + | [openstack] |
- | |GET |/servers/id/action |gets the connection info for the specified server. | | + | |
+ | username = admin | ||
+ | password = secret | ||
+ | tenantname = admin | ||
- | Normal Response Code(s): 200 | + | [hyperv] |
+ | # Credentials used to connect to the Hyper-V hosts when accessing | ||
+ | # OpenStack instances consoles | ||
- | Error Response Code(s): badRequest (400), unauthorized (401), itemNotFound (404) | + | hostusername = Administrator |
+ | hostpassword = secret | ||
- | ==== Example. Get console connection request: XML ==== | + | 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. |
- | <code xml> | + | [ssl] |
- | <?xml version=" | + | |
- | < | + | |
- | </code> | + | certpass = verysecret |
- | ==== Example. Get console connection request: JSON ==== | + | HTML, CSS and Javascript files are available at the following location for further customization: |
- | <code javascript> | + | |
- | { | + | |
- | " | + | |
- | } | + | |
- | </code> | + | |
- | ==== Example. Get console connection response: XML ==== | + | ==== Running wsgate |
+ | |||
+ | wsgate can be executed as a demon with the following instruction: | ||
- | Same output as in the [[nova-rdp#Example. Get console connection response: XML|V2 API example]] | + | wsgate |
- | + | ||
- | ==== Example. Get console connection response: JSON ==== | + | |
- | + | ||
- | Same output as in the [[nova-rdp# | + | |
+ | In case you should prefer to execute wsgate in a shell for debugging purposes, just set: | ||
+ | [global] | ||
+ | daemon = false | ||