Hi Ryota,

That is the one way as you mentioned.

On Fri, Dec 11, 2015 at 8:15 PM, Ryota Mibu <r-m...@cq.jp.nec.com> wrote:
> Hi,
>
>
> This is a question regarding design of clients and managers in a tempest 
> plugin.
>
>
> I'm not familiar with tempest, but it seems that there are the following 
> terms:
>
>     Client: client of service or feature (part of service)
>
>     ClientManager: having clients which are needed for particular test 
> scenario

Yes, clients called service clients are those which place request on
services and Manager to load those clients and make them available for
tests cases.

> According to [1], we are encouraged to have own client in each project 
> repository instead of tempest tree. That means we may have to gather clients 
> from other repositories to create a test scenario when it use other services. 
> For example, when <project A> and <project B> are out of tempest scope/tree, 
> we have to load client of <project B> from its repository in order to create 
> a test scenario under <project A>.

Yes, Tempest will maintain the service client for 6 core projects (as
per Big tent Architecture) and those will be available in Tempest-lib
as stable interfaces (many of the compute clients are available [4]
and other in progress).
Plugins or any functional tests can use those from Tempest-lib and
about other project(other than those 6 which Tempest own) clients, yes
plugin needs to use from that project repo.

>
> If so, I'd like to use tempest.test.BaseTestCase() with my ClientManager 
> which is customized to load clients from other repositories out of tempest 
> and my own repository. So, I proposed [2]. But, if there is a better approach 
> to do the similar thing, please let me know.

So existing plugins like Manila etc, instantiate their Manager  in
their base test class which is inherited from
tempest.test.BaseTestCase() Along with that way, your idea of adding
option in Tempest base class itelf to give flexibility to users to
provide Manager class looks good to me as a short term solution.
Tempest long term solution/goal is to provide the plugin ability for
Manager class also and make that available from lib. But that is plan
and might take time.

>
>
> [1] http://docs.openstack.org/developer/tempest/plugin.html
> [2] https://review.openstack.org/#/c/255161/

[3] - https://github.com/openstack/tempest-lib/tree/master/tempest_lib/services

>
>
> Thanks,
> Ryota
>
> -----------------------------------
> "Ryota Mibu" <r-m...@cq.jp.nec.com>
> NEC Corporation
>
>
> __________________________________________________________________________
> 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



-- 
Regards
Ghanshyam Mann
+81-8084200646

__________________________________________________________________________
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