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

Kenichi Oomichi oomichi at mxs.nes.nec.co.jp
Wed Jan 14 01:45:40 UTC 2015

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.

Ken'ichi Ohmichi

More information about the OpenStack-dev mailing list