← Back to team overview

openstack team mailing list archive

Introducing the Hyper-V Quantum plugin

 

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 patch.

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: https://review.openstack.org/#/c/18989/ 

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: http://www.cloudbase.it/

Temporary WIP Quantum external repo: https://github.com/alexpilotti/quantum
Temporary WIP Nova external repo for Quantum Vif plugin: https://github.com/alexpilotti/nova


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 environment.

quantum-server configuration:

[DEFAULT]

core_plugin=quantum.plugins.hyperv.hyperv_quantum_plugin.HyperVQuantumPlugin

# 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

[DATABASE]

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

Agent configuration

[AGENT]

# 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!


Thanks,

Alessandro Pilotti
Cloudbase Solutions | CEO
-------------------------------------
MVP ASP.Net / IIS
Windows Azure Insider
Red Hat Certified Engineer 
-------------------------------------