Add support for OVS l2 agent in XS/XCP domU.

 * Config doc: http://wiki.openstack.org/QuantumDevstackOvsXcp

 * The Open vSwitch agent needs to be deployed on domU but
   interact with a dom0 bridge.
 * Add a root wrapper and associated XenAPI plugin to allow the
   agent to execute networking commands against dom0 from domU.
 * Update ovs_lib mac address discovery to use ip_lib to
   ensure that discovery works even for bridges not local to
   the agent (i.e. dom0 bridges).  A bridge configured with
   a dom0 root wrapper will execute ip link on dom0.
 * Update ip_lib to use a root helper by default to ensure that
   the 'ip' command will execute on dom0.
 * Remove obselete rpm spec and installer for dom0 agent.
 * Credit where credit is due - the XenAPI plugin and its
   packaging were largely copied from nova.
 * Supports blueprint xenapi-ovs

Change-Id: I7795446ee1267712c896f5cb3401f84fb1763ce7
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
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 Cisco Nexus plugin failures for vlan IDs 1006-4094

Fixes bug 1174593

VLAN IDs in the range 1006-4094 are considered to be in the extended
range by the Cisco Nexus 3K switch. As such, the 3K rejects any
state change configuration commands for VLANs in this range, including
"state active" and "no shutdown". The errors returned by the 3K for
these commands can be ignored, since the default states for these commands
are acceptable for the 3K.

For the 5K and 7K versions of the Nexus switch, on the other hand, the
"state active" and "no shutdown" commands are required for proper VLAN
configuration, regardless of VLAN ID.

This fix splits the configuration commands which are used to create a
VLAN on the Nexus switch into three separate configurations:
  - VLAN creation
  - state active
  - no shutdown
For the "state active" and "no shutdown" configurations, the Cisco Nexus
plugin will tolerate (ignore) errors involving invalid setting of state
for VLANs in the extended VLAN range. These specific errors can be
identified by looking for the appearance of certain signature strings
in the associated exception's message string, i.e. "Can't modify
state for extended" or "Command is allowed on VLAN".

This approach will yield a very small hit in performance, but the solution
is much less error prone than requiring customers to configure the
Cisco plugin for 3K vs. 5K vs. 7K, or perhaps even specific software
versions of the 3K, in order to inform the Cisco plugin whether
VLAN state configuration commands should be used or not.

Change-Id: I1be4966ddc6f462bca38428c4f904f8c982f318f
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"
Merge "Fix logic in test_db_loadbalancer"
Merge "relax amqplib and kombu version requirements"
Merge "Add negative UT cases for subnet/GW create/update"
Improve ovs and linuxbridge agents rpc exception handling

Fixes bug 1053497

Change-Id: Id946542b204cf75586224f3749b0007cc2d6b3a7
fix reference to tenant id.

Administrator can create resource, even if the tenant of resource is
different from the one of authentication. For example, administrator
can operate 'quantum net-create' command with different tenant
between the authentication tenant(--os-tenant-name) and --tenant-id.

In this case, quota cannot be restricted with the resource tenant,
because it is restricted with --os-tenant-name.

This patch fixes this problem.

Fixes: bug #1179729

Change-Id: I8ce893bb583d52f81c661082372d725bebf9c1be
Imported Translations from Transifex

Change-Id: Ia41af63051b2a8cc7aa898a44d5fb44905e2e448
Deprecate "extension:xxx" policies but preserve bw compatibility

Blueprint make-authz-orthogonal

Patch #4 for this blueprint.
With this change, if policies starting with 'extension' are still
present in policy.json, a deprecation warning will be emitted, and
the policy will be translated in the corresponding, new-style,
policy(ies).

Change-Id: Iccf0f36cc2547c35c66854b8a3fdb7185b5214bd
Reference QUOTA OptGoup names in lowercase

To have consistent option group name format across projects,
oslo.config now normalizes all non lowercase group names to lowercase
when loading conf files.
Thus conf files are backwards compatible but option group references
in the code must now use lowercase before we update oslo.config.

This patch replaces all 'QUOTA' references to 'quota'

Change-Id: I74c2a35aea7a52f9586eb598fe52d2cecb1851ef
Merge "fix reference to tenant id."