Improve help message of loadbalancer commands

- Correct the help for healthmonitor type (Fixes bug #1203582)
- Use choices for the enum fields:
  healthmonitor type, pool lb-method, pool protocol
- Convert metavar to uppercase

Change-Id: I2a648949b48385249dde0c5868f564e1f17c3675
remove useless column in list_columns

Bug #1209478

Change-Id: I2c231394bac9b30263f8ac87c1112eb6f1715808
Updated from global requirements

Change-Id: Ic4a43955526fcde313ad2f2afec8fafeb87f37a6
Remove status field from the list of fields of Healthmonitor

Reflect change on server side.

Change-Id: I1e6aaa09e51ba8bd1dc14abeaa39483bab51364d
Merge "remove useless column in list_columns"
Add credentials and profile support to Neutron client

Add support to the Neutron client for credentials and profiles to allow
for working with Nexus 1000V. These are in support of the Nexus 1000V
Cisco plugin work.

Change-Id: I63e7ea09b1da027e308e32ae9a8e0400ab5965f2
Implements: blueprint cisco-n1k-neutron-client
Merge "Improve help message of loadbalancer commands"
Move tests back to neutronclient package

Neutron itself has all of its tests in neutron/tests, as do 2/3 of
the projects in OpenStack. There are a wealth of reasons to put
them in the package, not the least of which that tests/__init__.py
implies a code living in a global namespace called tests.

Change-Id: I2aaacfe59d6790648aa4587e89e6dd28a9149a6c
Merge with Oslo (master/ded9bd6)

Merges with current master of oslo-incubator, which brings
in several Python 3.x and other code fixes:

    ded9bd6  Make dependency on netaddr optional
    c331e74  Enable multiple translation domains for gettextutils
    17df920  Allow mapping _ to lazy gettext path
    ed653bf  Fix Message format-string parsing
    3198881  Add common methods required to allow translation of REST API responses
    df3f2ba  BaseException.message is deprecated since Python 2.6
    79ee367  Add more robust gettext interpolation handling
    45e0cbe  python3: Add basic python3 compatibility.
    1a2df89  Enable H302 hacking check
    d28fa69  python3: Add python3 compatibility.
    7b7566b  Add netaddr.IPAddress support to to_primitive()
    67bd769  python3: Fix traceback while running python3.
    b0c51ec  Refactors to_bytes
    472d8ed  Add slugify to strutils
    7119e29  Enable hacking H404 test.
    4246ce0  Added common code into fileutils and strutils.
    e3545f8  Enable hacking H402 test
    484a1df  Enable hacking H403 test
    50cae76  Add basic lazy gettext implementation
    536c39e  Add 't', 'y', and `strict` to `bool_from_string`
    d9b0719  Handle ints passed to `boolean_from_string`
    fde1e15  Convert unicode for python3 portability
    8c964a2  Do not import openstack.common.log in strutils
    9dcf688  Optimise to_primitive common cases
    e700d92  Replaces standard logging with common logging
    c8f676b  Support overriding oslo localedir too
    d8b66c7  Add a gettextutils.install() helper function
    f75126c  gettextutils: fix translation domain
    547ab34  Fix Copyright Headers - Rename LLC to Foundation
    2cb8e45  support ISO 8601 micro-second precision
    4eae556  Don't LOG.error on max_depth (by default).
    bd5dad9  Decode / Encode string utils for openstack
    a94b9b4  to_primitive imposes what seems to be an arbitary data structure
    a878193  Allow to_primitive to ignore datetimes
    1461135  timeutils: considers that now is soon
    a956f7a  Import timeutils.is_soon from keystoneclient
    d3a4c8e  UTC ISO8601 from timestamp
    33b12d3  Implement importutils.try_import.
    a08daf1  Use basestring instead of str for type check.

Change-Id: I7dc12e23ba89b74a3beeb49c24986110bd1682c6
VPN as a Service (VPNaaS) Client API

Implements:blueprint VPNaaS-Python-API

This provides the basic Neutron Client
CLI for configuring:
* VPNService
* IKEPolicy
* IPsecPolicy
* IPsecSiteConnection

Change-Id: I72ab670d23109a4bb1174acf48e4b77958e855e1
Add multi-segment and trunk support to N1KV Neutron client

Change-Id: I7e1f8ffb0c5aadfbfd1b808e49495f27aae4ef12
Implements: blueprint neutron-client-n1000v-multisegment-trunk
Merge "Merge with Oslo (master/ded9bd6)"
neutron router-gateway-set failed for non-admin users

Fixed the neutron router-gateway-set command regression:
"neutron router-gateway-set <router> <public-net>"
is failing for non-admin users.

Changed the behavior to pass the enable_snat attribute to
the server only when the --disable-snat option is specified.

bug 1209027

Change-Id: Iec55a17ed7966ee15bf05982d98540fe6884fa20
Fix H202 hacking check in VPN client

Closes-Bug: #1217840

H202 was added recently in hacking 0.7.0.

Change-Id: Icaa73bb3483844a8d50e8fa1bf01495375c49dc9
Added support for running the tests under PyPy with tox

This is a precursor to having them run under check and gate.

Change-Id: I00db253bae5275d475dd3b1943dbc3673bb54b99
Sync test-requirements with global requirements

requirements.txt in hacking coordinates the installation order
of pep8, flake8 and pyflakes as other projects do.

Change-Id: I3b4e8ee88ba01d0ba917b8e968ebabec74a554ab
Make _test_update_resource honor format

Closes-Bug: #1217759

Partial-Bug: #1217791
Due to the Related-Bug: #1217791, MyComparator does not work
in some cases. We need to use a workaround that serialized body
to mocked self.client.httpclient.request. It is already adopted
in _test_create_resourse and I borrow it.

Change-Id: I746d272bc7ba8542c29e47823f707a761dddb0b1
Makes client always use provided endpoint_url

When nova uses neutron-client and the client needs to authenticate with
keystone it will additionally retrieve the service-catalog. The client will
then ignore the provided endpoint_url parameter given to it during
instantiation because the service-catalog retrieval process overrides that
parameter.

Using the endpoint declared in the service-catalog even though the endpoint is
given is unexpected given the precedent set by glance-client to respect that
parameter. Ensuring the parameter is used will allow users to override the
identity's catalog. This is useful if identity is in error, or if the user is
using a special development configuration.

Unit tests are included to test that said functionality occurs.

Fixes: bug #1212812
Change-Id: Iad2eaf4096fd5278740c3664cc369853814ee2d5
Add 'distributed' option to router-create command

Blueprint nvp-distributed-router

Change-Id: I831da0cc3ff4004549a4e4673eadf2a5920d9573
Move vpn unittest code to neutronclient.tests

Closes-Bug: #1217205

This commit fixes the following bugs which are detected by moving
VPN unittests.

* Raise CommandError instead of Value/KeyError in VPN parameter
  validation (Closes-Bug: #1219192)

* Delete dpd_timeout_less_than_interval test in IPsec site
  connection tests.  CLI does not validate this and it raises
  ConnectionError and results in the test failure.
  (Previously this test catches a general Exception,
   so the unit test does not fail unexpectedly.)
  (Closes-Bug: #1219389)

  There is a confusion on whether dpd_timeout == dpd_interval
  should be accepted in server side code, document and CLI.
  it is important to make VPN related tests enabled, so I decided
  to leave the fix of validation logic in the future work.
  (Filed as Related-bug: #1219440)

Change-Id: Ie4f4e8cdf533a983d0a6d4d564a7267a3323b832