Hyper-V VIF for Open vSwitch
Description
=========
Thanks to the Open vSwitch (OVS) porting to Hyper-V, it's now possible to employ a common SDN solution across different hypervisors (e.g. KVM, Hyper-V, ESXi) in a single OpenStack deployment.
Enabling OVS on Hyper-V consists in adding a simple VIF driver to the Nova Hyper-V compute driver responsible for creating the OVS port and the related association with the Hyper-V virtual switch port.
Subsequent flow rules configurations can be performed via the OVSDB protocol either by an external controller when used in conjunction with the NSX or OpenDaylight Neutron plugins / mechanism drivers or by a local Neutron L2 OVS agent in the case of the Neutron OVS plugin.
Implementation
============
A preliminary implementation is available at [1].
The VIF driver can inherit from the HyperVBaseVIFDriver class, following an approach similar to the existing nova-network and Neutron Hyper-V VIF drivers. The implementation is completely decoupled from the Nova driver. The specific VIF class to be used can be specified through a config option in the [hyperv] section of nova.conf.
The associated OVS ports must be created when new virtual NICs attached and during the migration / live migration of an instance to other hosts.
The associated OVS ports must be deleted when virtual NICs are detached and after a migration / live migration.
Dependencies
===========
The only relevant dependency is the OVS Hyper-V port. See [2] and [3].
This feature does not depend on any Neutron component to be fully functional.
Testing
======
Testing will be performed by the Hyper-V CI.
No additional Tempest tests are needed.
Notes
=====
Neutron OVS plugin's L2 agent Hyper-V porting:
https:/
References
=========
[1] https:/
[2] https:/
[3] http://
Blueprint information
- Status:
- Complete
- Approver:
- Michael Still
- Priority:
- Medium
- Drafter:
- Alessandro Pilotti
- Direction:
- Approved
- Assignee:
- Gabriel Samfira
- Definition:
- Approved
- Series goal:
- Accepted for ocata
- Implementation:
- Implemented
- Milestone target:
- ocata-3
- Started by
- Alessandro Pilotti
- Completed by
- Matt Riedemann
Related branches
Related bugs
Sprints
Whiteboard
Before approving this, we would need a few more details on test commitments, and the neutron dependencies should be approved, and we should the use of the existing neutron interface, etc. --johnthetubaguy 30th October 2014
Blueprint details added. There are no dependencies requirements on the Neutron side for the NSX and OpenDaylight use cases, since the related Neutron plugins / agents will manage the Hyper-V compute hosts remotely via OVSDB. -- alexpilotti 23rd November 2014
Trivial approval at Nova meeting 4 December 2014 -- mikalstill
Not enough positive reviews on this code for it to make kilo-1, moving to kilo-2 --johnthetubaguy 17th December 2014
Sorry, we have now hit the non-priority feature freeze for kilo. Please resubmit your spec for the L release. --johnthetubaguy 5th Feb 2015
Reapprove for liberty --johnthetubaguy 16th April 2015
Sorry, we have now hit the non-priority feature freeze for Liberty. You will need to resubmit this blueprint for Mitaka or apply for an exception. For more details on why this is happening, and the rest of the process details, please see: https:/
--johnthetubaugy 4th August 2015
Reapprove for mitaka --johnthetubaguy 7th October 2015
Pending patches
-------
Gerrit topic: https:/
Addressed by: https:/
Add Hyper-V OVS ViF driver
Addressed by: https:/
Moves OVS related code to a common location
Gerrit topic: https:/
As the code is not ready for review, removing this blueprint from mitaka, as part of the non-priority Feature Freeze. For more details please see: http://
Addressed by: https:/
Hyper-V: Converts vifs to os-vif objects
Re-approved for Ocata as a specless feature parity blueprint for Hyper-v. -- mriedem 20160923
Work Items
Dependency tree
* Blueprints in grey have been implemented.