[openstack-dev] [QA][Nova] Special scenario tests
Matt Riedemann
mriedemos at gmail.com
Thu Apr 27 21:56:27 UTC 2017
On 4/21/2017 8:36 AM, Ferenc Horváth wrote:
> Dear OpenStackerz,
>
> I'd like to improve the coverage of the current test suite over some
> special code parts in Nova.
> My main target is to add a few scenarios [1] that would exercise the
> AggregateMultiTenancyIsolation scheduler filter.
> I'm also planning on adding new test cases for other filters and for
> some libvirt related features [2] as well.
>
> Unfortunately, [1] and [2] could not be merged into Tempest for various
> reasons, hence I started working on functional tests in Nova.
> However, since functional tests cannot be used to verify that a deployed
> system behaves correctly, we still need end to end tests.
> Therefore, I'm proposing a new Tempest test plug-in [3,4] that would be
> the home of currently out of tree tests.
> The idea is that these tests would run separately on a weekly basis to
> not use too much resources, but the rest of the questions are still open.
>
> Therefore, I'd appreciate any advice or review on this topic.
>
> Thank You all in advance.
>
> Best regards,
> Ferenc Horváth
>
> [1] https://review.openstack.org/#/c/374887/
> [2] https://review.openstack.org/#/c/315786/
> [3] https://review.openstack.org/#/c/448482/
> [4] https://review.openstack.org/#/c/451227/
>
> __________________________________________________________________________
> 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
As discussed in the nova meeting today [1] I think some of this could
make sense as a Tempest plugin, or an in-tree functional test using
fixtures, or an in-tree dsvm integration style job that's not Tempest
but runs real tests against a live devstack configuration.
For the scheduler filter testing, I think that's something that is
totally doable with the in-tree functional tests using our fixtures. You
don't need devstack for that since it's just testing the logic of the
scheduler filters. We have running services, database, and a live API in
those tests, and external services like cinder/glance/neutron are
stubbed out. An example of a test like this is here [2]. I understand
you have some internal requirements for how these tests are performed
though, so I can't really help you there. Keep in mind if you do it with
an in-tree functional test, it gets tested on every change and is
voting, whereas a periodic job is not and you only find out it's broken
after we break it.
For testing the libvirt watchdog action we obviously need a real
deployment with running libvirt. I think you could do that as a tempest
plugin or as an in-tree dsvm integration job, much like how the
novaclient functional tests work (those aren't tempest but they run
against a live devstack and execute real APIs via the nova CLI). The
downside is we don't have any dsvm-integration infrastructure setup in
Nova today, so you'd have to blaze that trail. But we've talked about
this as a need for a long time, so it'd be great if someone worked on
it. Alternatively it could be an in-tree Tempest plugin...but then we
can't test things like the libvirt image cache which is something we
could do with a dsvm-integration job I think, or the evacuate API (we'd
have to run that in serial so it doesn't break other concurrently
running tests). Actually testing evacuate would be awesome though.
In general I feel like writing a CI job for a very specific scheduler
filter configuration is overdoing it, unless you also made that job
re-configurable on the fly, like how the live migration job works [3].
[1]
http://eavesdrop.openstack.org/meetings/nova/2017/nova.2017-04-27-21.00.log.html#l-111
[2]
https://github.com/openstack/nova/blob/master/nova/tests/functional/regressions/test_bug_1671648.py
[3]
https://github.com/openstack/nova/blob/master/nova/tests/live_migration/hooks/run_tests.sh
--
Thanks,
Matt
More information about the OpenStack-dev
mailing list