Initial implemention of MetaPlugin

This plugin supports multiple plugins at same time. This plugin is for L3 connectivility
between networks which are realized by different plugins. This plugin add new attribute 'flavor:id'.
flavor:id correspond to specific plugin. flavor-plugin mapping could be configureable by plugin_list config.
This plugin also support extensions. We can map extension to plugin by using extension_map config.

Implements blueprint metaplugin

Change-Id: Ia94d2349fb3ce9f121bbd2505324ae6f0c34247a
RPC support for OVS Plugin and Agent

blueprint scalable-agent-comms

This adds support for the OVS plugin.

Change-Id: I613de63f5c7f374be87520f32a2f7129d86ef109
Adds the 'public network' concept to Quantum

Implements blueprint quantum-v2-public-networks

This patch allows Quantum to handle public networks. It modifies the
API adding a new attribute to the network resource ('shared')
and enhances the policy engine in order to handle the behaviour of
the service wrt shared networks.
Policy.json specifies a default behaviour which can be changed by
the administrator, even at runtime.
Tests added to test_db_plugin validate 'obvious' behaviour - such as
that only the ports belonging to a given tenant should be returned
even when they are queried on a public network.
Tests added to test_policy instead validate the changes added to the
policy engine.

Change-Id: I0087d449a677ed29357cd3cb4d8580bece940fdf
improve test_db_plugin so it can be leveraged by extension tests

prereq for bp quantum-l3-fwd-nat

- load extension middleware as well as core API
- support 'action' requests in addition to CRUD ops
- add helper methods that check API return code
- clean-up places where existing tests where hitting 409s on delete
but ignoring the errors (basically SubnetInUse errors).

Change-Id: I620f1ef7f2028879b3b86f90c2150c26aa0f23c1
Update latest openstack files

Ensure that the common code is updated with the latest common
code.

Change-Id: I8a8a21fdcf77a2f444fd3c919cca9aa3912e21af
Make sure that there's a way of creating a subnet without a gateway

Fixes bug 1028646
You can use null for gateway ip.

Change-Id: I969112ad46efa22203db40106d4e35dce1757165
Merge "RPC support for OVS Plugin and Agent"
Merge "Update latest openstack files"
Fix bulk create operations and make them atomic.

Bug 1024844
Bug 1020639

The API layer is now able to issue bulk create requests to the plugin,
assuming that the plugin supports them. Otherwise, the API layer will
emulate atomic behavior.
This patch also implements OVS plugin support for bulk requests.

Change-Id: I515148d870d0dff8371862fe577c477538364929
Merge "Initial implemention of MetaPlugin"
Merge "Make sure that there's a way of creating a subnet without a gateway"
implementation for bug 1008180

implement the database models for the v2 db plugin base to store dns + additional routes
also handles the dns/route remote/update

Change-Id: I06c585b47668ee963324a5064e40a24471da28c4
Add device_owner attribute to port

in order for firewall logic to be able to poke a hole allowing traffic to/from a DHCP server,
we need to expose the IP being used for DHCP in a subnet to external entities.
This commit adds device_owner attribute, then dhcp-agent will update the device_owner value
of port to dhcp-agent.

Implement blueprint expose-dhcp-server-ip
Change-Id: I11283485bff8a3a3cf0b1a2716763ad32e43028a
convert query string according to attr map.

Bug #1035774

Change-Id: I162239ab2baa82636d270689ed3acd0cb6c336d4
Merge "implementation for bug 1008180"
Merge "improve test_db_plugin so it can be leveraged by extension tests"
remove old gflags config code

blueprint remove-gflags

This code removes the old gflag based configuration tools.  There was
no code out of the unit tests that were using it.

Change-Id: Id3f2e9bcfc5abcfd29ef683684f56c69c058bdc8
deal with parent_id not in target.

bug 1036425

If we filter the fields of the requested resource, we have no parent_id in the target, which we must be tolerant with.

Change-Id: Ieb591d9208f16a0d3e05bda00bf45ae7aca846a5
Implementation of second phase of provider extension.

Enhances provider extension to support flat networks and VLANs on
multiple physical networks. Implements blueprint provider-networks.

To create a flat network using the CLI with admin rights:

net-create --tenant_id <tenant-id> <net-name> --provider:network_type flat --provider:physical_network <physical-network>

To create a VLAN network using the CLI with admin rights:

net-create --tenant_id <tenant-id> <net-name> --provider:network_type vlan --provider:physical_network <physical-network> --provider:vlan_id <vlan-id>

The provider extension is supported by the linuxbridge and openvswitch
plugins and their agents [openvswitch phase 2 implementation is
in-progress, and does not yet support flat networks or multiple
interfaces].

Ranges of VLANs available on named physical networks for normal
allocation are specified in the plugin's config file via the
ListOpt syntax:

network_vlan_ranges = <physical_network>:<vlan_min>:<vlan_max>

The mapping of each named physical network to its physical network
interface is specified (per-agent-host) in the agent's config file via
the ListOpt syntax:

physical_interface_mappings = <physical_network>:<physical_interface>

See quantum/plugins/linuxbridge/README for details and examples of
network_vlan_ranges and physical_interface_mappings usage.

Also, bulk operations are enabled for the linuxbridge plugin.

Change-Id: I93402bd5cc6316e9408ea71c3b3989d06898ee30
Enables Cisco NXOS to configure multiple ports
Implements blueprint cisco-nxos-enables-multiple-ports

Change-Id: I4e8bccff19eb5b13895d7083623b7291b8c8bf7e