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