get_security_groups now creates default security group

If one called get_security_groups() previously the default security
group would not be created until the tenant created a network. This
exposed a bug when an admin creates a shared network and a tenant tried
to boot a vm on it without having any networks.

Fixes bug 1171997

Change-Id: I899203424c03353a1ee6567c9ddbaecd7dc25001
Add ability for core plugin to implement advanced services

implements blueprint api-core-for-services

Add check for supported_extension_aliases in QuantumManager.
If core plugin supports certain service extension, then core plugin is
stored in service_plugins for the service type of this extension
so corresponding extension could set it as a controller for REST calls.

Change-Id: I9c883491f6f13770371e3444e7c17bd2164a7c07
Allow ports to be created on networks that do not exist in NVP

If a network exists in the quantum database but not in NVP we should allow
someone to create a port on this network and set the status to ERROR. The
reason for this is if one deletes a network from NVP and when the dhcp agent
goes to create it's dhcp port on this network an error will be raised to the
agent and it will enter a constant state of resyncing.

This patch also adds a unit test for update_port() for the same situation.

Fixes bug 1179327

Change-Id: Ie77fc48d11644b820c0cc3b3fa341856e36f8511
Fix ./run_tests.sh --pep8

Create a common script to call flake8 to share flake8 options and
make tox and run_tests.sh use this script.

Fixes bug: 1179331

Change-Id: I92dc54fa3f4bb22aa39bde226b6d769088f9a2e3
make default transport type configurable nvp

Fixes bug 1179759

Change-Id: I8f644f2bc0d5d144f52e5ed0bd2e991503581ad2
Add missing unit test for NVP metadata_mode option

Note: I didn't squash this change in my patch that made the default
transport type configurable because this change was not in grizzly
and we do not want to backport it.

Change-Id: Ie71e5e56d1bed219caba74799cc2310ace987b8f
Merge "Add ability for core plugin to implement advanced services"
Imported Translations from Transifex

Change-Id: Ie5ff2a1f033c57b690b3a71be9f93b32d8db0b73
Add support for dnsmasq version 2.48

Following the bug fix for bug 1170793 we are able to add
in support for dnsmasq versions that do not support tags.

2.48 is the version shipped in RHEL 6.4

Change-Id: Ia7d2b1c0adb477159ce146bcd4323d4b2795bff5
Merge "Fix ./run_tests.sh --pep8"
Merge "get_security_groups now creates default security group"
Merge "Allow ports to be created on networks that do not exist in NVP"
Remove calls to policy.check from plugin logic

Blueprint make-authz-orthogonal

This patch implements part #3 of this blueprint, according to its
specification.
It does so by allowing the view generator in the API layer to strip
off fields which do not satify authorization policies.
Also, some checks in unit tests for plugins relied on the
capability of the plugin to invoke directly the policy engine.
This checks have been removed and replaced by equivalent unit tests.
Finally, this patch required changes to most test cases for API
extensions in order to ensure the resource attribute map was
updated with the extension's attributes

Change-Id: I1ef94a8a628d34697254b68d7a539bd1c636876e
Add negative UT cases for subnet/GW create/update

When force_gateway_on_subnet is configured, ensure
that a GW with IP same as subnet, and BCAST GW IP
are rejected during subnet create. For subnet update,
ensure GW outside of subnet is rejected.

bug 1178675

Change-Id: Ice58f7e1be7966b247c165e52807405401e5a4ea
Fix logic in test_db_loadbalancer

Fix code to check HTTP error code before attempt to deserialize body

fixes bug 1180113

Change-Id: I1d75e0fe739dfa70ef415602e669319797af026f
Imported Translations from Transifex

Change-Id: I0ac9882823e4e0d5bc8b2427715389d4fa847ced
relax amqplib and kombu version requirements

as nova did while ago.

this particular version of kombu doesn't work if newer msgpack happens
to be installed on the system.

bug 1178512

Change-Id: I2749623036723b5a772b1c4c01dc07437e421925
Fix linuxbridge RPC message format

The linuxbridge, openvswitch, and hyperv plugins all use the same
basic RPC interface between their plugins and L2 agents. But the
attributes describing a virtual network passed from the plugin to the
agent over this interface differed for historical reasons. The
openvswitch and hyperv plugins each pass network_type,
physical_network, and segmentation_id attributes, whereas the
linuxbridge plugin previously passed vlan_id and physical_network
attributes, using special vlan_id values to indicate flat or local
network types.

This patch changes the linuxbridge plugin to pass network_type and
segmentation_id attributes instead of the vlan_id attribute, bringing
its message formats into sync with the other plugins. RPC
compatibility is required for blueprint modular-l2 so that the ml2
plugin can work with all three existing types of L2 agent. This RPC
message format change is also required for blueprint
vxlan-linuxbridge.

Unlike the vxlan-linuxbridge patch on which it is based (see
https://review.openstack.org/#/c/26516/), this patch does not bump the
linuxbridge RPC version number, as the ml2 plugin will require all
three L2 agents to use the same RPC version. Instead, the updated
linuxbridge agent maintains compatibility with old linuxbridge plugins
by accepting either the old or new attributes. There is also a
configuration option, currently turned on by default, to enable the
updated linuxbridge plugin to pass the vlan_id attribute expected by
old linuxbridge agents along with the new attributes. These message
format compatibility mechanisms are intended to aid during upgrades,
and can eventually be removed.

Change-Id: I7cc1c9f96b09db6bab2c7d9f2b30b79fa4dab919
Merge "Remove calls to policy.check from plugin logic"
Merge "Fix linuxbridge RPC message format"