Entity |
- Any piece of hardware or
- software that wants to connect to the
- network services provided by Quantum. An
- entity can use Quantum network services by
- implementing a VIF. |
+ Any piece of hardware or software that
+ wants to connect to the network services provided by
+ OpenStack Networking. An entity can use OpenStack
+ Networking network services by implementing a
+ VIF. |
Layer-2
network |
- A virtual Ethernet network
- managed by the Quantum service. For the
- time being, Quantum will manage only
+ | A virtual Ethernet network managed by
+ the OpenStack Networking service. For the time
+ being, OpenStack Networking will manage only
Ethernet networks. |
Network |
- A virtual network providing
- connectivity between entities such as, a
- collection of virtual ports sharing
- network connectivity. In the Quantum
- terminology, a network is always a Layer-2
- network. |
+ A virtual network providing connectivity
+ between entities such as, a collection of virtual
+ ports sharing network connectivity. In the OpenStack
+ Networking terminology, a network is always a
+ Layer-2 network. |
Plug-in |
- Software component that
- provides the actual implementation for
- Quantum APIs. |
+ Software component that provides the
+ actual implementation for OpenStack Networking
+ APIs. |
Port |
- A port on the virtual network
- switch represented by a Quantum virtual
+ | A port on the virtual network switch
+ represented by a OpenStack Networking virtual
Layer-2 network. |
VIF |
- A Virtual network InterFace
- plugged into a port of a Quantum network.
- Typically a virtual network interface
- belonging to a VM. |
+ A Virtual network InterFace plugged into
+ a port of a OpenStack Networking network. Typically
+ a virtual network interface belonging to a VM. |
Attachment |
@@ -255,38 +247,36 @@
Theory of Operation
- This section presents the objects and semantics of
- Quantum’s logical model.
- Quantum abstracts the physical implementation of the
- network, allowing plugins to configure and manage
- physical resources. Quantum is a standalone service,
- in that it requires no other project within OpenStack
- to function correctly.
- Further Quantum is agnostic to the entities it
- allows to connect. While we anticipate Nova instances
- will be a heavy user of Quantum, any entity can make
- use of any Quantum created network so long as it
- provides an appropriate interfaces for exposing VIFs
- to Quantum itself.
- Virtual Interfaces (VIF) in the logical model are
- analogous to physical network interface cards (NICs).
- VIFs are typically owned a managed by an external
- service; for instance when Quantum is used for
- building OpenStack networks, VIFs would be created,
- owned, and managed in Nova. VIFs are connected to
- Quantum networks via ports. A port is analogous to a
- port on a network switch, and it has an administrative
- state. Quantum API allows for controlling the
- administrative state of the port, which can be either
- 'DOWN' or 'ACTIVE'.
- When a VIF is attached to a port the Quantum API
- creates an attachment object, which specifies the fact
- that a VIF with a given identifier is plugged into the
- port.
- The Quantum plugin is responsible for managing
- virtual and/or physical network switches to implement
- the network forwarding connectivity described by the
- Quantum networks, ports, and attachments.
+ This section presents the objects and semantics of OpenStack
+ Networking’s logical model.
+ OpenStack Networking abstracts the physical implementation of
+ the network, allowing plugins to configure and manage physical
+ resources. OpenStack Networking is a standalone service, in that
+ it requires no other project within OpenStack to function
+ correctly.
+ Further OpenStack Networking is agnostic to the entities it
+ allows to connect. While we anticipate Nova instances will be a
+ heavy user of OpenStack Networking, any entity can make use of
+ any OpenStack Networking created network so long as it provides
+ an appropriate interfaces for exposing VIFs to OpenStack
+ Networking itself.
+ Virtual Interfaces (VIF) in the logical model are analogous to
+ physical network interface cards (NICs). VIFs are typically
+ owned a managed by an external service; for instance when
+ OpenStack Networking is used for building OpenStack networks,
+ VIFs would be created, owned, and managed in Nova. VIFs are
+ connected to OpenStack Networking networks via ports. A port is
+ analogous to a port on a network switch, and it has an
+ administrative state. OpenStack Networking API allows for
+ controlling the administrative state of the port, which can be
+ either 'DOWN' or 'ACTIVE'.
+ When a VIF is attached to a port the OpenStack Networking API
+ creates an attachment object, which specifies the fact that a
+ VIF with a given identifier is plugged into the port.
+ The OpenStack Networking plugin is responsible for managing
+ virtual and/or physical network switches to implement the
+ network forwarding connectivity described by the OpenStack
+ Networking networks, ports, and attachments.
VIFs attached to ACTIVE ports are required to have
access to the L2 broadcast domain defined by the
network where they are attached. Each VIF shall be
@@ -298,7 +288,7 @@
Concepts
- To use the Quantum API effectively, developers should
+ To use the OpenStack Networking API effectively, developers should
understand the concepts introduced in this chapter.
Network
@@ -323,40 +313,38 @@
logical port. At any time at most one attachment can
be plugged into a given port.
An attachment typically identified a virtual network
- interface. Network interfaces are typically defined in
- an external services which uses Quantum, for instance
+ interface. Network interfaces are typically defined in an
+ external services which uses OpenStack Networking, for instance
the OpenStack Compute service, Nova.
General API Information
- The OpenStack Quantum API is defined as a ReSTful HTTP
- service. The API takes advantage of all aspects of the
- HTTP protocol (methods, URIs, media types, response codes,
- etc.) and providers are free to use existing features of
- the protocol such as caching, persistent connections, and
- content compression among others. For example, providers
- who employ a caching layer may respond with a 203 when a
- request is served from the cache instead of a 200.
- Additionally, providers may offer support for conditional
- &GET; requests using ETags, or they may send a redirect in
- response to a &GET; request. Clients should be written to
- account for these differences.
+ The OpenStack Networking API is defined as a ReSTful HTTP service.
+ The API takes advantage of all aspects of the HTTP protocol
+ (methods, URIs, media types, response codes, etc.) and providers are
+ free to use existing features of the protocol such as caching,
+ persistent connections, and content compression among others. For
+ example, providers who employ a caching layer may respond with a 203
+ when a request is served from the cache instead of a 200.
+ Additionally, providers may offer support for conditional &GET;
+ requests using ETags, or they may send a redirect in response to a
+ &GET; request. Clients should be written to account for these
+ differences.
Authentication
- The current version of the OpenStack Quantum service
- does not require that each request will include the
- credentials of the user submitting the request.
- However, Quantum deployments can support several
+ The current version of the OpenStack Networking service does
+ not require that each request will include the credentials of
+ the user submitting the request.
+ However, OpenStack Networking deployments can support several
authentication schemes (OAuth, Basic Auth, Token). The
- authentication scheme used is determined by the
- provider of the Quantum service. Please contact your
- provider to determine the best way to authenticate
- against this API.
- Ideally, middleware modules for Authentication
- and/or Authorization should be inserted in the first
- stages of the Quantum pipeline (available in
- etc/quantum.conf
).
+ authentication scheme used is determined by the provider of the
+ OpenStack Networking service. Please contact your provider to
+ determine the best way to authenticate against this API.
+ Ideally, middleware modules for Authentication and/or
+ Authorization should be inserted in the first stages of the
+ OpenStack Networking pipeline (available in etc/OpenStack
+ Networking.conf
).
Some authentication schemes may require that the
API operate using SSL over HTTP (HTTPS).
@@ -365,16 +353,17 @@
URI structure
- Each request to the OpenStack Quantum API must refer
- to a specific version of the API itself, and it must
- also identify the tenant for which the request is
- being sent.
- This information is specified in the URI. The URI
- for each request to the OpenStack Quantum API should
- be prefixed with the API version identifier and the
- tenant identifier, as follows:
+ Each request to the OpenStack Networking API must refer to a
+ specific version of the API itself, and it must also identify
+ the tenant for which the request is being sent.
+ This information is specified in the URI. The URI for each
+ request to the OpenStack Networking API should be prefixed with
+ the API version identifier and the tenant identifier, as
+ follows:
- /{Quantum-version}/tenants/{tenant-id}/{Quantum-API-entity}
+ /{OpenStack
+ Networking-version}/tenants/{tenant-id}/{OpenStack
+ Networking-API-entity}
As an example, the following URI represents a
request for retrieving all the networks configured for
@@ -385,13 +374,12 @@
Request/Response Types
- The OpenStack Quantum API supports both the JSON and
- XML data serialization formats. The format for both
- the request and the response can be specified either
- using the Content-Type
header, the
- Accept
header or adding an
- .xml
or .json
extension
- to the request URI.
+ The OpenStack Networking API supports both the JSON and XML
+ data serialization formats. The format for both the request and
+ the response can be specified either using the
+ Content-Type
header, the Accept
+ header or adding an .xml
or .json
+ extension to the request URI.
If conflicting formats are specified in headers
and/or format extensions, the latter takes precedence.
XML is currently the default format for both requests
@@ -488,14 +476,13 @@ Content-Length 59
- Asynchronous Behavior by Quantum Plugins
- The Quantum API presents a logical model of network
- connectivity consisting of networks, ports, and
- attachments. It is up to the Quantum plugin to
- communicate with all managed virtual and/or physical
- switches to ensure that these devices implement packet
- forwarding behavior consistent with the logical
- model.
+ Asynchronous Behavior by OpenStack Networking Plugins
+ The OpenStack Networking API presents a logical model of
+ network connectivity consisting of networks, ports, and
+ attachments. It is up to the OpenStack Networking plugin to
+ communicate with all managed virtual and/or physical switches to
+ ensure that these devices implement packet forwarding behavior
+ consistent with the logical model.
The plug-in task of mapping from the logical model
to the physical world might happen asynchronously.
This means that when an API client modifies the
@@ -517,11 +504,10 @@ Content-Length 59
Future versions of the API may expose a notion
of an "operational status" on a logical entity
like a network or port.
- This would indicate whether the Quantum plugin
- had successfully configured virtual and/or
- physical switches in order to implement the
- network connectivity described by that element of
- the logical model.
+ This would indicate whether the OpenStack Networking
+ plugin had successfully configured virtual and/or physical
+ switches in order to implement the network connectivity
+ described by that element of the logical model.
For example, a port might have an operational
status of "DOWN"
because the VM
interface specified as an attachment was not
@@ -530,8 +516,8 @@ Content-Length 59
Versions
- The Quantum API uses a URI based versioning scheme.
- The first element of the URI path contains the target
+ The OpenStack Networking API uses a URI based versioning
+ scheme. The first element of the URI path contains the target
version identifier.
Request with URI versioning
@@ -543,10 +529,10 @@ Content-Length 22
- Available API versions can be retrieved by
- performing a &GET; on the root URL (i.e. with the
- version and everything to the right of it truncated)
- of the Quantum Service.
+ Available API versions can be retrieved by performing a &GET;
+ on the root URL (i.e. with the version and everything to the
+ right of it truncated) of the OpenStack Networking
+ Service.
Versions List Request/Response (XML)
@@ -572,7 +558,7 @@ Content-Type application/json
Extensions
- The Quantum API is extensible. Extensions serve
+ The OpenStack Networking API is extensible. Extensions serve
several purposes:
@@ -679,9 +665,9 @@ Content-Type application/json
400 |
- Malformed request body. The
- Quantum service is unable to parse the
- contents of the request body. |
+ Malformed request body. The OpenStack
+ Networking service is unable to parse the contents
+ of the request body. |
Unauthorized |
@@ -707,8 +693,8 @@ Content-Type application/json
ItemNotFound |
404 |
- The requested resource does
- not exist on the Quantum API server. |
+ The requested resource does not exist on
+ the OpenStack Networking API server. |
@@ -761,9 +747,9 @@ Content-Type application/json