Virtualization development improved with Lago

Virtualization development improved with Lago
Virtualization development
improved with Lago
Rafael Martins
Software Engineer
Red Hat
FOSDEM 2017, February 4 2017
FOSDEM 2017, February 2017
Description of the problem
Virtualization-related products are hard to test manually and
automatically
FOSDEM 2017, February 2017
What is oVirt?
oVirt manages virtual
machines, storage and
virtualized networks.
oVirt is a virtualization
platform with an
easy-to-use web
interface.
oVirt is powered by the
Open Source you know
- KVM on Linux.
FOSDEM 2017, February 2017
What is oVirt?
FOSDEM 2017, February 2017
The solution?
Lago Project
● Ad-hoc virtual framework
which helps you build
virtualized environments on
your server or laptop for
various use cases.
● Based on libvirt and KVM
● Easily extensible in Python,
with plugin infrastructure.
FOSDEM 2017, February 2017
How oVirt uses Lago
oVirt support is implemented as a Lago plugin (ovirtlago),
that knows how to deal with oVirt engine and hosts.
ovirtlago plugin
LAGO
FOSDEM 2017, February 2017
oVirt System Tests
oVirt System Tests
Host
LAGO
Engine
Host
FOSDEM 2017, February 2017
oVirt System Tests
oVirt relies on a suite of automated tests, that deploy
and run several tests cases.
●
●
●
Quick visibility of critical breakages.
Well maintained set of test cases, frequently
improved.
Virtual machines are left to be used after test
execution.
FOSDEM 2017, February 2017
oVirt System Tests
FOSDEM 2017, February 2017
What about manual testing?
oVirt System Tests relies on the “ovirtlago” plugin, that
supports installation of custom RPM packages.
●
●
●
oVirt project provides Jenkins jobs to build RPM
packages from Gerrit patches.
A developer can build RPMs on his laptop!
Simple patches can be verified by running the full test
suite with a custom RPM.
FOSDEM 2017, February 2017
What about manual testing?
There are a few downsides when using oVirt System tests to
run manual tests:
●
●
●
Using oVirt System Tests to do manual testing requires
running the full test suite. This is not always
required/wanted.
If the patch changes the behavior expected by the test
suite, it needs to be adapted too.
Sometimes the environment deployed by oVirt System
tests is not suitable to verify the patch.
FOSDEM 2017, February 2017
oVirt Patch Verifier
Relies on Lago and the ovirtlago plugin to create test
environments that are targeted to manual testing.
●
●
●
Environment is defined easily on command line, when
calling the plugin to deploy.
No need to run automated test suites to get oVirt engine
and hosts running.
Can create as many oVirt hosts as wanted, and attach
them to the oVirt engine automatically.
FOSDEM 2017, February 2017
oVirt Patch Verifier
●
●
●
$ lago opv deploy \
--vm engine,name=engine,memory=8192 \
--vm host,name=host1 \
--vm host,name=host2 \
--custom-source http://jenkins.ovirt.org/job/...
$ lago opv engine-setup
$ lago shell engine
# engine-setup
FOSDEM 2017, February 2017
oVirt Patch Verifier
FOSDEM 2017, February 2017
oVirt Patch Verifier
There are also some downsides on this approach:
●
●
Fully automated, requires caching of a lot of unneeded
RPMs for the internal repository, or download of
dependencies for each VM.
Can’t deploy more than one oVirt engine simultaneously.
FOSDEM 2017, February 2017
Supporting other projects
Lago is not tied to oVirt, so it means that it is possible to
write plugins to test other projects.
●
Test virtualization managers
●
Test appliances
●
Build virtualization environment
FOSDEM 2017, February 2017
Why should I use Lago instead of ... ?
Lago may be compared to other similar tools, like:
●
Vagrant
●
Avocado
●
LAVA
FOSDEM 2017, February 2017
THANK YOU!
http://www.ovirt.org
http://lago.readthedocs.io/
rmartins@redhat.com
rafaelmartins @ GitHub, Twitter, Freenode, OFTC
https://rgm.io/
FOSDEM 2017, February 2017
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertising