[openstack-dev] [QA] Moving tempest clients to tempest-lib (was Meeting Thursday January 8th at 22:00 UTC)

Matthew Treinish mtreinish at kortar.org
Wed Jan 21 03:08:01 UTC 2015


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 <oomichi at mxs.nes.nec.co.jp>:
> > Hi David,
> >
> >> -----Original Message-----
> >> From: David Kranz [mailto:dkranz at redhat.com]
> >> Sent: Wednesday, January 14, 2015 4:25 AM
> >> To: openstack-dev at 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-request at 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-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20150120/d1488aac/attachment.pgp>


More information about the OpenStack-dev mailing list