[openstack-dev] [tempest][plugins] Service clients stable interface in tempest.lib

Andrea Frittoli andrea.frittoli at gmail.com
Fri Aug 12 12:37:13 UTC 2016


Hi Tempest plugin developers / maintainers,

a new stable interface "ServiceClients" [0][1] is available in Tempest that
provides tests with a convenient way to access all available service
clients.
At the same time the plugin interface is extended with an optional method
"get_service_clients" [2][3], that allows plugins to declare any service
client they implement.

When a plugin uses "ServiceClients", all Tempest stable clients and all
clients exposed by installed plugins via the new interface will be
automatically available and pre-configured.
This makes it easy for plugins to access service clients and to write
integration tests which access APIs via service clients implemented in
different plugins.

One caveat is that three of the Tempest service clients are stable at the
moment: compute, network and image.
Work is in progress to make the other three (identity, volume and
object-storage) stable as well.

ServiceClients replaces the legacy "Manager" classes [2] and [3], which are
not stable interface and may change or disappear without prior notice.
We'll keep them both around unchanged for a reasonable amount of time to
allow for plugins to switch to the new interface - and at least as long as
the remaining Tempest service clients are available in tempest.lib.

I tried out the new interface with a couple of plugins already [6][7]. I
would heartily recommend migrating your Tempest plugin to the new
interface, especially if your currently using one of the unstable "Manager"
interfaces today. Please reach out for help in the #openstack-qa room if
you have questions on the new interfaces, trouble using them in your
plugin, requests for features or feedback.

Thanks for reading through.

Andrea Frittoli (andreaf)

[0]
http://docs.openstack.org/developer/tempest/library/clients.html#tempest.lib.services.clients.ServiceClients

[1]
http://docs.openstack.org/releasenotes/tempest/unreleased.html#new-features
[2] http://docs.openstack.org/developer/tempest/plugin.html#service-clients
[3]
http://docs.openstack.org/releasenotes/tempest/unreleased.html#new-features
[4]
http://git.openstack.org/cgit/openstack/tempest/tree/tempest/manager.py#n26
[5]
http://git.openstack.org/cgit/openstack/tempest/tree/tempest/clients.py#n35
[6] https://review.openstack.org/#/c/334596/
[7] https://review.openstack.org/#/c/338486/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20160812/25d981f0/attachment.html>


More information about the OpenStack-dev mailing list