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
Enable hacking H233 rule

H233: Check that all occurrences look like print functions, not print
operator.

Change-Id: I4600eb32e1a8ecba13fc252d7ef08681672a40a7
Disallow non-admin users update net's shared attribute

Currently non-admin user cannot create a network with
shared=True. But the user can create the network and then
change the shared attribute to True.

This patch will no longer allow non-admin user to update a
network's shared value to True.

Change-Id: Id596ee399c56b9882efab97a89dbf7d14c5cf7f4
Closes-Bug: 1268823
improve UT coverage for nicira_db operations

Also, ensure that a rollback is issued in the
event of any DB error.

Change-Id: I706db09f11fb5f6b369a1bd0cb1016df7d0359b5
Related-bug: #1265472
add quota support for ryu plugin

This patch adds Quota extension support to Ryu plugin and db migration
script.

Closes-Bug: #1266650
Change-Id: I4328ebf7bf307390461807bd8bb3318ac2f64845
Fix race condition in network scheduling to dhcp agent

Rarely dhcp agent rpc call get_active_networks_info() can interleave
with network scheduling initiated by create.port.end notification.
In this case scheduling raises and port creation returns 500.
Need to synchronize on DhcpNetworkBindings table.

Closes-Bug: #1276552
Change-Id: I52d94a40772a99c7032dba15b200bf0f21362f93
Fix misspellings in neutron

Fix misspellings detected by:
* pip install misspellings
* git ls-files | grep -v locale | misspellings -f -

Change-Id: I93d9e2a65b0c1d1d801cae59b74d7258fbdb17dc
Closes-Bug: #1257295
NVP plugin:fix delete sec group when backend is out of sync

If a security group does not exist on the NVP backend, an error
should not be raised on deletion of the security group.

This patch changes the plugin behavior by deleting the record
from the database and just logging that the security group
was not found on the NVP backend.

Closes-Bug: #1251422

Change-Id: Ib8adf7a830ff336655fd83ad4118cde641adf284
Support building wheels (PEP-427)

Universal is used to identify pure-Python module(by bdist_wheel). For
these, it is sufficient to build a wheel with _any_ Python ABI version
and publish that to PyPI (by whatever means).

Change-Id: Ibca65044d61d4b9b248013e4fe316f3c1a05f764
Merge "improve UT coverage for nicira_db operations"
Merge "validate if the router has external gateway interface set"
Merge "Enable hacking H233 rule"
Merge "NVP plugin:fix delete sec group when backend is out of sync"
Imported Translations from Transifex

Change-Id: Ie1523eac21f7222050cab5dc923810adfbb39f77
Fix typo in rootwrap files: neuton -> neutron

The l3 filters one in particular breaks /usr/local installs because
its spelt wrongly.

Change-Id: I609e3f448256cb8c9211c4d67ae48cb2ee5b6094
ML2 plugin cannot raise NoResultFound exception

The ML2 plugin cannot raise NoResultFound exception because it does not
use the correct sqlalchemy library:
'from sqlalchemy import exc as ...' instead of 'from sqlalchemy.orm
import exc as ...'

Closes-Bug: #1277914
Change-Id: If3819adc62b9254f0c08eea6dcfcf5f06288e20e
Improve handling of security group updates

Currently updates to security group rules or membership
are handled by immediately triggering a call to refresh_firewall.
This call is quite expensive, and it is often executed with a
very high frequency.

With this patch, the notification handler simply adds devices for
which the firewall should be refreshed to a set, which will then
be processed in another routine. The latter is supposed to
be called in the main agent loop.

This patch for 'provider updates' simply sets a flag for refreshing
the firewall for all devices.

In order to avoid breaking other agents leveraging the security
group RPC mixin, the reactive behaviour is still available, and is
still the default way of handling security group updates.

Partial-Bug: #1253993
Partially implements blueprint: neutron-tempest-parallel

Change-Id: I1574544734865506ff5383404516cc9349c16ec4
Return request-id in API response

Import RequestIdMiddleware from oslo which ensures to request-id
in API response. CatchErrorsMiddleware is also imported to ensure
all internal exceptions are caught outermost.
api-paste.ini is updated to use them.

KeystonAuthContext middleware is updated so that it uses
request-id generated by RequestIdMiddleware.

Add middleware to openstack.conf and import all modules
under middleware directory from oslo.

DocImpact UpgradeImpact
This patch adds new WSGI middlewares "request_id" and "catch_errors".
They needs to be added to api-paste.ini when upgrading.

Change-Id: Icf01b7de697ef50bef53212da2cf520d1ff78b88
Closes-Bug: #1239923
Merge "Fix typo in rootwrap files: neuton -> neutron"
Merge "Return request-id in API response"