Quantum REST Proxy Plugin

Skip to end of metadata
Go to start of metadata


This module provides a generic quantum plugin 'QuantumRestProxy' that translates quantum function calls to authenticated REST request to a set of redundant external network controllers.

This allows the network controller specific code to be decoupled from this plugin. This allows for:

  1. independent authentication and redundancy solutions for quantum and the network controller since they are now decoupled.
  2. independent upgrade/development cycles for quantum and network controller since it limits the proxy code upgrade requirement to quantum release cycle (and the network controller specific code upgrade requirement to network controller release cycle).

It also keeps a local persistent store of quantum state that has been setup using that API. This allows us to:

  1. independently update/recover the external network controller(s) as their state can now be updated to be in sync with the state previously programmed via the API.
  2. provide local response for query operations and fail-fast when it can be determined based on previously configured state.

Downstream REST API

Downstream REST API used by this proxy is almost same as the API as defined for quantum itself (more specifically, the JSON subset with some additional parameters, e.g. gateway on network-create request and macaddr on port-attach request). In addition, it also requires support for an additional PUT to do a bulk dump of all persistent data; this is used for state synchronization (if supported).

Usage of this plugin

System using this plugin
  • FloodLight Openflow Controller

Floodlight controller uses this plugin to provide openflow/VLAN based virtual networks. Four components will be needed:

  1. An openstack controller running the nova and quantum services
  2. A Floodlight Controller running the Virtual Network Filter
  3. This plugin, which translates nova/quantum api to REST requests to Virtual Network Filter
  4. And an OpenVswitch (OVS) running on each of the the nova-compute nodes

For details on how to configure FloodLight, please check:


Plugin configuration

For Quantum Folsom please use the following instructions:


Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.