Add missing ondelete option to Cisco N1kv tables

Update the DB migration script, which creates the Cisco N1kv tables,
to include the ondelete='CASCADE' option in network and port
binding tables. This allows proper clean up of network and port
binding entries on respective delete operations, when the tables
are populated via DB migration script.

Closes-Bug: #1294434

Change-Id: I5dad7bd718b75cfd8825b08336e834d64bddd196
NSX: Make replication mode configurable

The replication mode on switches and routers should have been configurable
to use source replication if one did not want to deploy service node(s).
This patch fixes that by making this option configurable.

Change-Id: Id9e8043c602b5e9349c10247eab993e59db5a52c
Closes-bug: #1285383
Fix bug:range() is not same in py3.x and py2.x

in python3.x, there is no method named xrange(),
it has replaced by range(),which is equal to xrange() in python2.x.
so we must fix this issue.we use six module to fix this issue.

Change-Id: I9cee3f0df2d8abbf6f66d7c5a3a0fed98df622e8
Closes-Bug: #1268439
NSX: lower the severity of messages about VIF's on external networks

Set the message to INFO as there is no error to recover from or
something bad about to happen. The only place where this occurs
is during the setup of probe interfaces in DevStack.

Change-Id: I2310af00676e508646783ce769a8830ab0b9308f
Cisco Nexus: maximum recursion error in ConnectionContext.__del__

If DevStack is configured for the Cisco Nexus plugin, the following
error is observed:

Exception RuntimeError: 'maximum recursion depth exceeded' in <bound
method ConnectionContext.__del__ of
<neutron.openstack.common.rpc.amqp.ConnectionContext object at
0x403a3d0>> ignored

The root cause of the problem is that the Cisco Nexus plugin's
PluginV2.__gettattr__ method, a model object is being passed
as a value for a unicode %s format mod. Because the neutron server
has "lazy gettext" (deferred interpretation of unicode objects) enabled,
this causes many layers of recursive calls to deepcopy.

The fix is to pass a string object for the unicode %s mod field.

Change-Id: I0a07a0ab417add68e44cb1bca722cb0b4a71205b
Closes-Bug: #1286565
Added config value help text in ns metadata proxy

Change-Id: I9d59e902cf9ed89e29d93b29912c87f2bad73c7c
Closes-Bug: #1215270
Fix duplicate name of NVP LBaaS objs not allowed on vShield Edge

Duplicate name of LBaaS objs such as pool/vip/app_profile is not
allowed on vShield Edge, so here a name convention is needed to ensure
name uniqueness on the edge side.
Closes-Bug: #1257225

Change-Id: I953610d0389a78aa01f378c2ff4931d8c74413ea
Fix typo in lbaas agent exception message

Change-Id: Iec2a5e02d40f73e4576ed853577a6a9f85e49e67
Closes-Bug: #1295187
Add enable_security_group option

Using noop driver to disable security group is confusing.
In this commit, we introduce enable_security_group in server side.

DocImpact
UpgradeImpact

Implements bp: security-group-config-cleanup
Related-Bug: 1112912
Change-Id: Ice44a4e2a519c64e613eeb24372de46726473339
Avoid creating FixedIntervalLoopingCall in agent UT

Set polling_interval to 0 to avoid creating LoopingCall
in loadbalancer agent tests, dhcp agent tests, linuxbridge agent tests

Change-Id: Ib6edbc11feba402a4c2f19b7d6833b49879ee626
Closes-Bug: #1288079
Don't set priority when calling mod_flow

This commit [1] changed the behavior of modifying flows to not allow priority
to be set on flow modification. The agent code which was calling mod_flow was
not updated to respect this behavior. The unit tests were also not updated in
this regard. I've corrected this behavior now, and added a negative UT case to
catch this in the future.

[1] https://review.openstack.org/#/c/58533/

Closes-Bug: #1295703

Change-Id: I20737637cc84567a5ec19efaad18e7f334007f18
Use save_and_reraise_exception when reraise exception

This fixes reraise in pluign codes.

Closes-Bug: #1279813
Change-Id: Iee174d94c0ce69eb01eb86eea1a903eceb7569d5
Merge "NSX: Make replication mode configurable"
Merge "Add missing ondelete option to Cisco N1kv tables"
Merge "Don't set priority when calling mod_flow"
NEC plugin: Remove a colon from binding:profile key due to XML problem

In XML specification, if a tag name contains a colon, a part before
a colon is interpreted as namespace. If key names in binding:profile
dict contains a colon, Neutron XML serializer sends them as-is.
A colon in key names should be used only if XML namespace are used.
NEC plugin uses a colon in key names and it leads to failures to XML
deserialization. To avoid this problem, this commit removes a colon
and prefix n key names in port binding:profile so that client XML
deserializer decodes XML response successfully.

Change-Id: Ie32a2417bbce03bfc6e8f7907c0b4090fbc9e7b6
Closes-Bug: #1294166
NEC plugin: Allow to add prefix to OFC REST URL

Closes-Bug: #1295802
Change-Id: Ieaa3bb7c601fad98506168de1f8ac191849c6569
Log received pool.status

This patch adds a log statement so we can figure out what status the
lbaas-agent is passing in. This way we can figure out what to prevent.

Change-Id: I1a0f809140127ccb9596d83c97add03a853991a3
Closes-bug: #1295491
Merge "Use save_and_reraise_exception when reraise exception"
Merge "Log received pool.status"