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 03:06] admin [Example. Get RDP console URL request: XML] |
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:// |
| - | This requires a public API which is symmetric with the VNC and SPICE ones. | ||
| - | ==== Get an RDP console URL: V2 API ==== | + | ---- |
| + | ===== Configuring Nova for RDP support ===== | ||
| - | ^Verb ^URI ^Description ^ | + | RDP console |
| - | |GET |/ | + | |
| - | === Example. Get RDP console URL request: XML === | + | [rdp] |
| + | enabled=True | ||
| + | html5_proxy_base_url=http://10.0.0.1:8000/ | ||
| + | |||
| + | Where the url specified in the **html5_proxy_base_url** setting is provided by the FreeRDP HTML5 proxy as detailed in the next section. | ||
| - | <code xml> | + | ===== Installing and configuring the FreeRDP HTML5 proxy ===== |
| - | <?xml version=" | + | |
| - | < | + | |
| - | </ | + | |
| - | ==== Example. Get RDP console URL request: JSON ==== | + | 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. |
| - | <code javascript> | + | ==== Ubuntu 12.04 and above ==== |
| - | { | + | |
| - | " | + | |
| - | " | + | |
| - | } | + | |
| - | } | + | |
| - | </ | + | |
| - | ==== Example. Get RDP console URL response: XML ==== | + | A shell script is provided to simplify the installation of the application and the dependencies, |
| - | <code xml> | + | sudo apt-get install |
| - | <?xml version=' | + | git clone https://github.com/FreeRDP/ |
| - | < | + | cd FreeRDP-WebConnect |
| - | < | + | sudo ./ |
| - | < | + | |
| - | | + | At this point the proxy, called **wsgate** can be installed by running: |
| - | </ | + | |
| - | ==== Example. Get RDP console URL response: JSON ==== | + | sudo make install |
| - | <code javascript> | + | ==== wsgate configuration ==== |
| - | { | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | } | + | |
| - | } | + | |
| - | </ | + | |
| - | ==== Get an RDP console URL: V3 API ==== | + | The default configuration file is located here: |
| - | ^Verb ^URI ^Description ^ | + | |
| - | |GET |/v3/servers/{id}/action |Gets the URL for accessing the RDP console. | | + | |
| + | Change the following options to match your environment configuration: | ||
| - | ==== Example. Get RDP console URL request: XML ==== | + | [global] |
| + | port = 8000 | ||
| - | <code xml> | + | Note: make sure to open the port in your operating system firewall. |
| - | <?xml version=" | + | |
| - | < | + | |
| - | </ | + | |
| - | ==== Example. Get RDP console URL request: JSON ==== | + | [openstack] |
| + | authurl | ||
| + | username | ||
| + | password | ||
| + | tenantname | ||
| - | <code javascript> | + | [hyperv] |
| - | { | + | |
| - | | + | |
| - | " | + | |
| - | | + | |
| - | } | + | |
| - | </ | + | |
| - | ==== Example. Get RDP console URL response: XML ==== | + | hostusername |
| + | hostpassword | ||
| - | Same output as in the [[nova-rdp# | + | It is also strongly recommended to encrypt |
| - | ==== Example. Get RDP console URL response: JSON ==== | + | [ssl] |
| + | port = 4430 | ||
| + | certfile | ||
| + | certpass | ||
| - | Same output as in the [[nova-rdp# | + | HTML, CSS and Javascript files are available at the following location for further customization: |
| + | / | ||
| + | ==== Running wsgate ==== | ||
| + | | ||
| + | wsgate can be executed as a demon with the following instruction: | ||
| - | ===== Getting console connection details ===== | + | wsgate -c / |
| - | 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 | + | In case you should prefer |
| - | + | ||
| - | ==== Get console connection info: V2 API ==== | + | |
| - | + | ||
| - | ^Verb ^URI ^Description ^ | + | |
| - | |GET |/ | + | |
| - | + | ||
| - | Normal Response Code(s): 200 | + | |
| - | + | ||
| - | Error Response Code(s): badRequest (400), unauthorized (401), itemNotFound (404) | + | |
| - | + | ||
| - | + | ||
| - | ==== Example. Get console connection request: XML ==== | + | |
| - | + | ||
| - | <code xml> | + | |
| - | <?xml version=" | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | ==== Example. Get console connection request: JSON ==== | + | |
| - | + | ||
| - | <code javascript> | + | |
| - | { | + | |
| - | " | + | |
| - | } | + | |
| - | </ | + | |
| - | + | ||
| - | ==== Example. Get console connection response: XML ==== | + | |
| - | + | ||
| - | <code xml> | + | |
| - | <?xml version=' | + | |
| - | < | + | |
| - | < | + | |
| - | < | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | </ | + | |
| - | + | ||
| - | ==== Example. Get console connection response: JSON ==== | + | |
| - | + | ||
| - | <code javascript> | + | |
| - | { | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | } | + | |
| - | } | + | |
| - | </ | + | |
| - | + | ||
| - | ==== Get console connection info: V3 API ==== | + | |
| - | + | ||
| - | ^Verb ^URI ^Description ^ | + | |
| - | |GET |/ | + | |
| - | + | ||
| - | Normal Response Code(s): 200 | + | |
| - | + | ||
| - | Error Response Code(s): badRequest (400), unauthorized (401), itemNotFound (404) | + | |
| - | + | ||
| - | ==== Example. Get console connection request: XML ==== | + | |
| - | + | ||
| - | <code xml> | + | |
| - | <?xml version=" | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | ==== Example. Get console connection request: JSON ==== | + | |
| - | + | ||
| - | <code javascript> | + | |
| - | { | + | |
| - | " | + | |
| - | } | + | |
| - | </ | + | |
| - | + | ||
| - | ==== Example. Get console connection response: XML ==== | + | |
| - | + | ||
| - | Same output as in the [[nova-rdp# | + | |
| - | + | ||
| - | ==== Example. Get console connection response: JSON ==== | + | |
| - | + | ||
| - | Same output as in the [[nova-rdp# | + | |
| + | [global] | ||
| + | daemon = false | ||