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 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list