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
NSX sync cache: add a flag to skip item deletion

This new flag will prevent updates on single resources, which
can happen asynchronously to the main synchronization thread,
from processing the 'changed' flag for items in the cache and
delete items not present anymore in NSX.

This will avoid failures seen in CI runs where the sync
thread failed because of a KeyError because some items where
concurrently removed from the NSX cache.

Change-Id: I6a11b8dabb1e9481dc807b5fbba17c9027dad5f2
Closes-Bug: #1329650
NSX: return 400 if dscp set for trusted queue

If qos_marking is set to True, the code currently silently
drops the dscp setting and continues.

It is preferrable instead to notify the user of the invalid
setting returning a 400 error.

Change-Id: I7db1867712bd20f2030c56a42baac20e6ae76d0d
Closes-Bug: 1332062
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
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
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
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 "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"
Merge "Moved rpc_compat.py code back into rpc.py"
Merge "Merge multiple constants defining linux interface maximum length"
Merge "ofagent: move main module from ryu repository"
Imported Translations from Transifex

Change-Id: I6d86131382188d4fa3537b235248b81d946be1c3
Merge "NSX: return 400 if dscp set for trusted queue"
Merge "NSX sync cache: add a flag to skip item deletion"
VPNaaS: separate out validation logic for ref impl

Modify the persistence logic for VPNaaS to separate out the
validation for the reference implmentation. This allows
providers to override/extend the validation, as needed.
Additional commits will address the separation for other
providers and for other L3 services.

Only attributes that have multiple validations are considered
at this time, but this can be extended, as needed.

In the future, TaskFlow may be used for the L3 services workflow,
and these changes will provide validation modularization for that
effort.

Change-Id: Id420983ccbceece5f4a00546941618318b9562c7
Partially-implements: plueprint l3-svcs-vendor-validation
VPNaaS Separate  validation for Cisco impl

Moving validation logic from Cisco service driver, into a
validation subclass, so that it'll be applied during the
persistence phase (so validation failures can block the
persistence, instead of setting to error state).

This is part of the effort to separate out L3 validation
and builds upon the reference implementation changes being
reviewed in 102351.

Change-Id: I6040e6d8ab32b707bcf67a0882507b7ee2d4bebe
Partial-Implementation: blueprint l3-svcs-vendor-validation