Fixes missing method in Hyper-V Utils (Metering)

Change-Id: I2beecfd13617fb243008016b810f49db5593fc65
Closes-Bug: 1252712
Add missing quota flags in the config file sample

l3 extensions don't set quota flags in the config sample file
etc/neutron.conf.
Quota is unlimited if its value is minus and not only if it's -1.

Closes-Bug: #1250574
Change-Id: I76c8d1e2676d4e9b0feeed6e504e759fe736a0db
Switch to using spawn to properly treat errors during sync_state

Changes f1b9ac5a and 9f6ff7e3 were aimed at improving the robustness
of the sync_state method. However both missed switching from spawn_n
to spawn to properly deal with raised exceptions.

Change-Id: Ieda4a5ecca63de67d8a9757962e7e3383fd9c9ea
Related-bug: #1257514
validate if the router has external gateway interface set

If the router wants to work with vpn service, we must
make sure external gateway interface is set.

This patch cannot prevent user from clearing the gateway interface
of the router after the vpnservice is created.

Change-Id: If0f00def949b31c1e3da7a2cd055454567201e4c
Closes-Bug: #1258379
Add post-mortem debug option for tests

Post-mortem debugging, the ability to drop into a debugger with the
execution state that triggered the exception, is very useful in
diagnosing failure conditions.  Our previous test runner, nose,
provided the ability to enable post-mortem debugging on test
failures (via --pdb-failure) and errors (via --pdb).  testr
lacks these options at present, so this change adds support
for enabling post-mortem debugging via an environment variable.
All test-triggered exceptions will result in a post-mortem debugger
being invoked if OS_POST_MORTEM_DEBUG is set to "1" or "True".

Implements: blueprint neutron-pm-debug-on-test-failure
Change-Id: Iddbe1335b059d062c0286df2ad27aef7728461b7
Remove start index 0 in range()

Remove the useless arg ("start index" = 0) in files, since its default
value is 0, to make code cleaner.

Fixes bug #1259560

Change-Id: Id595630f97b21cc84aefc39b31e7f09f5fb8deb9
Update common network type consts to same origin

This patch removes new definitions of common network type constants (TYPE_FLAT,
TYPE_LOCAL, etc.) and modifies uses of aforementioned constants to a common
place where constants are defined (neutron.plugins.common.constants). This
patch does not change values that are equal in value but different in name:
NETWORK_TYPE_FLAT vs TYPE_FLAT. A second changeset will be made to handle that
case.

Unit tests were modified as well when they referred to the constant.

Finally, the ovs agent code refers to the OVS plugin constants directly and
these had to be changed as well. A TODO flag was put in that file due to use
of another plugin specific constant.

Network types that were only defined in a single plugin, such as mellanox's
infiniband (IB) network type was not carried over to the common constants file.

Fixes-bug: #1196170

Change-Id: Ib6bfc8275496a24bf247946d177c734b62ae44bb
fix --excluded of meter-label-rule-create is not working

rule['excluded'] is boolean type, should not be compared with 'true'

Closes-Bug: #1248002
Change-Id: Ie78c307ede1f7124c58354825a411474ff6c1234
Do not trigger agent notification if bindings do not change

The method _process_port_bindings for the ml2 plugin should not
return True when the host binding does not change, otherwise an
unnecessary notification will be sent to the agent

Closes-Bug: #1255680
Related-Bug: #1253896
Partially Implements: neutron-tempest-parallel

Change-Id: I8a40090af347ca430ff6c8e2211fa34bb2bd0f8c
LBaaS: fix handling pending create/update members and health monitors

When agent requests loadbalancer logical config from server,
server returns only active pool members and health_monitors.
Need to make server return also members and monitors which are in pending states.

Also a small refactoring moving ACTIVE_PENDING set to common place

Change-Id: I8e10004f199f982b055da18ea7a0e5e4d11fa7fb
Closes-Bug: #1259965
Updates tox.ini to use new features

tox 1.6 allows us to skip the sdist step, which is slow. This does that.
It also allows us to override the install line. In this case, it's
important as it allows us to stop getting pre-release software we
weren't asking for.

Original patch by Monty Taylor, talked about here:
http://lists.openstack.org/pipermail/openstack-dev/2013-September/015495.html

Change-Id: I87f172cfcc44c9afff9c5162791d6c6b31972702
NVP plugin: Avoid timeouts if creating routers in parallel

There is a well-known issue of eventlet causing deadlocks with
mysql transactions; such condition might occur when
creating NVP routers in parallel.

To avoid this, this patch moves the long-running method
_update_router_gw_info outside of the mysql transaction, adding
the appropriate failure management code, and adds a lock to the
method _nvp_create_ext_gw_port, to ensure serial access to it.

Unit tests for verifying correct behaviour in case of failures
are added as well.

Closes Bug: #1251847

Change-Id: I2864e2f5bfd3982875ef9df97186f64a9fcaa0e0
NVP plugin: Do backend router delete out from db transaction

Performing the NVP API operation from within a DB transaction
increases the risk of a deadlock between sqlalchemy and eventlet.

With this patch, the operation is moved outside of the db transaction
and appropriate mechanism are put in place for:
i) ensuring neutron db consistency in case of NVP failures
ii) avoiding deleting from backend if neutron logic does not allow it

This patch also synchronizes the routine for removing a router
gateway port from NVP.

Change-Id: I58d156e303e7a56ceb8c62766c192e154b0a3bb4
Closes-Bug: #1258150
LBaaS: synchronize haproxy deploy/undeploy_instance methods

When creating/deleting lbaas objects at a high rate (like tempest api tests do)
deploy/undeploy_unstance methods of haproxy namespace driver
may be executed concurrently which leads to different conflicts with
network namespaces and interfaces created by the diver.

@synchronized decorator should be used in order to ensure that only one thread
will execute one of the methods at a time.

Closes-Bug: #1260692

Change-Id: Ibe86653c20c9a4e0b4e7b3b2cefbd445428b82da
extra_dhcp_opt add checks for empty strings

When passing extra-dhcp-opt into the port-create where an empty string
is provided as opt_value='   ', the create and update routine will load the
empty string into the DB. The result when written to the opts file is:
"tag:ece4c8aa-15c9-4f6b-8c42-7d4e285734bf,option:server-ip-address", which
when read by dnsmasq has been tested to cause dnsmasq to segment fault.

Change-Id: I31de4a3d27092bb219d20221c5ef5a6b22e050dc
Closes-Bug: #1257467
Revert "move rpc_setup to the last step of __init__"

This reverts commit f691ebe03916a78cbf18017d628a28b17f147700.

Change-Id: Idc0bb0e4401e2561f2d8e3132f14df14b7537448
Partial-Bug: #1253896
Merge "Updates tox.ini to use new features"
Merge "Revert "move rpc_setup to the last step of __init__""
Imported Translations from Transifex

Change-Id: Ib37e90be421f09b9e9d3324f7b3152b87226ac99
Merge "NVP plugin: Do backend router delete out from db transaction"