==== Project Name: ==== * Proposed name for the project: ''OVN for NFV'' * Proposed name for the repository: ''ovn4nfv'' * Project Categories: Collaborative Development ==== Project description: ==== * This project will enable Open Virtual Networks (OVN) as another option for network control in OPNFV. The open source projects OVN and the OpenStack neutron plugin networking-ovn will be integrated with OPNFV. This collaborative development project will work with the OVN and OpenStack/networking-ovn projects to develop any missing features which are required for OPNFV. ==== Scope: ==== === Problem Statement === OVN complements the existing capabilities of OVS to add native support for virtual network abstractions such as virtual L2 & L3 overlays, L3 routing and security groups. Instead of treating ovsdb and Open Flow actions separately, OVN provides simpler interface for managing virtual networks. Besides the simpler interface, OVN takes care of transforming simple flow rules of virtual network to complex Open Flow rules on the Open vSwitches involved. The Openstack project networking-ovn implements the neutron api using OVN. As part of ovn4nfv project we would like to enable OVN along with the openstack neutron plugin networking-ovn as a deployable network control component in the OPNFV build. This would make it easier to manage virtual networks and push more of network intelligence to the edge onto the compute nodes. Since OVN has inherent support for containers, this would allow OPNFV to orchestrate container VNFs. Further this will make the controller architecture much more simpler and scalable by placing the controller (ovn-controller) next to the Open vSwitch === Test and Benchmarking === Integration will require that all relevant functional tests which pass in the OPNFV test infrastructure will also pass when OVN is deployed. The OPNFV functest project will report any gaps in features. === Feature Development === If any gap in functionality or performance is identified during the Test and Benchmarking phase, those features will be developed and upstreamed into the projects openstack/networking-ovn and OVN. === Future Work === When OVN is available as a deployment option in OPNFV, it is envisaged that further development activities will be required such as: - Features and bugfixes may be required for continued support of the OVN as a deployable build option within the OPNFV build. - As NFVI Networking feature requirements become apparent, from OPNFV functest for example, this project will collate these requirements in order to drive their development into the projects openstack/networking-ovn projects and OVN. - May involve changes to upstream projects to facilitate development of features such Distributed Virtual Routing (DVR), Service Function Chaining (SFC), VPN, multisite networking. - Will work to address the requests from the OPNFV requirement projects such as vnf_forwarding_graph and multisite ==== Testability ==== This project plans to leverage existing test infrastructure. * All relevant functest test cases that successfully complete will be required to complete when OVN is enabled. ===== Documentation ===== For any additional functionality required in openstack/networking-ovn and OVN, the relevant project's documentation will need to be updated (e.g. man pages, install guides, etc) Relevant OPNFV release documentation will also need to be updated: * User Guide * Function Test Guide * Automated deployment guide * OPNFV Release Notes * OPNFV Installation Guide ==== Dependencies: ==== * There are currently no similar projects underway in OPNFV or in upstream project. * The relevant upstream project that will need to be influenced here are openstack/networking-ovn and OVN. * In terms of HW dependencies, the aim is to use OPNFV Pharos compatible infrastructure. ==== Committers and Contributors: ==== * Vikram Dham (nvirters.com) * Russell Bryant (RedHat) * Kyle Mestery (IBM) * Lingli Deng (China Mobile) * Gal Sagie (Huawei) * Wenjing Chu (Dell) * Murali Rangachari (Huawei) * Zhao Jin (ZTE) * Li Weimin (ZTE) ==== Planned deliverables ==== * Modifications to the OPNFV genesis repository. * Packaged version of the standard Openvswitch with OVN configuration and openstack/networking-ovn as a neutron plugin for deployment on Pharos-compliant systems. * Code delivered into the upstream openstack/networking-ovn and openvswitch.org project enabling functionality required for OPNFV - such as SFC, L2 & L3 overlays. * Test report showing compliance with OPNFV test infrastructure ==== Proposed Release Schedule: ==== * First release will be part of OPNFV C release * Will need to be synchronized with networking-ovn neutron plugin and OVN release cycles ==== Documents: ==== OVN for OPNFV at OPNFV Design Summit, Nov, 2015 - https://wiki.opnfv.org/_media/events/ovn-opnfv-summit2015.pdf ==== References: ==== * http://benpfaff.org/~blp/dist-docs/ovn-architecture.7.html * http://docs.openstack.org/developer/networking-ovn/readme.html * http://docs.openstack.org/developer/networking-sfc/api.html * http://www.etsi.org/deliver/etsi_gs/nfv/001_099/002/01.01.01_60/gs_nfv002v010101p.pdf ===== Key Project Facts ===== ** Project Name: ** OVN for NFV (ovn4nfv) \\ ** Repo name: ** ovn4nfv \\ ** Project Category: ** Collaborative Development \\ ** Lifecycle State: ** Proposal \\ ** Primary Contact: ** Vikram Dham (Dell Research) \\ ** Project Lead: ** TBD \\ ** Jira Project Name: ** ovn4nfv \\ ** Jira Project Prefix: ** [ovn4nfv] \\ ** mailing list tag ** [ovn4nfv] \\ ** Committers: ** \\ vikram@nvirters.com \\ rbryant@redhat.com \\ gal.sagie@gmail.com \\ Wenjing_Chu@DELL.com \\ muralirdev@gmail.com \\ zhao.jin2@zte.com.cn \\ li.weimin3@zte.com.cn \\ ** Link to TSC approval: TBD ** \\ ** Link to approval of additional submitters: ** \\