changes ovs agent_id init to use hostname instead of mac

In the Open vSwitch agent,
the Agent id is currently based off the mac address of the br-int.
Userspace only Open vSwitch derivatives such as Intel's DPDK
Accelerated Open vSwitch do not currently create a tap device in the kernel
to back the ovs bridges local port.
This limitation prevents reuse of the OpenVSwitch agent between both switches.

To enable reuse of the ovs agent with Intel's DPDK Accelerated Open vSwitch,
the proposal is to change the  generation of the  agent_id to use the hostname,
instead of the mac address of the br-int.

For several plugins such as the nec,mlnx,hyperv and onconvergence agents
the hostname is used to create the agent id.
Using the hostname will normalise the agent_id between these 5 neutron agents,
additionally log readability will also be improved,
if log aggregation is preformed across a cluster
as it will be easier to identify which node the log is from.

the hostname is retrived from cfg.CONF.host

Closes-Bug: #1323259
Change-Id: I9abfac17a74d298f1a17a0931fc98ac00234ac0b
Improve vxlan type driver initialization performance

Vxlan type driver may take long time to initialize
vxlan allocation table. Optimize db performance by issuing
raw sql inserts coalesced into bulk statements.
Also optimize deleting logic.

Proposed patch gives ~2x performance gain in comparison with
original code on Mysql and Postgesql backends

Change-Id: I801d967e8e3c0260593f289097d17270ef0b391e
Partial-Bug: #1324875
Don't use root_helper when it's not needed

LinuxBridge agent doesn't need to use root_helper when checking if
a device exists. Root priviledges are required to perform operations
inside a namespace and it's not the case here.

Change-Id: I12e0cde2f4dd3b3f8e7f5ed9e90e2805a4466aaa
Closes-bug: #1305800
Ensure entries in dnsmasq belong to a subnet using DHCP

In certain configurations, Neutron calculates SLAAC addresses for IPv6
subnets and adds them to the fixed_ips field of a port. Since those
subnets are not being managed by DHCP, do not add those fixed_ip entries
to the host file.

Closes-bug: #1316190
Related-bug: #1257446

Change-Id: I77dd55063296990c9df385f331f5de5d42402786
Add test cases for plugins/ml2/plugin.py

Test cases which generate MechanismDriverError failures and
validate correct behavior.

Partial-Bug: 1236127
Change-Id: I922e842b54add786723ecb7763d6b4f330794794
Don't convert numeric protocol values to int

They are treated as strings everywhere. Converting them to int causes problems
when using postgresql as the database backend because it doesn't automatically
cast them back to integer.

Change-Id: I9f0a5149d24a4c003409728e50376569c97e7325
Closes-bug: 1330490
ofagent: move main module from ryu repository

the recent oslo.messaging transition broke ofagent.
this commit fixes the regression.

historically the main module of ofagent has been maintained
in ryu's repository.  this commit moves it into neutron's
repository and add common_config.init() call which is necesary
for the new rpc code.

Closes-Bug: #1332478
Change-Id: Icf215b20cd84ef44b51439e55b1815d72041ba3f
Updated from global requirements

Change-Id: I7d528afc3051e423e4a405ba1bdc0cb4cc5a9071
Merge multiple constants defining linux interface maximum length

DEVICE_NAME_MAX_LEN constant in neutron.common.constants replaces
and correct multiple constants defining linux interface maximum
length.

Closes-Bug: #1332571
Change-Id: I63f760a21e17dcd57b3685b1e71c913d2722e097
Merge "Add test cases for plugins/ml2/plugin.py"
Merge "changes ovs agent_id init to use hostname instead of mac"
Merge "Improve vxlan type driver initialization performance"
Updated from global requirements

Change-Id: Ie0621bc8226585199a7c36771f23fc125747d3f9
Moved rpc_compat.py code back into rpc.py

Most of this code will probably stay with us for quite some time, so
let's make things easier and consider them as our way of doing RPC.

blueprint oslo-messaging

Change-Id: Iaf353b23f9c54b82d1e02a6bd5a5960cec827c88
Merge "Don't convert numeric protocol values to int"
don't ignore rules that are already enforced

H302 / H304 are clean in the neutron source tree, so it seems
like they shouldn't be ignored. This requires no code changes to
enable.

If there is a longer standing reason for these ignores, would be
great to document in tox.ini.

Change-Id: Ib0f483e4f8fbd328815775a2a6f58be448172bd9
Merge "Updated from global requirements"
Merge "Ensure entries in dnsmasq belong to a subnet using DHCP"
Merge "Don't use root_helper when it's not needed"
Merge "don't ignore rules that are already enforced"