session_persistence: invalid str2dict value: u''

Can't receive empty session_persistence dict to update the vip.
It would raise the following error:

$ neutron lb-vip-update vip --session_persistence type=dict ""
usage: neutron [--session_persistence SESSION_PERSISTENCE]
neutron: error: argument --session_persistence: invalid str2dict value: u''

Change-Id: Ice43bbe19138be6af85b47c2090359d22c70b29f
Closes-Bug: #1262582
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: I3dd06b63d2fdcce8961f87fe1d71be052cb0fdf0
Extending quota support neutron LBaaS entities

Note: This change is a continuation of the abandoned
      change https://review.openstack.org/#/c/59192/
      Previous change was abandoned due to rebase problem.

Extending quota mechanism to support neutron
LBaaS entities. Adding quota for vips, pools, members
and health monitors.

This is one of four changes related to the BP.
This one is for python-neutronclient package.
Another one is for neutron project, another for tempest project
and another one for horizon/openstack-dashboard project.

See blueprint neutron-quota-extension for another two changes.

Change-Id: I2bfb974d513bd21b4dac6c90ddc6ede19797caf9
Implements: blueprint neutron-quota-extension
Remove unused imports

Remove unused imports in doc/source/conf.py

Change-Id: Ia21f8952b36ae74b1c2d3bfd10c0a4a04a390faa
Closes-Bug: #1265266
Work around pypy testing issue

A recent release of setuptools appears to have introduced a bug that
causes the pypy gate tests to fail. This applies a temporary workaround
that should restore pypy testing while the root cause of the problem is
researched.

The work around is suggested in the comment in bug 1290562.

Change-Id: Iac2ec604447b1638550219cd2e407daf188f8ede
Partial-Bug: 1290562
Merge "Extending quota support neutron LBaaS entities"
Merge "Remove unused imports"
Merge "Work around pypy testing issue"
Suppress stdout/stderr in test_shell

test_shell is refactored to check stderr in addition to stdout
and suppress stdout/stderr. In addition, test_auth tries API call
to keystone, so related methods are mocked out now to avoid it.

Change-Id: Id43ad905c5c13da9015d035267eaa86429e60ff3
Closes-Bug: #1161849
Rearrange neutronclient exceptions for more easy use

- Map exceptions from neutron server into corresponding client
  exceptions automatically (without exception mapping dict).
  An exception from Neutron server 'SomeException' will be
  mapped to an exception 'SomeExceptionClient' ('Client' suffix)
  if it is defined.

- If no corresponding exception is defined in client side,
  an exception per response code will be used. Previously
  NeutronClientException was used for all cases and a user
  of client library cannot know exception type without
  checking exception.status_code. It allows client lib users
  (such as Horizon) to handle exceptions more easily.

- All exceptions from client libarry inherit NeutronClientException
  and all CLI related exceptions inherits NeutronCLIError now.

- Remove unused exceptions (including Quantum v1 related)
- MalformedRequestBody is renamed to MalformedResponseBody
  because it is raised in deserializer and deserializer is
  used to parse not request but response.

Closes-Bug: #1296148
Change-Id: I99b9560b3afaf5884fd00353323267da450338fa
Show the unknown auth stratey in neutron client

This can help unveil some useful information
to be used during a troubleshooting process.

Change-Id: I23657988fe31f5c552f17d6963de89c608273b44
Closes-bug: 1297309
Adds support for os-auth-strategy=noauth

The noauth strategy will not attempt to look for a token and will not use a
token if one is given. This strategy will also not attempt to find a catalog
and therefore the endpoint must be specified (either in the constructor or
using --os-url).

If the noauth strategy is specified and the endpoint is not it will fail with
a descriptive message.

A small amount of branching logic was added to do_request to only add the
X-Auth-Token when the auth strategy is keystone. There is a blueprint (see:
pluggable-neutronclient-auth) which should implement this logic in a more
elegant way.

A basic test was made to ensure that the auth strategy acted as designed.

Implements: blueprint support-neutronclient-noauth
Change-Id: Id875ce6a4dfd1f932aaab2c25d430ed60e4713bb
Return response status reason on error

Upon server error, return the status reason if the body is empty, to
help debug server issues.

Change-Id: I29aef075081965bb8ecacf45a166ca9dbd4cbb8d
Closes-Bug: #1287110
Merge "Support building wheels (PEP-427)"
Updated from global requirements

Change-Id: I35dcfdd24067e6bd37f970d8ab73d416fbe55f96
Merge "Rearrange neutronclient exceptions for more easy use"
Merge "Updated from global requirements"
Merge "Return response status reason on error"
Merge "Suppress stdout/stderr in test_shell"
Merge "session_persistence: invalid str2dict value: u''"