From: Robert Foley <robert.foley@linaro.org>
To: qemu-devel@nongnu.org
Cc: fam@euphon.net, philmd@redhat.com, alex.bennee@linaro.org,
robert.foley@linaro.org, peter.puhov@linaro.org
Subject: [PATCH 0/8] tests/vm: Add support for aarch64 VMs
Date: Fri, 24 Jan 2020 11:53:27 -0500 [thread overview]
Message-ID: <20200124165335.422-1-robert.foley@linaro.org> (raw)
This patch adds support for 2 aarch64 VMs.
- Ubuntu 18.04 aarch64 VM
- CentOS 8 aarch64 VM
In order to add support for the two new aarch64 VMs, we
generalized and parameterized basevm.py.
We added a new concept of a configuration, which is really just a
set of parameters which define how to configure the VM.
Some examples of parameters are "machine", "memory" and "cpu".
We preserved current default parameters.
Current configuration of pre-existing VMs is supported by default
without need to override default parameters.
For example, previously only the 'pc' machine was supported in basevm.py.
The new aarch64 VMs will override machine to use virt.
There are a few other examples where we needed to add parameters
in order to add support for these aarch64 VMs.
In some other cases we added parameters that we thought would be useful
in general, for example username/password, ssh keys,
In the case of the aarch64 VMs, they override certain parameters
by default. However, it is also of value to be able to
dynamically specify other values for these parameters.
Take the case where you create a new VM using vm-build,
but then want to test it using various hardware configurations
such as for example different NUMA topologies.
Or maybe you want to use a different amount of memory or a different cpu type.
In order to support these use cases we added support
for a configuration .yml file, which allows the user to
specify certain values dynamically such as:
- machine
- cpu
- memory size
- other qemu args, which allow configuring alternate
hardware topologies such as NUMA nodes.
- username, password
- ssh keys
For an example of a .yml file, see the included config_example.yml
The main use case for using this config.yml file is for where we
are testing/debugging with qemu (vm-build), and need to configure
the VM differently. However, there is another use case we have
developed, which is a project called lisa-qemu
(https://github.com/rf972/lisa-qemu).
This project is an integration between the LISA tool and QEMU.
This project uses the VMs created by
QEMU's vm-build scripts for use in testing with LISA.
This use case is similar to the vm-build case in that,
the VM gets created once, and we want to launch the VM with different
configurations (memory, cpu, etc.).
As part of developing the scripts for these VMs, we implemented
a few enhancements to help with testing.
For example, we added support for allowing debug mode to
show the ssh output.
We also added support for a new --boot-console option which
will show the boot console as the VM boots up to aid in
debugging problems during VM boot.
Robert Foley (8):
tests/vm: Debug mode shows ssh output.
tests/vm: increased max timeout for vm boot.
tests/vm: change wait_ssh to optionally wait for root.
tests/vm: Add configuration to basevm.py
tests/vm: Added configuration file support
tests/vm: add --boot-console switch
tests/vm: Added a new script for ubuntu.aarch64.
tests/vm: Added a new script for centos.aarch64.
tests/vm/Makefile.include | 8 +-
tests/vm/aarch64vm.py | 41 +++++++
tests/vm/basevm.py | 192 +++++++++++++++++++++++++-----
tests/vm/centos-8-aarch64.ks | 52 +++++++++
tests/vm/centos.aarch64 | 218 +++++++++++++++++++++++++++++++++++
tests/vm/config_example.yml | 52 +++++++++
tests/vm/ubuntu.aarch64 | 144 +++++++++++++++++++++++
7 files changed, 675 insertions(+), 32 deletions(-)
create mode 100644 tests/vm/aarch64vm.py
create mode 100644 tests/vm/centos-8-aarch64.ks
create mode 100755 tests/vm/centos.aarch64
create mode 100644 tests/vm/config_example.yml
create mode 100755 tests/vm/ubuntu.aarch64
--
2.17.1
next reply other threads:[~2020-01-24 16:57 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-24 16:53 Robert Foley [this message]
2020-01-24 16:53 ` [PATCH 1/8] tests/vm: Debug mode shows ssh output Robert Foley
2020-01-24 17:28 ` Alex Bennée
2020-01-24 16:53 ` [PATCH 2/8] tests/vm: increased max timeout for vm boot Robert Foley
2020-01-24 17:12 ` Philippe Mathieu-Daudé
2020-01-24 19:00 ` Robert Foley
2020-01-27 8:45 ` Philippe Mathieu-Daudé
2020-01-24 16:53 ` [PATCH 3/8] tests/vm: change wait_ssh to optionally wait for root Robert Foley
2020-01-27 11:06 ` Alex Bennée
2020-01-27 12:59 ` Robert Foley
2020-01-24 16:53 ` [PATCH 4/8] tests/vm: Add configuration to basevm.py Robert Foley
2020-01-27 12:26 ` Alex Bennée
2020-01-27 13:56 ` Robert Foley
2020-01-24 16:53 ` [PATCH 5/8] tests/vm: Added configuration file support Robert Foley
2020-01-27 12:38 ` Alex Bennée
2020-01-27 16:10 ` Robert Foley
2020-01-24 16:53 ` [PATCH 6/8] tests/vm: add --boot-console switch Robert Foley
2020-01-27 12:56 ` Alex Bennée
2020-01-27 14:13 ` Robert Foley
2020-01-24 16:53 ` [PATCH 7/8] tests/vm: Added a new script for ubuntu.aarch64 Robert Foley
2020-01-27 15:01 ` Alex Bennée
2020-01-27 16:47 ` Robert Foley
2020-01-27 17:27 ` Andrew Jones
2020-01-27 18:55 ` Robert Foley
2020-01-27 20:07 ` Alex Bennée
2020-01-27 21:53 ` Robert Foley
2020-01-24 16:53 ` [PATCH 8/8] tests/vm: Added a new script for centos.aarch64 Robert Foley
2020-01-28 17:52 ` [PATCH 0/8] tests/vm: Add support for aarch64 VMs Alex Bennée
2020-01-29 12:59 ` Robert Foley
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200124165335.422-1-robert.foley@linaro.org \
--to=robert.foley@linaro.org \
--cc=alex.bennee@linaro.org \
--cc=fam@euphon.net \
--cc=peter.puhov@linaro.org \
--cc=philmd@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).