quantum gateway #0

Supports: quantal

Description

Quantum is a virtual network service for Openstack, and a part of Netstack. Just like OpenStack Nova provides an API to dynamically request and configure virtual servers, Quantum provides an API to dynamically request and configure virtual networks. These networks connect "interfaces" from other OpenStack services (e.g., virtual NICs from Nova VMs). The Quantum API supports extensions to provide advanced network capabilities (e.g., QoS, ACLs, network monitoring, etc.) . This charm provides central Quantum networking services as part of a Quantum based Openstack deployment


Overview

Quantum provides flexible software defined networking (SDN) for OpenStack.

This charm is designed to be used in conjunction with the rest of the OpenStack related charms in the charm store) to virtualized the network that Nova Compute instances plug into.

Its designed as a replacement for nova-network; however it does not yet support all of the features as nova-network (such as multihost) so may not be suitable for all.

Quantum supports a rich plugin/extension framework for propriety networking solutions and supports (in core) Nicira NVP, NEC, Cisco and others...

The Openstack charms currently only support the fully free OpenvSwitch plugin and implements the 'Provider Router with Private Networks' use case.

See the upstream Quantum documentation for more details.

Usage

In order to use Quantum with Openstack, you will need to deploy the nova-compute and nova-cloud-controller charms with the network-manager configuration set to 'Quantum':

nova-compute:
    network-manager: Quantum
nova-cloud-controller:
    network-manager: Quantum

This decision must be made prior to deploying Openstack with Juju as Quantum is deployed baked into these charms from install onwards:

juju deploy --config config.yaml nova-compute
juju deploy --config config.yaml nova-cloud-controller
juju add-relation nova-compute nova-cloud-controller

The Quantum Gateway can then be added to the deploying:

juju deploy quantum-gateway
juju add-relation quantum-gateway mysql
juju add-relation quantum-gateway rabbitmq-server
juju add-relation quantum-gateway nova-cloud-controller

The gateway provides two key services; L3 network routing and DHCP services.

These are both required in a fully functional Quantum Openstack deployment.

TODO

  • Provide more network configuration use cases.
  • Support VLAN in addition to GRE+OpenFlow for L2 separation.
  • High Avaliability.
  • Support for propriety plugins for Quantum.

Configuration

ext-port
(string) External port to use for routing of instance traffic to the external public network.
openstack-origin
(string) Optional configuration to support use of additional sources such as: . - ppa:myteam/ppa - cloud:precise-folsom/proposed - cloud:precise-folsom - deb http://my.archive.com/ubuntu main|KEYID
plugin
(string) Network configuration plugin to use to manage the quantum network across quantum and nova-compute nodes. Supported values include: . ovs - OpenVSwitch
ovs
region
(string) OpenStack region that this quantum service supports.
RegionOne