[openstack-dev] [Ironic] functional (aka integration) gate testing

Vladimir Kozhukalov vkozhukalov at mirantis.com
Tue Dec 3 15:32:15 UTC 2013


We are going to make integration testing gate scheme for Ironic and we've
investigated several cases which are actual for TripleO.

1) https://etherpad.openstack.org/p/tripleo-test-cluster
This is the newest and most advanced initiative. It is something like "test
environment on demand". It is still not ready to use.

2) https://github.com/openstack-infra/tripleo-ci
This project seems not to be actively used at the moment. It contains
toci_gate_test.sh, but this script is empty and is used as a gate hook. It
is supposed that it will then implement the whole gate testing logic using
"test env on demand" (see previous point).
This project also has some shell code which is used to manage emulated bare
metal environments. It is something like prepare libvirt VM xml and launch
VM using virsh (nothing special).

3) https://github.com/openstack/tripleo-incubator/blob/master/scripts (aka
devtest)
This is a set of shell scripts which are intended to reproduce the whole
TripleO flow (seed, undercloud, overcloud). It is supposed to be used to
perform testing actions (including gate tests).
Documentation is available
http://docs.openstack.org/developer/tripleo-incubator/devtest.html

So, the situation looks like there is no fully working and mature scheme at
the moment.

My suggestion is to start from creating empty gate test flow (like in
tripleo-ci). Then we can write some code implementing some testing logic.
It is possible even before conductor manager is ready. We can just directly
import driver modules and test them in a functional (aka integration)
manner. As for managing emulated bare metal environments, here we can write
(or copy from tripleo) some scripts for that (shell or python). What we
actually need to be able to do is to launch one VM, then to install ironic
on it, and then launch another VM and boot it via PXE from the first one.
In the future we can use "environment on demand" scheme, when it is ready.
So we can follow the same scenario as they use in TripleO.

Besides, there is an idea about how to manage test environment using
openstack itself. Right now nova can make VMs and it has advanced
functionality for that. What it can NOT do is to boot them via PXE. There
is a blueprint for that
https://blueprints.launchpad.net/nova/+spec/libvirt-empty-vm-boot-pxe.


-- 
Vladimir Kozhukalov
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20131203/ac108ca9/attachment.html>


More information about the OpenStack-dev mailing list