[Kimchi-devel] [PATCH V1] [Kimchi] For s390x architecture, serial type is not validated in vm xml as as not supported on s390x.

Archana Singh archus at linux.vnet.ibm.com
Fri Sep 2 04:18:29 UTC 2016


HI Aline,

Please find my comment below. Please let me know if it make sense to you.

Thanks,

Archana Singh

On 08/30/2016 11:56 PM, Archana Singh wrote:
>
>
> On 08/30/2016 10:14 PM, Aline Manera wrote:
>>
>>
>> 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.
> So even without this patch if system is x86 and has 
> "/domain/devices/serial/@type" it will not enter the first 'if' 
> statement. If I understood correctly, purpose of this check is to 
> ensure that guest has "/domain/devices/serial/@type" otherwise return 
> false.
>
> And with this patch first check(platform.machine() != 's390x' ) in 
> first 'if' statement will always be true and hence 'if' statement is 
> similar to what it was before this patch.
>
> This patch ensure that on s390x system even if guest does not have 
> "/domain/devices/serial/@type" it should not enter in first if 
> statement. And for all other system, it should enter in first if 
> statement in case guest does not have 
> "/domain/devices/serial/@type"(similar to what it was before)
>
> Am I miss understood some thing?
>
>> 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"
>>
>
> _______________________________________________
> Kimchi-devel mailing list
> Kimchi-devel at ovirt.org
> http://lists.ovirt.org/mailman/listinfo/kimchi-devel
>




More information about the Kimchi-devel mailing list