[elbe-devel] [PATCH] libvirt.xml: Workaround for buggy qemu machine type in vmware/stretch
Torben Hohn
torben.hohn at linutronix.de
Mon Nov 26 10:56:41 CET 2018
On Fri, Nov 23, 2018 at 05:42:25PM +0100, Andreas Messerschmid wrote:
> Add a heuristic to set a working qemu machine type when generating
> libvirt.xml on initvm creation when running on a VMware setup
> with Debian Stretch.
Please dont execute child processes in a mako template.
Error handling in a mako template is sort of limited.
Please move the detection code into
elbepack/commands/init.py and then pass the
machine_type into the mako template using "d"
>
> Solves https://github.com/Linutronix/elbe/issues/183
>
> Signed-off-by: Andreas Messerschmid <andreas at linutronix.de>
> ---
> elbepack/init/libvirt.xml.mako | 18 +++++++++++++++++-
> 1 file changed, 17 insertions(+), 1 deletion(-)
>
> diff --git a/elbepack/init/libvirt.xml.mako b/elbepack/init/libvirt.xml.mako
> index c2b3d077..02ad4d40 100644
> --- a/elbepack/init/libvirt.xml.mako
> +++ b/elbepack/init/libvirt.xml.mako
> @@ -14,6 +14,7 @@ import uuid
> import multiprocessing
> import os
> from elbepack.filesystem import size_to_int
> +import subprocess
>
> # Generate UUID
> uid = uuid.uuid4()
> @@ -27,6 +28,21 @@ img = os.path.join(opt.directory, 'buildenv.img')
>
> emulator = prj.text('interpreter', default=defs, key='interpreter')
>
> +# this is a workaround for
> +# http://lists.linutronix.de/pipermail/elbe-devel/2017-July/000541.html
> +virt = subprocess.Popen('test -x /usr/bin/systemd-detect-virt && /usr/bin/systemd-detect-virt',
> + shell=True,
> + stdin=subprocess.PIPE,
> + stdout=subprocess.PIPE).communicate()[0];
> +dist = subprocess.Popen('lsb_release -cs',
> + shell=True,
> + stdin=subprocess.PIPE,
> + stdout=subprocess.PIPE).communicate()[0];
> +
> +if 'vmware' in virt and 'stretch' in dist:
> + machine_type = 'pc-i440fx-2.6'
> +else:
> + machine_type = 'pc'
> %><domain type='kvm'
> xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
> <name>${name}</name>
> @@ -35,7 +51,7 @@ xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
> <currentMemory unit='KiB'>${memory}</currentMemory>
> <vcpu placement='static'>${cpus}</vcpu>
> <os>
> - <type arch='x86_64' machine='pc'>hvm</type>
> + <type arch='x86_64' machine='${machine_type}'>hvm</type>
> </os>
> <features>
> <acpi />
> --
> 2.11.0
>
>
> _______________________________________________
> elbe-devel mailing list
> elbe-devel at linutronix.de
> https://lists.linutronix.de/mailman/listinfo/elbe-devel
--
Torben Hohn
Linutronix GmbH | Bahnhofstrasse 3 | D-88690 Uhldingen-Mühlhofen
Phone: +49 7556 25 999 18; Fax.: +49 7556 25 999 99
Hinweise zum Datenschutz finden Sie hier (Informations on data privacy
can be found here): https://linutronix.de/kontakt/Datenschutz.php
Linutronix GmbH | Firmensitz (Registered Office): Uhldingen-Mühlhofen |
Registergericht (Registration Court): Amtsgericht Freiburg i.Br., HRB700
806 | Geschäftsführer (Managing Directors): Heinz Egger, Thomas Gleixner
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://lists.linutronix.de/pipermail/elbe-devel/attachments/20181126/c6ac8168/attachment.sig>
More information about the elbe-devel
mailing list