NetworkService
This blueprint is being redrafted. Ewan Mellor will be happy to hear from you if you wish to contribute. Nothing here is committed.
There is a Discussion section at the end of this blueprint. Please feel free to put comments there.
- Launchpad Nova blueprint: NovaSpec:network-service
- Created: 31 January 2011
- Last updated: 24 March 2011
- Drafter: Ewan Mellor
- Contributors: Ilya Alekseyev, Patrick Ancillotti, Andrey Brindeyev, Erik Carlin, Rick Clark, Dan Mihai Dumitriu, Ram Durairaj, Søren Hansen, Koji Iida, Hisaharu Ishii, Masanori Itoh, Adam Johnson, Youcef Laribi, Romain Lenglet, Brad McConnell, Eldar Nugaev, Salvatore Orlando, John Purrier, Andy Smith, Troy Toman, Dan Wendlandt, Zhixue Wu
<<TableOfContents()>>
Glossary
openstack-NaaS: The customer-facing service proposed by this blueprint. This distinguishes it from the existing nova-network.
Core NaaS: Core services that should be provided by openstack-NaaS in order to ensure basic connectivity.
Higher Layer NaaS services: L3/L7 network services which might be provided by NaaS, i.e.: that are not strictly necessary to ensure basic connectivity.
The OpenStack NaaS API: The customer-facing API exposed by openstack-NaaS.
VIF: Virtual InterFace. A VM's network interface. Also known as a vNIC.
Summary
The goal of this blueprint is to add a first-class, customer-facing service for the management of network infrastructure within an OpenStack cloud. This will allow service providers to offer "Networking as a Service" (NaaS) to their customers.
This blueprint is divided in two parts:
- Core NaaS: discusses goals, use cases, requirements and design ideas for features and capabilities to enable in openstack-NaaS in order to be able to create and manage networks intended as collection of ports with shared connectivity
- Higher-Layer NaaS: discusses goals, uses cases, requirements, and design ideas for features to enable in openstack-NaaS in order to be able to provide customers with L3/L7 networks services such as Firewalls, VPN access and Load Balancing.
Pre-requisites
Multiple VIFs per VM. Not in OpenStack in Cactus, but expected to be added to Nova through NovaSpec:multi-nic and NovaSpec:multinic-libvirt for Diablo. This is required for all supported virtualization technologies (KVM/libvirt, XenAPI, Hyper-V, ESX).
Development Resources
No commitments have been made yet, but development resources have been offered by Citrix, Grid Dynamics, NTT, Midokura, and Rackspace.
We will sort out how to share the development burden when this specification is nearer completion.
Work in Progress
Erik Carlin is working on a draft spec for the OpenStack Networking API.
Some POC code is being worked on at lp:~ntt-pf-lab/nova/network-service, wiki page available at http://wiki.openstack.org/NetworkServicePOC
Cisco has also proposed a blueprint around Openstack-NaaS: https://blueprints.launchpad.net/nova/+spec/netcontainers
Discussion
Etherpad from discussion session at Bexar design summit: http://etherpad.openstack.org/i5aSxrDeUU
Etherpad from alternative discussion session at Bexar design summit: http://etherpad.openstack.org/6tvrm3aEBt
Slide deck from discussion session at Bexar design summit: http://www.slideshare.net/danwent/bexar-network-blueprint