Bug 1212021
| Summary: | RHELSA: handle virt-rhelsaX.Y machine types | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Andrew Jones <drjones> |
| Component: | virt-manager | Assignee: | Giuseppe Scrivano <gscrivan> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Virtualization Bugs <virt-bugs> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 7.2 | CC: | crobinso, drjones, gscrivan, phrdina, tzheng, wehuang |
| Target Milestone: | rc | Keywords: | OtherQA, Upstream |
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | virt-manager-1.2.0-1-el7 | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2018-10-13 14:48:38 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | |||
| Bug Blocks: | 1212027 | ||
should we expand the definition to something like the following?
diff --git a/virtinst/osxml.py b/virtinst/osxml.py
index 77643dd..576676c 100644
--- a/virtinst/osxml.py
+++ b/virtinst/osxml.py
@@ -64,7 +64,7 @@ class OSXML(XMLBuilder):
def is_arm_vexpress(self):
return self.is_arm() and str(self.machine).startswith("vexpress-")
def is_arm_machvirt(self):
- return self.is_arm() and self.machine == "virt"
+ return self.is_arm() and "virt" in self.machine
as I have no access to any ARM machine, Andrew, could you please check if that change is enough? (In reply to Giuseppe Scrivano from comment #2) > as I have no access to any ARM machine, Andrew, could you please check if > that change is enough? That should work, and we can commit to using "virt-" as the prefix for all our machine types. Actually, considering it will always be a prefix, to be a bit more precise, maybe it should be str(self.machine).startswith("virt") It might still be nice to write an "alias expansion" function that could be used though, as that would guarantee we have a match, and also give the freedom to match when we don't have common prefixes. That could be future work though. I tested it and it works as with the "virt" machine type.
Patch pushed upstream:
commit 1c2211817992c801246dd5019b085a61e8968daa
Author: Giuseppe Scrivano <gscrivan>
Date: Wed Apr 22 18:39:43 2015 +0200
aarch64: support virt-rhelsa7.1 machine type
Just check for the prefix of the machine type, as it is done for ARM
vexpress.
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1212021
Signed-off-by: Giuseppe Scrivano <gscrivan>
Tested with package virt-manager-1.2.1-8.el7.noarch, during installation there is a possibility to choose between 'virt' and 'virt-rhelsa7.1' machine type and the created XML is also correct according to the selection. This bug is fixed and verified, the machine type is correctly parsed from qemu and offered to user in virt-manager. |
virt-manager allows Machine Type to be selected under Architecture options. The default type is 'virt', but qemu-kvm-rhev.aarch64 presents virt-rhelsa7.1 as well. When installing a RHELSA7.1 guest, the virt-rhelsa7.1 type is the more logical to select, but it doesn't currently work. The problem is while 'virt' is special-cased in virt-manager since commit 42ac7a3036f02296e883fc6129672e228cea8f7a Author: Cole Robinson <crobinso> Date: Tue Sep 23 16:16:35 2014 -0400 guest: Set optimal arm CPU defaults to use host cpu passthrough (currently required for kvmarm), no other machine type is. Now, 'virt' is an alias for 'virt-rhelsa7.1' in qemu-kvm-rhev.aarch64 # /usr/libexec/qemu-kvm -M \? Supported machines are: virt RHELSA 7.1 ARM Virtual Machine (alias of virt-rhelsa7.1) virt-rhelsa7.1 RHELSA 7.1 ARM Virtual Machine (default) none empty machine so perhaps virt-manager could "expand aliases" in order to enable is_arm_machvirt() to work with derivatives?