[libvirt] Question about the host-model CPU mode
David Hildenbrand
david at redhat.com
Fri Oct 20 13:51:42 UTC 2017
On 20.10.2017 15:49, Christian Borntraeger wrote:
>
>
> On 10/20/2017 03:43 PM, David Hildenbrand wrote:
>> On 20.10.2017 15:36, Christian Borntraeger wrote:
>>>
>>>
>>> On 10/20/2017 03:16 PM, David Hildenbrand wrote:
>>>>
>>>>> Hi all,
>>>>>
>>>>> we recently encountered the problem that the 'host-model' [1] has to be
>>>>> related to the machine type of a domain. We have following problem:
>>>>>
>>>>> Let's assume we've a z13 system with a QEMU 2.9 and we define a
>>>>> domain using the default s390-virtio-ccw machine together with the
>>>>> host-model CPU mode [1]. The definition will have the machine
>>>>> expanded to s390-virtio-ccw-2.9 but retain the host-model CPU mode
>>>>> in the domain definition. In a next step we upgrade to QEMU 2.10
>>>>> (first version to recognize z14). Everything is still fine, even
>>>>> though the machine runs in 2.9 compatibility mode. Finally we
>>>>> upgrade to a z14. As a consequence it is not possible to start the
>>>>> domain anymore as the machine type doesn't support our CPU host
>>>>> model (which is expanded at start time of the domain).
>>>>
>>>> Actually, what is the cause of that problem? I assume it is the gs
>>>> feature (gs_allowed)?
>>>>
>>>> We should really avoid such things (..._allowed) for CPU model features
>>>> in the future and clue all new such stuff to cpumodel_allowed.
>>>
>>> Yes, starting a guest with
>>> <os>
>>> <type arch='s390x' machine='s390-ccw-virtio-2.9'>hvm</type>
>>> </os>
>>> <cpu mode='host-model'/>
>>>
>>> results in
>>>
>>> qemu-system-s390x: Some features requested in the CPU model are not available in the configuration: gs
>>>
>>> Tying it to cpumodel_allowed would not help, migration-wise though.
>>> libvirt would still transform
>>>
>>> <os>
>>> <type arch='s390x' machine='s390-ccw-virtio-2.9'>hvm</type>
>>> </os>
>>> <cpu mode='host-model'/>
>>
>> My point was, that the host model would have to be copied and _remain_
>> there when s390-ccw-virtio was expanded to s390-ccw-virtio-2.9.
>>
>> So really replacing <cpu mode='host-model'/> by the model z13-base....
>> This would at least fix this issue. Just like s390-ccw-virtio get's
>> replaced and remains thats way.
>>
>> But this might for sure have other problems.
>
> The problem goes much further.
> A fresh guest with
>
> <os>
> <type arch='s390x' machine='s390-ccw-virtio-2.9'>hvm</type>
> </os>
> <cpu mode='host-model'/>
>
> does not start. No migration from an older system is necessary.
>
Yes, as stated in the documentation "copying host CPU definition from
capabilities XML" this can not work. And it works just as documented.
Not saying this is a nice thing :)
I think we should try to fix gs_allowed (if possible) and avoid
something like that in the future. This would avoid other complexity
involved when suddenly having X host models.
--
Thanks,
David
More information about the libvir-list
mailing list