[Kimchi-devel] [PATCH V1] [Kimchi] For s390x architecture, serial type is not validated in vm xml as as not supported on s390x.
Aline Manera
alinefm at linux.vnet.ibm.com
Tue Aug 30 16:44:17 UTC 2016
On 08/30/2016 09:43 AM, archus at linux.vnet.ibm.com wrote:
> From: Archana Singh <archus at linux.vnet.ibm.com>
>
> This changes ensure that in vm xml serial type is not validated for s390x
> as not supported in s390x architecture and only console type is validated
> in _vm_check_serial.
>
> Signed-off-by: Archana Singh <archus at linux.vnet.ibm.com>
> ---
> model/vms.py | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/model/vms.py b/model/vms.py
> index 7f607f5..d3d2cb1 100644
> --- a/model/vms.py
> +++ b/model/vms.py
> @@ -1486,7 +1486,8 @@ class VMModel(object):
> xml = dom.XMLDesc(libvirt.VIR_DOMAIN_XML_SECURE)
>
> expr = "/domain/devices/serial/@type"
> - if not xpath_get_text(xml, expr):
> + # on s390x serial is not supported
> + if platform.machine() != 's390x' and not xpath_get_text(xml, expr):
Seems this validation is not correct.
The full code is:
expr = "/domain/devices/serial/@type"
if not xpath_get_text(xml, expr):
return False
expr = "/domain/devices/console/@type"
if not xpath_get_text(xml, expr):
return False
With this patch, it turned to:
expr = "/domain/devices/serial/@type"
if platform.machine() != 's390x' and not xpath_get_text(xml,
expr):
return False
expr = "/domain/devices/console/@type"
if not xpath_get_text(xml, expr):
return False
If the system is x86 and the guest does have
"/domain/devices/serial/@type" it will not enter the first 'if' statement.
And the second if will be validated for all the platforms, including
s390x. Which means, the function _vm_check_serial can still return True
for a s390x system.
Does that make sense for you?
Said that, I suggest to add a exclusive if statement to cover the s390x
system:
if platform.machine() == 's390x':
return False
> return False
>
> expr = "/domain/devices/console/@type"
More information about the Kimchi-devel
mailing list