[virt-tools-list] [PATCH] virt-manager: Modified some features for s390x

Cole Robinson crobinso at redhat.com
Thu Oct 29 16:21:26 UTC 2015


On 10/28/2015 11:06 PM, Kevin Zhao wrote:
> Hi Cole,
>         Thanks for your  advices. I will modify the code and submit the patch
> later.
>         For your comment, as I know, in KVMIBM Distro,s390-ccw-kvmibm-1.1.1 is
> the alias name of s390-ccw-virtioo, so they are the same.   :-)
> 

If they are the same, then libvirt needs to advertise that value in the
capabilities XML, otherwise apps shouldn't use it. Maybe there's something
wrong with the qemu machine advertisement if libvirt isn't detecting the
alias; libvirt does detect the 'pc' alias for x86 at least

- Cole

> On 2015年10月29日 01:52, Cole Robinson wrote:
>> On 10/28/2015 12:35 AM, Kevin Zhao wrote:
>>>  modified the machine type ,remove the default channel
>>>  since it is not supported now ,and modified the capabilities-xml
>>>  since it has been updated.
>>> ---
>>>  tests/capabilities-xml/kvm-s390x.xml | 14 +++++++++++---
>>>  virtinst/capabilities.py             |  2 +-
>>>  virtinst/guest.py                    |  2 ++
>>>  3 files changed, 14 insertions(+), 4 deletions(-)
>>>
>> Thanks for the patch. Please split this into 3 changes:
>>
>> - add the capabilities-xml as a new XML file, like kvm-s390x-ibm.xml . Add a
>> comment at the top explaining what distro/OS the XML actually comes from (some
>> IBM distro I presume). And add a clitest.py testcase that uses it
>>
>> - the qemu guest agent change, and regenerate the test output
>>
>> - the machine type change, and regenerate the test output
>>
>> One comment below
>>
>>> diff --git a/tests/capabilities-xml/kvm-s390x.xml b/tests/capabilities-xml/kvm-s390x.xml
>>> index 039c2e0..aeddfb0 100644
>>> --- a/tests/capabilities-xml/kvm-s390x.xml
>>> +++ b/tests/capabilities-xml/kvm-s390x.xml
>>> @@ -52,15 +52,23 @@
>>>      <arch name="s390x">
>>>        <wordsize>64</wordsize>
>>>        <emulator>/usr/bin/qemu-system-s390x</emulator>
>>> +      <machine maxCpus="64">s390-ccw-kvmibm-1.1.1</machine>
>>> +      <machine canonical="s390-ccw-kvmibm-1.1.1" maxCpus="64">s390-ccw-virtio</machine>
>>> +      <machine maxCpus="64">s390-ccw-kvmibm-1.1.0</machine>
>>> +      <machine maxCpus="255">s390-virtio</machine>
>>>        <machine canonical="s390-virtio" maxCpus="255">s390</machine>
>>> -      <machine canonical="s390-ccw-virtio" maxCpus="255">s390-ccw</machine>
>>> +      <machine maxCpus="255">s390-ccw-virtio-2.4</machine>
>>>        <domain type="qemu">
>>>          <emulator>/usr/bin/qemu-system-s390x</emulator>
>>>        </domain>
>>>        <domain type="kvm">
>>> -        <emulator>/usr/bin/qemu-system-s390x</emulator>
>>> +        <emulator>/usr/bin/qemu-kvm</emulator>
>>> +        <machine maxCpus="64">s390-ccw-kvmibm-1.1.1</machine>
>>> +        <machine canonical="s390-ccw-kvmibm-1.1.1" maxCpus="64">s390-ccw-virtio</machine>
>>> +        <machine maxCpus="64">s390-ccw-kvmibm-1.1.0</machine>
>>> +        <machine maxCpus="255">s390-virtio</machine>
>>>          <machine canonical="s390-virtio" maxCpus="255">s390</machine>
>>> -        <machine canonical="s390-ccw-virtio" maxCpus="255">s390-ccw</machine>
>>> +        <machine maxCpus="255">s390-ccw-virtio-2.4</machine>
>>>        </domain>
>>>      </arch>
>>>      <features>
>>> diff --git a/virtinst/capabilities.py b/virtinst/capabilities.py
>>> index 4fa1724..10e7ea0 100644
>>> --- a/virtinst/capabilities.py
>>> +++ b/virtinst/capabilities.py
>>> @@ -364,7 +364,7 @@ class _CapsInfo(object):
>>>                  return "vexpress-a15"
>>>  
>>>          if self.arch in ["s390x"]:
>>> -            if "s390-ccw-virtio" in self.machines:
>>> +            if any(machine.startswith("s390-ccw") for machine in self.machines):
>>>                  return "s390-ccw-virtio"
>>>
>> This will attempt to use s390-ccw-virtio machine type, even if it's not in the
>> capabilities output... I don't understand how this is supposed to work
>>
>>>          return None
>>> diff --git a/virtinst/guest.py b/virtinst/guest.py
>>> index 6f2b30a..4387ff4 100644
>>> --- a/virtinst/guest.py
>>> +++ b/virtinst/guest.py
>>> @@ -657,6 +657,8 @@ class Guest(XMLBuilder):
>>>              return
>>>          if self.get_devices("channel"):
>>>              return
>>> +        if self.os.is_s390x():
>>> +            return
>>>  
>>>          # Skip qemu-ga on ARM where virtio slots are currently limited
>>>          if (self.conn.is_qemu() and
>>>
>>>
>>>
>>> _______________________________________________
>>> virt-tools-list mailing list
>>> virt-tools-list at redhat.com
>>> https://www.redhat.com/mailman/listinfo/virt-tools-list
>>>
> 




More information about the virt-tools-list mailing list