For architecture "s390x",the disk and the network device are based on "virtio" bus.The cdrom is based on "scsi".So set the default cdrom bus as "scsi",the default bus as "virtio".Also the default machine type is set to "s390-ccw-virtio" as it is the only supported in "s390x". Signed-off-by: Kevin Zhao <kevinzs@xxxxxxxxxxxxxxxxxx> --- virtManager/create.py | 4 ++-- virtinst/capabilities.py | 4 ++++ virtinst/devicedisk.py | 3 +++ virtinst/guest.py | 2 ++ virtinst/osxml.py | 3 +++ 5 files changed, 14 insertions(+), 2 deletions(-) diff --git a/virtManager/create.py b/virtManager/create.py index 8401a7a..013a089 100644 --- a/virtManager/create.py +++ b/virtManager/create.py @@ -409,7 +409,7 @@ class vmmCreate(vmmGObjectUI): can_remote_url = self.conn.get_backend().support_remote_url_install() installable_arch = (self.capsinfo.arch in - ["i686", "x86_64", "ppc64", "ppc64le", "ia64"]) + ["i686", "x86_64", "ppc64", "ppc64le", "ia64","s390x"]) if self.capsinfo.arch == "aarch64": try: @@ -676,7 +676,7 @@ class vmmCreate(vmmGObjectUI): archs.remove("i686") archs.sort() - prios = ["x86_64", "i686", "aarch64", "armv7l", "ppc64", "ppc64le"] + prios = ["x86_64", "i686", "aarch64", "armv7l", "ppc64", "ppc64le","s390x"] if self.conn.caps.host.cpu.arch not in prios: prios = [] else: diff --git a/virtinst/capabilities.py b/virtinst/capabilities.py index bed8596..5823da2 100644 --- a/virtinst/capabilities.py +++ b/virtinst/capabilities.py @@ -323,6 +323,10 @@ class _CapsInfo(object): if "vexpress-a15" in self.machines: return "vexpress-a15" + if self.arch in ["s390x"]: + if "s390-ccw-virtio" in self.machines: + return "s390-ccw-virtio" + return None diff --git a/virtinst/devicedisk.py b/virtinst/devicedisk.py index 6ca76e5..d2b3443 100644 --- a/virtinst/devicedisk.py +++ b/virtinst/devicedisk.py @@ -896,6 +896,9 @@ class VirtualDisk(VirtualDevice): def set_defaults(self, guest): if self.is_cdrom(): self.read_only = True + + if self.is_cdrom() and guest.os.is_s390x(): + self.bus = "scsi" if (guest.os.is_xenpv() and self.type == VirtualDisk.TYPE_FILE and diff --git a/virtinst/guest.py b/virtinst/guest.py index bf4b70b..c958068 100644 --- a/virtinst/guest.py +++ b/virtinst/guest.py @@ -987,6 +987,8 @@ class Guest(XMLBuilder): d.bus = "sd" elif self.os.is_q35(): d.bus = "sata" + elif self.os.is_s390x(): + d.bus = "virtio" else: d.bus = "ide" diff --git a/virtinst/osxml.py b/virtinst/osxml.py index 77771bd..7ba20e4 100644 --- a/virtinst/osxml.py +++ b/virtinst/osxml.py @@ -70,6 +70,9 @@ class OSXML(XMLBuilder): return self.arch == "ppc64" or self.arch == "ppc64le" def is_pseries(self): return self.is_ppc64() and self.machine == "pseries" + + def is_s390x(self): + return self.arch == "s390x" _XML_ROOT_NAME = "os" _XML_PROP_ORDER = ["arch", "os_type", "loader", "loader_ro", "loader_type", -- 1.8.3.1 _______________________________________________ virt-tools-list mailing list virt-tools-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/virt-tools-list