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:04] admin |
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 | ||