Hi,

Le 10/11/2015 07:29, Kekane, Abhishek a écrit :
We have done extensive analysis to figure out the differences of usages of
different oslo-incubator/openstack/common/apiclient modules used in the
respective Openstack python client libraries and added all our
observations in the google spreadsheet [2].

Good job! I added my +2 to your spec.
https://review.openstack.org/#/c/235200/


Possible resolutions:-
1) Remove auth_plugin.py from respective python client libraries and add
all required common functionality in auth.py. Add auth.py module into the
new apiclient library.
2) Remove auth.py completely and add auth_plugins.py module in the
respective python client libraries. No need to add auth.py into the new
apiclient library.
3) Check if keystoneauth library has all needed functionality present in
auth.py and auth_plugin.py. If present, don¹t include auth.py in the new
client library and eliminate auth_plugin.py from python client libraries
and instead use keystoneauth wherever needed.

I don't like (2): security matters, it's better to use the same code in all clients.

IMHO the best would be (3): put required functions directly in keystoneauth.

If it's not possible for whatever reason, (1) is my second favorite choice.


exceptions.py
===================

Please refer to the exception classes present in the respective python
client libraries in the google spreadsheet ³exception_details².
All common exceptions from respective python client libraries should be
moved to the exception.py module and this module should be part of the new
apiclient library.

Agreed, but only common exceptions. For example, only solumclient defines and uses NotUnique, there is no need to put it the oslo.apiclient.


fake_client.py
===================

Retain this module as it is for unit testing purpose.

It might be moved to oslo_apiclient/tests/ directory.


Possible resolutions:
1. Move utils.py to the new apiclient library and delete find_resource
method from all python client libraries and make them use it from the
apiclient library
2. Simply not include utils.py to the new apiclient library and implement
find_resource method in the manila client.
We prefer to implement option #1.

Since all clients need this function, I would prefer to put it in the new library. I hope that it's not to hard to refactorize the code to have one unique implementation.


Victor

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to