Fix wrong section name "security_group" in sample config files

The section name [security_group] in Sample config files of
ML2 and Big Switch plugins was wrong and it should be
[securitygroup].

Change-Id: I8204b2f37f96a5e46038e117853ac8637a9705fd
Closes-Bug: #1304105
(cherry picked from commit ec24d2cb3ac17a86ee5c4626c625131c10732143)
Add L2 Agent side handling for non consistent security_group settings

Add setting of the firewall_driver to NoopDriver when firewall_driver is None and
add warning if driver combination is not valid.
Modify is_valid_driver_combination to verify default settings: enable_security_group (True) and firewall_driver (None).

Change-Id: I841f9cf96ac6ee2ad17a4e8908d6c8a96f368cca
Closes-Bug: #1296957
(cherry picked from commit 5c6ff449bbd7386f0f3e41efc524024434f325df)
Fix _validate_mac_address method

The method _validate_mac_address previously used: netaddr.EUI(data)
which would convert data passed in to the correct mac_address representation.
For example if data=123 it would return: EUI('00-00-00-00-00-7B'). To fix
this issue I used netaddr.valid_mac() instead which returns a bool if a mac is
valid or not and does not raise. Note this file needs some improvements to
improve how exception handling is done that will come later.

Change-Id: I4fb868e40abbad9e743028cc768f47ca9b3e0e70
Closes-bug: 1291163
(cherry picked from commit b9390333a146d0435710f85d365318268e267fc3)
Delete routers that are requested but not reported as active

There are two cases that I can think of that result in a router being
requested but not reported as active.  One is that admin_state_up has
been set to False.  In this case, the router is never removed and
continues to be operational.

The other case is if a router is changed and then deleted before the
change is processed.  In this case, it is prudent to be sure that the
router is queued for deletion.

Change-Id: I4738f599a18f0d130cc8ad4d4dafc488eec75ffd
Closes-Bug: #1215387
(cherry picked from commit 9da60d0a417dd70c16ae34f5877c564e425e4cf8)
Add a note that rpc_workers option is experimental

blueprint multiple-rpc-workers

Closes-Bug: 1304374
Change-Id: Id354b96fc591752e1e79b072997423b6447d5de9
Merge "Delete routers that are requested but not reported as active" into milestone-proposed
Correctly inherit __table_args__ from parent class

Where unique constraints are added to certain tables by populating
__table_args__, we need to ensure we inherit the top level
__table_args__ that define the default storage engine to use when
creating tables.

Change-Id: Ib886b84922830b60282b4f882591e43f5041e713
Fixes: bug 1288358
(cherry picked from commit 72e37ddcd067432675543c8f4d327fe766bc8044)
Merge "Add L2 Agent side handling for non consistent security_group settings" into milestone-proposed
Hide ipv6 subnet API attributes

The attributes for ra mode and address mode should be hidden
until the IPv6 feature is fully implemented.

The changes in this patch will be reverted by another patch
which closes this bug.

Change-Id: I69a1a571b5beb566641200e60b84f0716c1ec138
Related-Bug: 1304093
(cherry picked from commit d739486a3f70cb83f8730cf7201a8b8ccf4b4c70)
Merge "Add a note that rpc_workers option is experimental" into milestone-proposed
Merge "Correctly inherit __table_args__ from parent class" into milestone-proposed
NSX: Fix KeyError in sync if nsx_router_id not found

Previously, a KeyError would occur in the sync code which would
cause the sync thread to stop running. This would occur if there
was a router entry in the database but no nsx_router_mapping and
the router was not found in nsx. Note: this should never happen unless
one did not run the db migration which introduced and migrated the data
for the NeutronNsxRouterMapping table.

(cherry picked from commit d90d71cfdae1d9c9c3b54cc33adfabce683c633c)
Change-Id: I44f3e7de9323f594501db63d3ad33e80e617bfdc
Closes-bug: #1304647
Merge "Hide ipv6 subnet API attributes" into milestone-proposed
Merge "NSX: Fix KeyError in sync if nsx_router_id not found" into milestone-proposed