On Wed, Jan 21, 2015 at 11:20:12AM +0900, Ken'ichi Ohmichi wrote: > Hi David, > > As we told today, I tried Neutron service client migration to tempest-lib. > but I found some blocking thing for it and I'd like to share it. > > I thought that the base service_client module and neutron service client > are migrated to tempest-lib without other service clients as the first step. > For doing that, we need to remove all CONF values from the base > service_client module and neutron service client. We can remove all CONF > values from neutron one but cannot do from the base service client before > removing all CONF values from the other service clients due to: > > https://github.com/openstack/tempest/blob/master/tempest/common/service_client.py#L31 > > So we need to remove all CONF values from all service clients before neutron > service client migration. >
The first thing that I feel we should be migrating before we start handling the service clients is the auth/credential code in tempest/auth.py. Right now the way tempest-lib is handling the auth layer is by passing in an auth provider as an arg, which is fine but the only examples of a working auth provider is in the tempest tree, not in the library. This isn't really useful for external consumers of tempest-lib. Before we start working on migrating other service clients I'd like to have the auth provider layer (and anything that requires) migrated into tempest-lib. I don't see much value in having other service clients migrated if this isn't sorted first. -Matt Treinish > > 2015-01-14 10:45 GMT+09:00 Kenichi Oomichi <oomi...@mxs.nes.nec.co.jp>: > > Hi David, > > > >> -----Original Message----- > >> From: David Kranz [mailto:dkr...@redhat.com] > >> Sent: Wednesday, January 14, 2015 4:25 AM > >> To: openstack-dev@lists.openstack.org > >> Subject: Re: [openstack-dev] [QA] Moving tempest clients to tempest-lib > >> (was Meeting Thursday January 8th at 22:00 UTC) > >> > >> On 01/08/2015 05:34 AM, Ken'ichi Ohmichi wrote: > >> > Hi, > >> > > >> > Unfortunately, I cannot join tomorrow meeting. > >> > So I'd like to share the progress of tempest-lib RestClient > >> > dev before the meeting. > >> > > >> > As Paris summit consensus, we have a plan to move RestClient > >> > from tempest to tempest-lib for moving API tests to each project > >> > in the future. And we are cleaning the code of RestClient up in > >> > tempest now. The progress will be complete with some patches[1]. > >> > After merging them, I will move the code to tempest-lib. > >> > > >> > This dev requires many patches/reviews, and many people have > >> > already worked well. Thank you very much for helping this dev, > >> > and I appreciate continuous effort. > >> > > >> > [1]: > >> > https://review.openstack.org/#/q/status:open+project:openstack/tempest+branch:master+topic:rest-client,n,z > >> > > >> > Thanks > >> > Ken Ohmichi > >> > >> Ken, I have a question about this. The end goal is to move the service > >> clients and so they must also be free of CONF references. But your > >> current changes create a ServiceClient that still uses CONF in its > >> constructor rather than taking the arguments. So I'm not sure what > >> ServiceClient is adding. I also think whatever class the service clients > >> are inheriting cannot contain CONF values? > >> > >> I was assuming the final arrangement would be something like, using > >> neutron as an example: > >> > >> tempest_lib.RestClient(all needed args) > >> tempest_lib.NeutronClient(all needed args to super) > >> tempest.NeutronClient(pass CONF values to super) > >> > >> and where the tempest_lib neutron client would be used by neutron tests > >> either through inheritance or delegation. Is that different than your > >> vision? > > > > Yeah, that is the same as my vision about service clients. > > At this time, I just move CONF values to service clients just for > > RestClient. > > But maybe we will change tempest/clients.py to the following for passing > > CONF values: > > > > - self.network_client = NetworkClientJSON(self.auth_provider) > > + self.network_client = NetworkClientJSON(self.auth_provider, > > + CONF.network.catalog_type, > > + CONF.network.region or > > CONF.identity.region, > > + > > endpoint_type=CONF.network.endpoint_type, > > + > > build_interval=CONF.network.build_interval, > > + > > build_timeout=CONF.network.build_timeout, > > + > > disable_ssl_certificate_validation=CONF.identity.disable_ssl_certificate_validation, > > + > > ca_certs=CONF.identity.ca_certificates_file, > > + > > trace_requests=CONF.debug.trace_requests) > > > > That is the next step for moving service clients to tempest-lib. > > > > Thanks > > Ken'ichi Ohmichi > > > > __________________________________________________________________________ > > 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 > > __________________________________________________________________________ > 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
pgpl_it6UILCE.pgp
Description: PGP signature
__________________________________________________________________________ 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