10 Commits

Author SHA1 Message Date
lin-hua-cheng
63429aeca8 Address hacking check H405
Previously, there were a string of commits to keystone that addresed ignored
hacking checks. This commit does the same for H405 in keystoneauth. This
also modifies our tox.ini so that we no longer ignore H405 violations.

Change-Id: I0ac1165f309edd486639e2729c18330b1d062eb3
Closes-Bug: 1482773
2015-11-18 21:18:37 -08:00
Dolph Mathews
10c5961426 Make __all__ immutable
Using a mutable type implies that it's acceptable for the set of
publicly-accessible attributes to be mutated at runtime, which defeats
their intended purpose of documenting the public interface. Tuples are
immutable.

Change-Id: Ib3ab93224ba240040b08ece481ef5ba620c3f658
2015-10-01 18:21:31 +00:00
Gregory Haynes
ce67a601b0 Use option dest rather than name in missing error
When we are missing a required option we should use option.dest rather
then option.name so a user is presented with the correct value to use
(otherwise we say auth-url is missing when auth_url is what we actually
wanted, for example).

Change-Id: Ie1d72f6969bfcebdf94619158eb94ccac3bc75ba
2015-09-16 16:32:29 -07:00
Jamie Lennox
d652305145 Raise error if loader is provided name without id
For v3 if you provide project_name or user_name without the
corresponding id it is going to fail. To get around this OSC and OCC
have been doing pre plugin loading validation checks.

Now that loading is separate from the plugin itself it makes sense that
we can enforce certain requirements on plugin loaders such that only
valid configurations may be loaded.

Change-Id: Ife6ff07214d702d76ce8b1d0e87f60f732aa0230
2015-09-01 13:58:53 +10:00
Jamie Lennox
5958739cb9 Change option requirement testing
Change options requirement testing so that it is performed on the base
load_from_options method. This will mean it gets shared between all
loading mechanisms.

I removed the verify_auth function because it is a bit too specific to
the OSC/OCC case. auth_type is not something that is part of
keystoneauth. I also modified the exception as it should no longer take
the plugin name as this would be knowledge any calling function has.

OSC/OCC could use this function to implement a higher level error
message, but I think it should be keystoneauth's responsibility to
validate auth plugins and they should just offload the options.

Change-Id: I1531b95562382e955fab44d01e7ba705d26d352f
2015-09-01 10:55:46 +10:00
Jenkins
8649e298e9 Merge "Port in the argument scrubbing from OCC" 2015-08-24 18:33:33 +00:00
TerryHowe
6be3ae70cd Clean up exception messages
In https://review.openstack.org/#/c/212670/ there was some
discussion about cleaning up these exception messages.  Here
it is.

Change-Id: I6bf1d7351f5fd90451f6d0d7c7e2575e584cbc62
2015-08-18 12:18:03 -06:00
Monty Taylor
2a80dc5f10 Port in the argument scrubbing from OCC
Processing a parameter dict and extracting the declared parameters for
the given auth plugin is clearly in the problem domain of keystoneauth.
It's also just simple data transformations. Move it here.

Change-Id: I6da32fee4061ab31207cb06503ec78bb45629fb2
2015-08-17 15:57:05 +00:00
TerryHowe
c7f60421a0 Use human readable exception messages
Currently, the exceptions are nothing if converted to strings.
The doc strings are human reable and useful to users, so use them.
Before:

    $ python examples/connection.py
    ERROR: Exception raised:
    $

After:

    $ python examples/connection.py
    ERROR: Exception raised: Could not find requested endpoint in Service Catalog.
    $

Change-Id: I1300e411c93bdfb17975e4f61e925b5b6474434c
2015-08-13 11:24:33 -06:00
Morgan Fainberg
a0000e4e9a Move to the keystoneauth1 namespace
Conver from the keystoneauth namespace to keystoneauth1. This is to
ensure that is is possible to install all versions of keystoneauth
side-by-side.

Change-Id: Ibbaf11525980c8edb5968d8b8ee19c55094e77d8
2015-06-25 16:48:54 -07:00