Enable hacking H233 rule

H233: Python 3.x incompatible use of print operator

Change-Id: I7acd664b888c0ba049524e5f519c72038d79495b
Adds delete of extra-dhcp-opt to the client

Add support to delete existing extra-dhcp-opt(s) for a port
via the port-update operation. To use it, set the opt_value=null
of the opt_name that you want deleted (i.e. neutron port-update
--extra-dhcp-opt opt_name=tftp-server,opt_value=null), which will
delete this DHCP option from the port.

Change-Id: I9c2c2474b2bfe8c8f8c3c3cc1513d2b999643d14
Closes-Bug: 1228008
Replace assertEqual(None, *) with assertIsNone in tests

Replace assertEqual(None, *) with assertIsNone in tests to have
more clear messages in case of failure.

Change-Id: I442951deb2bc6df199a1dd76142f71fc92e6f745
Closes-Bug:#1280522
Enable to select specific network service type

Network service type is selected as 'network' statically.
This will select the service_type from environment variables or CLI options.
The option works like the service type option in the novaclient.

Implements blueprint specify-service-type
Change-Id: If21bd2b5cb35da5bcabca79aa0567870331a3a6f
Python 3: fix a call to ugettext()

In Python 3, ugettext() does not exist and gettext() should be used instead.

Closes-Bug: 128485
Change-Id: Id9f51f0d630ef0c92fc315253c45d3abba356cd1
Print human friendly string as an error message

This commit also removes a blank line displayed
when error_dict['detail'] is empty.

When 403 is returned, Forbidden exception is raised from
HTTPClient (neutronclient/client.py). There is no reason
this exception is raised by it. By this commit v2_0.client
now handles 403 response to show human friendly message
by parsing Neutron 2.0 -specific error format.

Change-Id: Iefbd7db094267fe3799ebf4713e142e62c63174c
Closes-Bug: #1246271
Merge "Enable hacking H233 rule"
Supporting Net-Partition as extension for Nuage plugin

A net-partition provides administrative separation between groups of tenant
routers/networks/subnets. Within a net-partition, subnets can be shared, and
VMs can connect multiple vNICs to subnets within the net-partition.
For security and isolation between organizations, VMs may not connect
VNICs to subnets within more than one net-partition.

This work is in accordance with bp/nuage-networks-plugin which is
under review: https://review.openstack.org/#/c/67272/

Change-Id: Ia9b0304f714c65548cd6b8ce6ff74a3075c4e673
Implements: blueprint nuage-net-partition-extension
Merge "Supporting Net-Partition as extension for Nuage plugin"
New exception when auth_url is not specified

Certain scenarios into the neutron client will not specify the
auth_url.  This is typically when a token is specified.  However, when
the token is expired the neutron client will attempt to refresh the
token.  Users of this may not have passed in all of the required
information for this reauthentication to properly occur.

This code fixes an error that occurs in this flow where the auth_url
(which is None) is appended to another string.  This results in a core
Python error.

The update will provide a more targetted error message specifying to
the user that the auth_url needs to be specified.  An associated unit
test is also included to validate this behavior.

Change-Id: I577ce0c009a9a281acdc238d290a22c5e561ff82
Closes-Bug: #1241275
Updated from global requirements

Change-Id: I24869d188b7ecdc2a08ed10e1aafdeee2914d127
Merge "Adds delete of extra-dhcp-opt to the client"
Merge "Python 3: fix a call to ugettext()"
Use six.moves.urllib.parse to replace urlparse

Import six.moves.urllib.parse as urlparse for python3 compatible.

Change-Id: Icc6dc92c4d4016b8a4f1118220a51415d2b5feb0
Closes-Bug:#1279611
Merge "Print human friendly string as an error message"
Merge "Updated from global requirements"
Merge "New exception when auth_url is not specified"
CLI support for NSX gateway devices

Related to blueprint nsx-remote-net-gw-integration

Change-Id: Iedd080a29e281355420ace955fb09d196b54a316
Updated from global requirements

Change-Id: I54601b68bdf8660990efa82cdd8c961e7aff990c
Empty file shouldn't contain copyright nor license

According to policy change in HACKING:
http://docs.openstack.org/developer/hacking/#openstack-licensing
empty files should no longer contain copyright notices.

Change-Id: Ibda6e7650fcbe352a46d5b8bb259abd264804ba6
Closes-Bug: #1262424