atom feed1 message in net.launchpad.lists.openstack[Openstack] Introducing the Hyper-V Q...
FromSent OnAttachments
Alessandro PilottiJan 6, 2013 8:08 am 
Subject:[Openstack] Introducing the Hyper-V Quantum plugin
From:Alessandro Pilotti (
Date:Jan 6, 2013 8:08:46 am

As part of our ongoing work to bring OpenStack to Hyper-V and Windows, after the
Nova Hyper-V driver, Cinder Windows Storage driver and Cloud-Init for Windows
guests we just released a Quantum plugin for Hyper-V 2008 R2 and 2012.

The current initial release of the plugin supports VLAN, flat and local
networking. Support for NVGRE networking is also ready and will be released in a subsequent

The plugin contains two main components: The plugin itself, to be executed on Linux or Windows The L2 agent, to be executed on each Hyper-V node L3 networking is currently handled on Linux with the existing agents.

A Nova Quantum Vif plugin is included in the Nova project as well.

Gerrit review link:

As stated in the commit text, only the Hyper-V agent needs to be executed on a
node running the free Hyper-V 2008 R2 / 2012 or Windows Server 2008 R2 / 2012.
The plugin can be executed on Linux (e.g. any standard Devstack environment). I'd be glad to help anybody who would like to help in reviewing or testing to
get the setup done.

A detailed blog post on how to setup Quantum on Hyper-V is going to follow up on
our website ASAP:

Temporary WIP Quantum external repo: Temporary WIP Nova external repo for Quantum Vif plugin:

Here are the plugin specific configuration options. We kept them as close as
possible to the ones used by the OVS plugin in order to provide a consistent

quantum-server configuration:



# Network type for tenant networks (local, flat, vlan, gre, or none) tenant_network_type=vlan

# List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> network_vlan_ranges=external:1000:2000


# Same parameters used by the OVS plugin, e.g.: sql_connection = mysql://root:password@server/hyperv_quantum

Agent configuration


# List of <physical_network>:<vswitch> where the physical networks can be
expressed with wildcards, e.g.: .\"*:external\" # If a given physical network doesn't match, the agent will look for a virtual
switch with the same name as the physical network # The following basic example matches any physical network on an external
virtual switch named "external" physical_network_vswitch_mappings=*:external

# Private vswitch name used for local networks local_network_vswitch=private

As usual feedback, comments and suggestions are highly welcome! :-)

2012 was an amazing year for us and 2013 looks even better, which means that our
OpenStack contribution efforts are even going to increase! :-)

A big thanks goes to Pedro Navarro Perez (pnavarro) for his great contributions
and help!


------------------------------------- MVP ASP.Net / IIS Windows Azure Insider Red Hat Certified Engineer