Jump to: navigation, search

Naas

Revision as of 17:26, 27 April 2011 by Uri (talk)

Summary

{1} This is a draft with changes added on top of the NaaS core published few days ago. Changes will be highlighted with {1} in the beginning and end {2}

The core functionality of Openstack Network-as-a-service (NaaS) is to provide a customer-facing service for creating and managing networks intended as "collection of virtual ports with shared connectivity".

{1} The highest level is connectivity, isolation and uniformity. Connectivity is about providing means for a given entity (e.g. VM, FW) to connect with another entity. It behooves creation of a clear definition of Compute Network and Storage interaction for connectivity purposes, a basic set of Compute to vSwitch to NIC semantics and use of proper addressing (L2 and L3) and other semantics including provisions for QoS and Security. Isolation is about providing a tenant/project an independent network that is not shared or accessible by non authorized users of the shared physical network. It can be done by L2 and/or L3 semantics or physical isolation. Uniformity is about coordination of plugins and other network services/capabilities such that in a predefined section of the network (a “NaaS Zone”), all services are provided in a way that allows workload placement to be performed anywhere with same network/connectivity/QoS results {2}

Release Note

Here is the Word Doc that describes this blueprint attachment:paas.doc

Rationale

A network created with the core NaaS API can be regarded as a virtual network switch {1} and related network devices attached to it, {2} which potentially spans over all the compute nodes in the cloud. NaaS APIs should be decoupled by the actual implementation of the core service, which should be provided by a plugin implementing the core Naas API. This implies that NaaS does not mandate any specific model for created networks (e.g.: VLANs, IP tunnels). {1} However, NaaS API may present some requirements that a plugin should support. {2} The core NaaS service can also be regarded as a container for higher level services, for instance DHCP and NAT. Higher level services will come their own API and implementation and they are discussed in detail in the Naas-Higher-Layer blueprint.

User stories

Assumptions

Design

You can have subsections that better describe specific parts of the issue.

Implementation

This section should describe a plan of action (the "how") to implement the changes discussed. Could include subsections like:

UI Changes

Should cover changes required to the UI, or specific UI that is required to implement this

Code Changes

Code changes should include an overview of what needs to change, and in some cases even the specific details.

Migration

Include:

  • data migration, if any
  • redirects from old URLs to new ones, if any
  • how users will be pointed to the new way of doing things, if necessary.

Test/Demo Plan

This need not be added or completed until the specification is nearing beta.

Unresolved issues

This should highlight any issues that should be addressed in further specifications, and not problems with the specification itself; since any specification with problems cannot be approved.

BoF agenda and discussion

Use this section to take notes during the BoF; if you keep it in the approved spec, use it for summarising what was discussed and note any options that were rejected.