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