Hyper-V RDP console access

Registered by Alessandro Pilotti

Hyper-V, unlike the majority of the hypervisors employed on Nova compute nodes, uses RDP instead of VNC as a desktop sharing protocol to provide instance console access, which means that novnc / xvpvnc are not a viable options for providing console connections to Hyper-V hosted instances.


1) Add Hyper-V RDP console access support to Openstack
2) From a user perspective, console access should be handled in a way as consistent as possible between hypervisors.

User oriented docs: http://wiki.cloudbase.it/nova-rdp

Blueprint information

Russell Bryant
Alessandro Pilotti
Alessandro Pilotti
Series goal:
Accepted for icehouse
Milestone target:
milestone icon 2014.1
Started by
Russell Bryant
Completed by
Joe Gordon

Related branches



nova-core sponsors: russellb

I'm happy with the design direction this has taken. The biggest thing missing before I think we can approve it is some clear user-level documentation for the openstack docs team to consume. It can be on a wiki page linked from this blueprint. Ping me when something is written up and I can approve this. --russellb


We already implemented a working HTML5/Websocket RDP console prototype based on extensions provided to FreeRDP-WebConnect. From a feature perspective, the implementation is consistent with the existing novnc console access.

There are a few areas that need to be discussed:

1) nova-consoleauth token validation uses Nova internal RPC APIs. A public (REST) API for token validation is required to allow external components (e.g. FreeRDP-WebConnect) to manage console access consistently.

2) There's currently a very tight coupling between console features and protocols, leading to a proliferation of methods in the compute drivers (get_vnc_console, get_spice_console). It would be detrimental to add another implementation (e.g. get_rdp_console) instead of thinking about some form of refactoring. The RDP console can be easily managed by providing a "get_vnc_console" implementation, but the name should be changed in order to guarantee consistency and to decouple the feature from the protocol.

User level documentation: http://wiki.cloudbase.it/nova-rdp

API Documentation: http://wiki.cloudbase.it/nova-rdp-api

Gerrit topic: https://review.openstack.org/#q,topic:bp/hyper-v-rdp-console,n,z

Addressed by: https://review.openstack.org/41265
    Adds get_console_connect_info API

Addressed by: https://review.openstack.org/43312
    Hyper-V driver RDP console access support

Addressed by: https://review.openstack.org/39195
    Improves Hyper-V vmutils module for subclassing

Addressed by: https://review.openstack.org/38160
    Adds support for Hyper-V WMI V2 namespace

Addressed by: https://review.openstack.org/43502
    Adds RDP console support

Deferred to icehouse-3 as the blueprint was not approved by the icehouse-2 blueprint approval deadline. --russellb

One last patch:

Addressed by: https://review.openstack.org/41265
    Adds get_console_connect_info API

Moving to medium as it would be bad not to have this feature for the sake of this one patch!! --johnthetubaguy (28th Feb 14)

Marking as Implemented, the final patch has merged. jogo (3 Mar 14)


Work Items

This blueprint contains Public information 
Everyone can see this information.


No subscribers.