RPC support for Linux Bridge Plugin and Agent

blueprint scalable-agent-comms

This is the first stage of the blueprint. This adds support to the linux bridge
plugin.

The development followed the design described in:
https://docs.google.com/document/d/1MbcBA2Os4b98ybdgAw2qe_68R1NG6KMh8zdZKgOlpvg/edit?pli=1

Change-Id: I4004c05a63ce49f020c2016c8763e73238b465a7
dhcp-agent: Ryu plugin support for dhcp agent

This patch adds Ryu support to dhcp-agent.
fixes bug 1030830
Ryu devstack support is available at https://review.openstack.org/#/c/10117/

Change-Id: I3f5fbe8600b4b674834e317e158bac1856b0349c
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Merge "dhcp-agent: Ryu plugin support for dhcp agent"
Add netns to support overlapping address ranges

blueprint: dhcp-overlapping-ips

This change uses linux network namespaces to isolate dhcp interfaces so
that tenant network IP address ranges can properly overlap.

Change-Id: Iaa07e7c38d0813d07c3405884e513276e43e2afd
Merge "RPC support for Linux Bridge Plugin and Agent"
Merge "Add netns to support overlapping address ranges"
Remove v1 code from quantum-server

bp remove-v1-related-code

Removes API, DB, and test code that is used only for Quantum v1 API,
which is no longer supported.

Includes removal of v1 code for sample, ovs, linuxbridge and ryu plugin.

Nicira and Cisco plugins will be handled outside of this patchset.

Change-Id: Id34dc7229bb7b399b5cfd4602dbc8d5ee4e8de61
fixes typo in ensure_namespace

bug 1035425

There was an uncheck branch in ensure_namespace that used the wrong
class name.  This fixes that bug and adds better tests.

Change-Id: I0c22e70938305e180084de4bf9a700aebf512645
Merge "Remove v1 code from quantum-server"
linux bridge fixes following v1 code removal.

Change-Id: I4ad84421757db271904c8704a12b2e7abdfa8a0e
move the correct veth into the netns for the LB

bug 1035649

This fix moves the correct device into the namespace and improves the test
to ensure the proper device was moved.  The previous generic check
failed to catch an error during refactoring.

Change-Id: Ifa2e2bb97dc923549d00b1750c61a22e139647d7
normalize the json output of show a given extension.

we should use {'extension':{}} for a given extension query to comply with
our API design.

Change-Id: Id0b04b29bed4be92498c04178e268c31e9a1d635
In some cases device check causes an exception

Fixes bug 1035669

Check the stderr in addition to checking the return codes.

Change-Id: I05e469302bc502b540b0c4af5fbd9c712a9bd309
Linux Agent improvements for L3

prereq for bp quantum-l3-fw-nat

- make init_l3 take cidrs, rather than assuming an augmented port object
- make namespace for agent operations optional and allow the namespace
name to be configured.
- allow plug() operation to take an optional bridge parameter indicating
which bridge to plug into
- add namespace support for iptables manager
- make OVS plug() set the IP address, etc. of a device even if it already
exists.

Change-Id: Id4fec9bf7cda30c45b94eccd25e9e54dc5af97b7
Make dhcp agent configurable for namespace

Bug #1035769

Change-Id: I9f0d48a73f059a4985d629c7f0209675f5b01bec
Merge "normalize the json output of show a given extension."
Merge "Linux Agent improvements for L3"
Merge "Make dhcp agent configurable for namespace"
NEC OpenFlow plugin support.

blueprint quantum-nec-openflow-plugin

Change-Id: Ib6d6f658bbf6d653527fa7820685f9bed1412a18