git 0.17 snapshot, arm/aarch64/x86_64/uefi fixes/improvments

This commit is contained in:
Peter Robinson 2019-02-28 14:36:45 +00:00
parent 23ac95be41
commit f78313e431
8 changed files with 383 additions and 151 deletions

12
.gitignore vendored
View File

@ -1,11 +1 @@
/oz-0.5.0.tar.gz
/oz-0.7.0.tar.gz
/oz-0.8.0.tar.gz
/oz-0.9.0.tar.gz
/oz-0.10.0.tar.gz
/oz-0.11.0.tar.gz
/oz-0.12.0.tar.gz
/oz-0.13.0.tar.gz
/oz-0.14.0.tar.gz
/oz-0.15.0.tar.gz
/oz-0.16.0.tar.gz
/oz-0.*.tar.gz

View File

@ -1,24 +0,0 @@
From 26f205bff526b81080d4c7369d77b0baec90c0a0 Mon Sep 17 00:00:00 2001
From: Ian McLeod <imcleod@localhost.localdomain>
Date: Mon, 30 Apr 2018 17:04:16 -0500
Subject: [PATCH] Initial attempt to add virtio-rng to install VM
---
oz/Guest.py | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/oz/Guest.py b/oz/Guest.py
index dff0608..f1869ba 100644
--- a/oz/Guest.py
+++ b/oz/Guest.py
@@ -514,6 +514,10 @@ def _generate_xml(self, bootdev, installdev, kernel=None, initrd=None,
self.has_consolelog = True
else:
self.has_consolelog = False
+ # virtio-rng
+ virtioRNG = oz.ozutil.lxml_subelement(devices, "rng", None, {'model':'virtio'})
+ virtioRNGRate = oz.ozutil.lxml_subelement(virtioRNG, "rate", None, {'bytes':'1024', 'period':'1000'})
+ virtioRNCBackend = oz.ozutil.lxml_subelement(virtioRNG, "backend", "/dev/random", {'model':'random'})
# boot disk
bootDisk = oz.ozutil.lxml_subelement(devices, "disk", None, {'device':'disk', 'type':'file'})
oz.ozutil.lxml_subelement(bootDisk, "target", None, {'dev':self.disk_dev, 'bus':self.disk_bus})

View File

@ -0,0 +1,366 @@
From 777a40e5dbd3a690cb8aaaa6458a8c5f2c4994ca Mon Sep 17 00:00:00 2001
From: Peter Robinson <pbrobinson@gmail.com>
Date: Wed, 23 Jan 2019 03:00:08 +0000
Subject: [PATCH 01/11] Clarify bugzilla instance for bug references
Substitute BZ -> RHBZ to clarify BZ locations.
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
---
oz/Guest.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/oz/Guest.py b/oz/Guest.py
index 4f66c2f..034749d 100644
--- a/oz/Guest.py
+++ b/oz/Guest.py
@@ -465,7 +465,7 @@ class Guest(object):
oz.ozutil.lxml_subelement(features, "pae")
# CPU
if self.tdl.arch in ["aarch64", "armv7l"] and self.libvirt_type == "kvm":
- # Possibly related to BZ 1171501 - need host passthrough for aarch64 and arm with kvm
+ # Possibly related to RHBZ 1171501 - need host passthrough for aarch64 and arm with kvm
cpu = oz.ozutil.lxml_subelement(domain, "cpu", None, {'mode': 'custom', 'match': 'exact'})
oz.ozutil.lxml_subelement(cpu, "model", "host", {'fallback': 'allow'})
# os
@@ -597,7 +597,7 @@ class Guest(object):
capacity = size
if backing_filename:
- # FIXME: Revisit as BZ 958510 evolves
+ # FIXME: Revisit as RHBZ 958510 evolves
# At the moment libvirt forces us to specify a size rather than
# assuming we want to inherit the size of our backing file.
# It may be possible to avoid this inspection step if libvirt
--
2.20.1
From 9ddffbbbb177e342ab1c806939ce857e87c71232 Mon Sep 17 00:00:00 2001
From: Peter Robinson <pbrobinson@gmail.com>
Date: Wed, 23 Jan 2019 03:05:22 +0000
Subject: [PATCH 02/11] Add the latest location for EDK2 OVMF firmware location
The Tianocore EDK2 OVMF firmware can now often be found in the
/usr/share/edk2/ovmf location so add this as an extra option.
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
---
oz/ozutil.py | 2 ++
1 file changed, 2 insertions(+)
diff --git a/oz/ozutil.py b/oz/ozutil.py
index 273a028..989c9d4 100644
--- a/oz/ozutil.py
+++ b/oz/ozutil.py
@@ -1050,6 +1050,8 @@ def find_uefi_firmware(arch):
elif arch in ['x86_64']:
uefi_list = [UEFI('/usr/share/OVMF/OVMF_CODE.fd',
'/usr/share/OVMF/OVMF_VARS.fd'),
+ UEFI('/usr/share/edk2/ovmf/OVMF_CODE.fd',
+ '/usr/share/edk2/ovmf/OVMF_VARS.fd'),
UEFI('/usr/share/edk2.git/ovmf-x64/OVMF_CODE-pure-efi.fd',
'/usr/share/edk2.git/ovmf-x64/OVMF_VARS-pure-efi.fd')]
elif arch in ['aarch64']:
--
2.20.1
From faf1ac20ae6b6fb8ab4b9f511086a731e4175fc3 Mon Sep 17 00:00:00 2001
From: Peter Robinson <pbrobinson@gmail.com>
Date: Wed, 23 Jan 2019 03:12:50 +0000
Subject: [PATCH 03/11] Add check for TianoCore EDK2 firmware for ARMv7
There's now TianoCore EDK2 firmwares for ARMv7 so add a check to
see if they're available in preparation of building UEFI enabled
ARMv7 images.
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
---
oz/ozutil.py | 3 +++
1 file changed, 3 insertions(+)
diff --git a/oz/ozutil.py b/oz/ozutil.py
index 989c9d4..d6a4a28 100644
--- a/oz/ozutil.py
+++ b/oz/ozutil.py
@@ -1061,6 +1061,9 @@ def find_uefi_firmware(arch):
'/usr/share/edk2/aarch64/vars-template-pflash.raw'),
UEFI('/usr/share/edk2.git/aarch64/QEMU_EFI-pflash.raw',
'/usr/share/edk2.git/aarch64/vars-template-pflash.raw')]
+ elif arch in ['armv7l']:
+ uefi_list = [UEFI('/usr/share/edk2/arm/QEMU_EFI-pflash.raw',
+ '/usr/share/edk2/arm/vars-template-pflash.raw')]
else:
raise Exception("Invalid arch for UEFI firmware")
--
2.20.1
From 2ade14274caa2b99fbc8038d2b860c1175d009ca Mon Sep 17 00:00:00 2001
From: Peter Robinson <pbrobinson@gmail.com>
Date: Wed, 23 Jan 2019 03:16:41 +0000
Subject: [PATCH 04/11] Check for UEFI EDK2 firmware on x86_64 and ARMv7 too
Add checks for EDK2 firmware on x86_64 and ARMv7 along side aarch64
as all those architectures support UEFI now and if the firmware is
available we should priortise UEFI over traditional methods.
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
---
oz/Guest.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/oz/Guest.py b/oz/Guest.py
index 034749d..8d9e319 100644
--- a/oz/Guest.py
+++ b/oz/Guest.py
@@ -484,7 +484,7 @@ class Guest(object):
if self.tdl.arch == "armv7l":
cmdline += " console=ttyAMA0"
oz.ozutil.lxml_subelement(osNode, "cmdline", cmdline)
- if self.tdl.arch == "aarch64":
+ if self.tdl.arch in ["x86_64", "aarch64", "armv7l"]:
loader, nvram = oz.ozutil.find_uefi_firmware(self.tdl.arch)
oz.ozutil.lxml_subelement(osNode, "loader", loader, {'readonly': 'yes', 'type': 'pflash'})
oz.ozutil.lxml_subelement(osNode, "nvram", None, {'template': nvram})
--
2.20.1
From a8727eb82aff624cb7e41e17aefbbc8dde8d4fe3 Mon Sep 17 00:00:00 2001
From: Peter Robinson <pbrobinson@gmail.com>
Date: Wed, 27 Feb 2019 10:42:25 +0000
Subject: [PATCH 05/11] drop ARMv7 special handling for console port
It's unnecessary and breaks grpahical output. Qemu generates a DT with all
the appropriate bits in it to setup the console.
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
---
oz/Guest.py | 2 --
1 file changed, 2 deletions(-)
diff --git a/oz/Guest.py b/oz/Guest.py
index 8d9e319..1c8c97c 100644
--- a/oz/Guest.py
+++ b/oz/Guest.py
@@ -481,8 +481,6 @@ class Guest(object):
if initrd:
oz.ozutil.lxml_subelement(osNode, "initrd", initrd)
if cmdline:
- if self.tdl.arch == "armv7l":
- cmdline += " console=ttyAMA0"
oz.ozutil.lxml_subelement(osNode, "cmdline", cmdline)
if self.tdl.arch in ["x86_64", "aarch64", "armv7l"]:
loader, nvram = oz.ozutil.find_uefi_firmware(self.tdl.arch)
--
2.20.1
From bc355031e72d546bd7af7f04a9702eaa030aeae9 Mon Sep 17 00:00:00 2001
From: Peter Robinson <pbrobinson@gmail.com>
Date: Wed, 27 Feb 2019 10:54:43 +0000
Subject: [PATCH 06/11] Add appropriate arch checks for architecture specific
features
In a lot of cases qemu just ignores incorrect cmd line options when run
against a different architecture but sometimes it causes issues so lets
add the appropriate checks to ensure no issues.
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
---
oz/Guest.py | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/oz/Guest.py b/oz/Guest.py
index 1c8c97c..e21098a 100644
--- a/oz/Guest.py
+++ b/oz/Guest.py
@@ -460,9 +460,11 @@ class Guest(object):
oz.ozutil.lxml_subelement(domain, "vcpu", str(self.install_cpus))
# features
features = oz.ozutil.lxml_subelement(domain, "features")
- oz.ozutil.lxml_subelement(features, "acpi")
- oz.ozutil.lxml_subelement(features, "apic")
- oz.ozutil.lxml_subelement(features, "pae")
+ if self.tdl.arch in ["aarch64", "x86_64"]:
+ oz.ozutil.lxml_subelement(features, "acpi")
+ if self.tdl.arch in ["x86_64"]:
+ oz.ozutil.lxml_subelement(features, "apic")
+ oz.ozutil.lxml_subelement(features, "pae")
# CPU
if self.tdl.arch in ["aarch64", "armv7l"] and self.libvirt_type == "kvm":
# Possibly related to RHBZ 1171501 - need host passthrough for aarch64 and arm with kvm
--
2.20.1
From d0ee021efc2cb638af2fec280298f80ca1122a74 Mon Sep 17 00:00:00 2001
From: Peter Robinson <pbrobinson@gmail.com>
Date: Wed, 27 Feb 2019 10:56:36 +0000
Subject: [PATCH 07/11] ARMv7 only supports GICv2 so we need to explicitly
define it
Add the GIC version to the cpu features list to ensure we get the right GIC
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
---
oz/Guest.py | 2 ++
1 file changed, 2 insertions(+)
diff --git a/oz/Guest.py b/oz/Guest.py
index e21098a..3db1c9e 100644
--- a/oz/Guest.py
+++ b/oz/Guest.py
@@ -465,6 +465,8 @@ class Guest(object):
if self.tdl.arch in ["x86_64"]:
oz.ozutil.lxml_subelement(features, "apic")
oz.ozutil.lxml_subelement(features, "pae")
+ if self.tdl.arch in ["armv7l"]:
+ oz.ozutil.lxml_subelement(features, "gic", attributes={'version': '2'})
# CPU
if self.tdl.arch in ["aarch64", "armv7l"] and self.libvirt_type == "kvm":
# Possibly related to RHBZ 1171501 - need host passthrough for aarch64 and arm with kvm
--
2.20.1
From 32c17a97c90e5714008e1aca487e145f366d1d67 Mon Sep 17 00:00:00 2001
From: Peter Robinson <pbrobinson@gmail.com>
Date: Wed, 27 Feb 2019 11:08:25 +0000
Subject: [PATCH 08/11] Fix input devices for ARMv7 and aarch64
The Arm architectures don't work well with the legacy ps2 bits causing
issues with graphical output. Qemu also doesn't, due to a historical
oversight, automatically setup input so we need to do it here else
graphical out and hence screenshots don't work.
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
---
oz/Guest.py | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/oz/Guest.py b/oz/Guest.py
index 3db1c9e..e423ed6 100644
--- a/oz/Guest.py
+++ b/oz/Guest.py
@@ -255,7 +255,10 @@ class Guest(object):
self.clockoffset = "utc"
self.mousetype = mousetype
if self.mousetype is None:
- self.mousetype = "ps2"
+ if self.tdl.arch in ["aarch64", "armv7l"]:
+ self.mousetype = "usb"
+ else:
+ self.mousetype = "ps2"
if diskbus is None or diskbus == "ide":
self.disk_bus = "ide"
self.disk_dev = "hda"
@@ -512,6 +515,11 @@ class Guest(object):
elif self.mousetype == "usb":
mousedict['type'] = 'tablet'
oz.ozutil.lxml_subelement(devices, "input", None, mousedict)
+ if self.tdl.arch in ["aarch64", "armv7l"] and self.libvirt_type == "kvm":
+ # Other arches add a keyboard by default, for historical reasons ARM doesn't
+ # so we add it here so graphical works and hence we can get debug screenshots RHBZ 1538637
+ oz.ozutil.lxml_subelement(devices, 'controller', None, {'type': 'usb', 'index': '0'})
+ oz.ozutil.lxml_subelement(devices, 'input', None, {'type': 'keyboard', 'bus': 'usb'})
# serial console pseudo TTY
console = oz.ozutil.lxml_subelement(devices, "serial", None, {'type': 'pty'})
oz.ozutil.lxml_subelement(console, "target", None, {'port': '0'})
--
2.20.1
From 48b5e57e36d39645190a756b93e1c3806c929261 Mon Sep 17 00:00:00 2001
From: Peter Robinson <pbrobinson@gmail.com>
Date: Wed, 23 Jan 2019 03:19:21 +0000
Subject: [PATCH 09/11] Setup graphical console on all architectures except
s390x
The graphical console is now supported on all architectures except
s390x so set it up to enable screenshot fucntionality across all
supported architectures.
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
---
oz/Guest.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/oz/Guest.py b/oz/Guest.py
index e423ed6..ad35fb5 100644
--- a/oz/Guest.py
+++ b/oz/Guest.py
@@ -500,8 +500,8 @@ class Guest(object):
# devices
devices = oz.ozutil.lxml_subelement(domain, "devices")
# graphics
- if self.tdl.arch not in ["aarch64", "armv7l", "s390x"]:
- # qemu for arm/aarch64/s390x does not support a graphical console - amazingly
+ if not self.tdl.arch in ["s390x"]:
+ # qemu for s390x does not support a graphical console
oz.ozutil.lxml_subelement(devices, "graphics", None, {'port': '-1', 'type': 'vnc'})
# network
interface = oz.ozutil.lxml_subelement(devices, "interface", None, {'type': 'bridge'})
--
2.20.1
From ce0dde7a39d3ed3482bb81fc8c534ad98bc7ed50 Mon Sep 17 00:00:00 2001
From: Peter Robinson <pbrobinson@gmail.com>
Date: Wed, 27 Feb 2019 12:30:07 +0000
Subject: [PATCH 10/11] Default to using 2Gb on all architectures
The original 1Gb should be enough but RAM is cheap and sometimes things
like the initrd unexpectently bloat so 2Gb gives us room to move.
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
---
oz/Guest.py | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/oz/Guest.py b/oz/Guest.py
index ad35fb5..1e49527 100644
--- a/oz/Guest.py
+++ b/oz/Guest.py
@@ -178,13 +178,8 @@ class Guest(object):
1)
# the memory in the configuration file is specified in megabytes, but
# libvirt expects kilobytes, so multiply by 1024
- if self.tdl.arch in ["ppc64", "ppc64le"]:
- # ppc64 needs at least 2Gb RAM
- self.install_memory = int(oz.ozutil.config_get_key(config, 'libvirt',
+ self.install_memory = int(oz.ozutil.config_get_key(config, 'libvirt',
'memory', 2048)) * 1024
- else:
- self.install_memory = int(oz.ozutil.config_get_key(config, 'libvirt',
- 'memory', 1024)) * 1024
self.image_type = oz.ozutil.config_get_key(config, 'libvirt',
'image_type', 'raw')
--
2.20.1
From 0681aaf5a6b3309a242fbf5a09450e52cff01310 Mon Sep 17 00:00:00 2001
From: Peter Robinson <pbrobinson@gmail.com>
Date: Wed, 27 Feb 2019 16:07:38 +0000
Subject: [PATCH 11/11] Use better host-passthrough settings for qemu
The host-passthrough setting as set doesn't work for ARMv7 and the option
used for both aarch64 and ARMv7 by libvirt/virt-install.
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
---
oz/Guest.py | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/oz/Guest.py b/oz/Guest.py
index 1e49527..7e8f57c 100644
--- a/oz/Guest.py
+++ b/oz/Guest.py
@@ -468,8 +468,7 @@ class Guest(object):
# CPU
if self.tdl.arch in ["aarch64", "armv7l"] and self.libvirt_type == "kvm":
# Possibly related to RHBZ 1171501 - need host passthrough for aarch64 and arm with kvm
- cpu = oz.ozutil.lxml_subelement(domain, "cpu", None, {'mode': 'custom', 'match': 'exact'})
- oz.ozutil.lxml_subelement(cpu, "model", "host", {'fallback': 'allow'})
+ cpu = oz.ozutil.lxml_subelement(domain, "cpu", None, {'mode': 'host-passthrough', 'check': 'none'})
# os
osNode = oz.ozutil.lxml_subelement(domain, "os")
mods = None
--
2.20.1

28
oz.spec
View File

@ -1,14 +1,15 @@
Summary: Library and utilities for automated guest OS installs
Name: oz
Version: 0.16.0
Release: 8%{?dist}
Version: 0.17.0
Release: 0.1%{?dist}
Summary: Library and utilities for automated guest OS installs
License: LGPLv2
URL: http://github.com/clalancette/oz
Source0: https://github.com/clalancette/%{name}/files/1209916/%{name}-%{version}.tar.gz
Patch0: s390x-01-add-basic-support.patch
Patch1: s390x-02-use-sclplmconsole.patch
Patch2: s390x-03-disable-vnc-console.patch
Patch3: https://github.com/clalancette/oz/commit/26f205bff526b81080d4c7369d77b0baec90c0a0.patch
# Source0: https://github.com/clalancette/%{name}/files/1209916/%{name}-%{version}.tar.gz
# Upstream git snapshot while waiting for 0.17
Source0: %{name}-%{version}-ecadc58.tar.gz
# https://github.com/clalancette/oz/pull/269
Patch1: fixes-and-enhancements.patch
BuildArch: noarch
Requires: python2 >= 2.5
@ -38,11 +39,7 @@ Oz is a set of libraries and utilities for doing automated guest OS
installations, with minimal input from the user.
%prep
%setup -q
%patch0 -p0
%patch1 -p0
%patch2 -p0
%patch3 -p1
%autosetup -p1
%build
python2 setup.py build
@ -91,6 +88,11 @@ fi
%{_mandir}/man1/*
%changelog
* Thu Feb 28 2019 Peter Robinson <pbrobinson@fedoraproject.org> 0.17.0-0.1
- Upstream git 0.17 snapshot
- ARMv7 fixes and support for UEFI
- UEFI fixes for x86_64 and aarch64
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.16.0-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

View File

@ -1,48 +0,0 @@
commit 5a49aa873715c75b3a046790fb4bd1c50462880f
Author: Brendan Reilly <breilly@redhat.com>
Date: Wed Nov 15 10:16:33 2017 +0100
Add basic s390x support
Add the s390x architecture to the list of supported ones.
diff --git oz/Guest.py oz/Guest.py
index 048c307..16a8b5a 100644
--- oz/Guest.py
+++ oz/Guest.py
@@ -131,7 +131,7 @@ class Guest(object):
# for backwards compatibility
self.name = self.tdl.name
- if not self.tdl.arch in ["i386", "x86_64", "ppc64", "ppc64le", "aarch64", "armv7l"]:
+ if not self.tdl.arch in ["i386", "x86_64", "ppc64", "ppc64le", "aarch64", "armv7l", "s390x"]:
raise oz.OzException.OzException("Unsupported guest arch " + self.tdl.arch)
if os.uname()[4] in ["i386", "i586", "i686"] and self.tdl.arch == "x86_64":
diff --git oz/TDL.py oz/TDL.py
index 5f3f22b..f18c698 100644
--- oz/TDL.py
+++ oz/TDL.py
@@ -206,8 +206,8 @@ class TDL(object):
self.arch = _xml_get_value(self.doc, '/template/os/arch',
'OS architecture')
- if self.arch not in ["i386", "x86_64", "ppc64", "ppc64le", "aarch64", "armv7l"]:
- raise oz.OzException.OzException("Architecture must be one of 'i386, x86_64, ppc64, ppc64le, armv7l, or aarch64'")
+ if self.arch not in ["i386", "x86_64", "ppc64", "ppc64le", "aarch64", "armv7l", "s390x"]:
+ raise oz.OzException.OzException("Architecture must be one of 'i386, x86_64, ppc64, ppc64le, armv7l, aarch64, or s390x'")
self.key = _xml_get_value(self.doc, '/template/os/key', 'OS key',
optional=True)
diff --git oz/tdl.rng oz/tdl.rng
index 500c0ed..dc29c9a 100644
--- oz/tdl.rng
+++ oz/tdl.rng
@@ -34,6 +34,7 @@
<value>ppc64le</value>
<value>aarch64</value>
<value>armv7l</value>
+ <value>s390x</value>
</choice>
</element>
<optional>

View File

@ -1,29 +0,0 @@
commit 2e17fe7f13225b879358183c509dda5f490dee95
Author: Pino Toscano <ptoscano@redhat.com>
Date: Thu Nov 16 15:40:44 2017 +0100
Use sclplmconsole for the second serial on s390x
The default type of serial console is sclp, whose device (sclpconsole)
can be used at most once. Hence, use the second type of sclp, sclplm,
for the second serial console.
Signed-off-by: Pino Toscano <ptoscano@redhat.com>
diff --git oz/Guest.py oz/Guest.py
index 85580d4..e86a39c 100644
--- oz/Guest.py
+++ oz/Guest.py
@@ -419,7 +419,11 @@ class Guest(object):
oz.ozutil.lxml_subelement(serial, "source", None,
{'mode':'bind', 'host':'127.0.0.1', 'service':str(self.listen_port)})
oz.ozutil.lxml_subelement(serial, "protocol", None, {'type':'raw'})
- oz.ozutil.lxml_subelement(serial, "target", None, {'port':'1'})
+ target = oz.ozutil.lxml_subelement(serial, "target", None, {'port':'1'})
+ if self.tdl.arch == 's390x':
+ # use a different console, as sclp can be used as most once
+ target.set('type', 'sclp-serial')
+ oz.ozutil.lxml_subelement(target, "model", None, {'name':'sclplmconsole'})
def _generate_virtio_channel(self, devices, name):
virtio = oz.ozutil.lxml_subelement(devices, "channel", None, {'type': 'tcp'})

View File

@ -1,25 +0,0 @@
commit bbfe25a3d9942714ce5c5c6a056232751ac798ea
Author: Pino Toscano <ptoscano@redhat.com>
Date: Thu Nov 16 15:18:25 2017 +0100
Disable VNC console on s390x
There is no PCI support there, which is used when enabling VNC.
Signed-off-by: Pino Toscano <ptoscano@redhat.com>
diff --git oz/Guest.py oz/Guest.py
index 16a8b5a..85580d4 100644
--- oz/Guest.py
+++ oz/Guest.py
@@ -484,8 +484,8 @@ class Guest(object):
# devices
devices = oz.ozutil.lxml_subelement(domain, "devices")
# graphics
- if not self.tdl.arch in ["aarch64", "armv7l"]:
- # qemu for arm/aarch64 does not support a graphical console - amazingly
+ if not self.tdl.arch in ["aarch64", "armv7l", "s390x"]:
+ # qemu for arm/aarch64/s390x does not support a graphical console - amazingly
oz.ozutil.lxml_subelement(devices, "graphics", None, {'port':'-1', 'type':'vnc'})
# network
interface = oz.ozutil.lxml_subelement(devices, "interface", None, {'type':'bridge'})

View File

@ -1 +1 @@
SHA512 (oz-0.16.0.tar.gz) = cff35460e0a0a231889dc15d8e68d0c86dde93a51b1f77695805470c8a6395833ebdd34c1a3983c3be23d862ff302dfafb53b6dcec0b2c02bcd325ae7bd140c9
SHA512 (oz-0.17.0-ecadc58.tar.gz) = 8d9210c68f23ed78817df05da5796fd96ee8064e4c6900db57b1686b604d53921ae0491bf93b850404eb2c0f83ec5274c938881d056c6d0c9cce317011e6f159