Allow unsharing a network used as gateway/floatingip

If network has ports that connect it as gateway to another network, such
as an external network, or "floating ip" ports it should still be
possible to "unshare" it since these ports represent usage of the
network as an external network, not as a VM data network.

Change-Id: Ic33ae7ac193e4fc9fe06a4cfd579a4aacf0e6354
Closes-bug: #1293184
Bump hacking to version 0.9.2

Change-Id: I871fba00fd2abc1ea24fcd44fbd7526ed1d40537
Fix enums usage for postgres in migrations

For downgrade with postgres it is not enough to just drop_table if
table contains enums. The enums should be removed separately after
deleting the table.

Also, if a migration uses an existing enum then postgresql needs some
specific code to re-use this enum.

Closes-Bug: #1243213

Change-Id: Ie5bb8282f7b289c917679192a0d722eb29b8d30f
Audited attribute for policy update not changing

Updating firewall policy with shared, name or description is not changing the
audited attribute to false. Modified firewall policy update to make audited
to false.

Change-Id: Ic3f3e08190dcdaa8f4ecda729bdb2fdf1bdadc52
Closes-bug: 1327063
Configuration agent for Cisco devices

A generic config agent for configuring L3+ services in Cisco devices.

This patch targets specifically configuration of L3 fuctionality,
namely routing, NAT and floatingIPs in Cisco CSR1kv virtual appliance.

Implements blueprint: cisco-config-agent
https://blueprints.launchpad.net/neutron/+spec/cisco-config-agent

Change-Id: Ic887a93480eca0b56049c67e32c98658e3a4427f
Fix ML2 Plugin binding:profile update

The current fix changes the logic for binding:profile
update. The binding:profile should be considered as changed
once it is present in the port attributes and differs from
existing binding:profile. The specified binding:profile with
None value should be treated as request to clear binding:profile.

Change-Id: Ibda9a1beec697fbee5be0ee379349035c3626509
Closes-Bug: 1338202
Call config_parse in base test setup

Some of the tests (e.g. NeutronDbPluginV2AsMixinTestCase) do not call
config_parse so if the database engine is not already been setup by another
test before the config object is reset on teardown, the database connection
will fail since the database config is then empty.

This patch adds a new setup_config method called during the base test case
setUp method which calls config_parse by default to load the default config.
Tests that couldn't use the default config were then modified to override the
setup_config method.

Some other unit tests were slightly adjusted to pass using the default config.

Closes-Bug: #1346673
Change-Id: I3724200fa932115c0a8c264640b1a9dbe431a1cc
Functional tests work fine with random PYTHONHASHSEED

Partial-bug: #1348818

Change-Id: Iccac403585635851c6d121d6e27c1c90b0de5acb
ofagent: Update a comment in port_bound

Change-Id: Ia393f8cbeafe03455b8f75302c71365fcd75a51e
Make dvr_vmarp_table_update call conditional to dvr extension

Without making this call conditional, every l3plugin that
integrates with the ML2 plugin will need to implement this
method and this must not be necessary.

Closes-bug: #1349638

Change-Id: Ie9ba3bad4152810f5bfa530be54be70139cebc0c
Replaced the strings with respective constants

Change-Id: Ie36fde1307a75c1485120d848f8bdb182e5e1fc0
Closes-Bug: 1344497
Race condition of L3-agent to add/remove routers

This race condition happens when repeatedly calling
l3-agent-router-add and l3-agent-router-remove
by different neutron-servers at the same time.

The primary key constraint is added for the pair of
(router_id and l3_agent_id).

During migration, verification is done if the current
records violate the PK constraint defined in this bug
fix, and sanitize the data before schema modification.

Due to different dialects of database engines, different
sql statements are executed correspondingly to do
the verification.

Change-Id: Ia541e023b757b2e77c4eec9bb1670632c7a271fa
Closes-Bug: #1230323
Fix deprecated opt in haproxy driver

If Neutron was updated from Havana, lbaas config file defines user_group
and loadbalancer_state_path in default section but since Icehouse these
settings were moved to haproxy section.
This patch adds DEFAULT group to DeprecatedOpt.

Change-Id: Ic92d4bc81ff6a3b16799414d17ac52e7a4801796
Closes-bug: #1349767
Fix wrong order of tables in downgrade

Heal migration fix bug https://bugs.launchpad.net/neutron/+bug/1336177.
Now table ml2_brocadenetworks has foreign key and downgrade
of 492a106273f8_brocade_ml2_mech_dri fails. To fix this change order
of tables in downgrade is needed.

Closes-bug: #1349810

Change-Id: Ida2ba66d35a952381f213080d417e475e18c196d
neutron.conf does not have the definition of firewall quotas

We have the definition of quotas for firewall/policy/role
in code, but we do not have them in neutron.conf.

Change-Id: I23ae4f5c00ccc62dd9f97c77011da4ce0bbf983e
Closes-Bug: #1349318
Move ARP responder test to sanity command

Additionally, the patch improves the check itself:
To check if the currently installed OVS supports the ARP responder
feature, we try to add a flow that references an OpenFlow ARP
extension via ofctl. The test may fail due to an (expected)
Runtime error, or due to some other unexpected error.
In such a case the error was previously masked and tossed away.

* Clean up ARP responder unit test
* Extract ARP responder flow actions to be used by the unit
  tests, functional test as well as the ARP responder code itself

After this patch, if the sanity check returned False but the
user never ran it or ignored its results, the OVS agent will
output errors to the log every time an ARP entry is (attempted)
to be added or removed from the flow table.

Closes-Bug: #1323718
Change-Id: I428c954d6561cd398a1e580804a9482969a154af
Check that router info is set before calling _update_arp_entry

Change-Id: Ieec6fb01a7d48bed1042114c27527fe6ec2555e0
Closes-bug: #1350028
Do not schedule network when creating reserved DHCP port

If device_id is DEVICE_ID_RESERVED_DHCP_PORT, do not schedule
network nor notify to dhcp-agent.

Closes-Bug: #1327000
Change-Id: Idf88767596bf0fc31bf856a423d35cb1575b57f3
Merge "Fix wrong order of tables in downgrade"
Merge "Fix deprecated opt in haproxy driver"