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

Vladimir Kozhukalov vkozhukalov at mirantis.com
Wed Dec 4 15:22:20 UTC 2013

Some additional information about the case.

Infra at the moment has a limitation in one VM per jenkins job. So we are
not able to launch two VMs and boot one of them via PXE from another. We
need to start VM and then start another nested VM inside first one.
Besides, nested VM must be qemu, not kvm. It is because donated cloud
resources used for testing do not support hardware nesting.

Vladimir Kozhukalov

On Tue, Dec 3, 2013 at 7:32 PM, Vladimir Kozhukalov <
vkozhukalov at mirantis.com> wrote:

> 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/20131204/b7537b6c/attachment.html>

More information about the OpenStack-dev mailing list