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
Opening stable/icehouse

Bump version to next stable release on icehouse branch, and set
defaultbranch in .gitreview for convenience.

Change-Id: I70ddfb8cc70f9d7fca4ff63f95d5bd9c7fb7ef81
NSX: ensure dhcp port is setup on metadata network

Change in scheduling behavior caused a regression
where the dhcp port is no longer provisioned on
the (admin) metadata network created when a subnet
is uplinked to a router.

This change recovers the past behavior and extend UT
coverage to avoid further regression.

Closes-bug: #1304127

Change-Id: I8420203f68a43368f3784adb0c4cbbe55f048662
(cherry picked from commit 4cb3eb2a98246f28f8016cfe32946d365203fbae)
gw_port should be set as lazy='join'

This forces the object to be ready ahead of accessing time.
The change in loading behavior is also beneficial while listing
routers, as reduces the amount of queries being issued. Tests
show a performance gain of 15-30% for router-list times.

As Mr. Aaron Rosen is used to saying: Woot woot!!

Closes-bug: #1309144

Change-Id: Ibae261b91de26ca7c50e3f6c80e9be2a799785a3
(cherry picked from commit 966dbb5368d710e2652b18f5b9cb4295f58598da)
Validate CIDR given as ip-prefix in security-group-rule-create

There was no validation for the provided ip prefix. This just adds
a simple parse using netaddr and explodes with appropriate message.
Also makes sure ip prefix _is_ cidr (192.168.1.1-->192.168.1.1/32).

Validation occurs at the attribute level (API model) as well as at
the db level, where the ethertype is validated against the ip_prefix
address type.

Unit test cases added - bad prefix, unmasked prefix and incorrect
ethertype. Also adds attribute test cases for the added
convert_ip_prefix_to_cidr method

Closes-Bug: 1255338

Conflicts:
	neutron/tests/unit/test_security_groups_rpc.py

Change-Id: I71fb8c887963a122a5bd8cfdda800026c1cd3954
(cherry picked from commit 65aa92b0348b7ab8413f359b00825610cdf66607)
netaddr<=0.7.10 raises ValueError instead of AddrFormatError

This patch ensures that ValueError is also caught in addition to
AddrFormatError as in netaddr>=0.7.11 AddrFormatError is raised and
in netaddr<=0.7.10 ValueError is raised.

Change-Id: I595c90e42129a2d365f3860e3042e826bd031365
Closes-bug: #1308675
(cherry picked from commit dd2ccd12adfb6c7d4aa500ba4120f767beeed35c)
Merge "NSX: ensure dhcp port is setup on metadata network" into stable/icehouse