[virt-tools-list] [PATCH] virt-manager:Valid address type change in network device
Lin Qing
qinglbj at linux.vnet.ibm.com
Tue Jun 5 02:12:32 UTC 2012
On 06/04/2012 11:13 PM, Cole Robinson wrote:
> On 05/29/2012 10:56 PM, Lin Qing wrote:
>> On 05/30/2012 06:58 AM, Cole Robinson wrote:
>>> On 05/23/2012 04:05 AM, Qing Lin wrote:
>>>> Function set_address(addr) will only change the value of
>>>> VirtualDeviceAddress._type,doesn't map change in xml.So,
>>>> it will cause change lost problem.Using assignment statements
>>>> will not only change the value of VirtualDeviceAddress._type
>>>> but also change the xml.
>>>>
>>>> Signed-off-by: Qing Lin<qinglbj at linux.vnet.ibm.com>
>>>> Signed-off-by: Li Zhang<zhlcindy at linux.vnet.ibm.com>
>>>> ---
>>>> src/virtManager/domain.py | 2 +-
>>>> 1 files changed, 1 insertions(+), 1 deletions(-)
>>>>
>>>> diff --git a/src/virtManager/domain.py b/src/virtManager/domain.py
>>>> index b547f91..893c5df 100644
>>>> --- a/src/virtManager/domain.py
>>>> +++ b/src/virtManager/domain.py
>>>> @@ -626,7 +626,7 @@ class vmmDomain(vmmLibvirtObject):
>>>> def change(editdev):
>>>> if editdev.model != newmodel:
>>>> editdev.address.clear()
>>>> - editdev.set_address(addr)
>>>> + editdev.address.type = addr
>>>> editdev.model = newmodel
>>>> return self._redefine_device(change, devobj)
>>>>
>>> Sorry for being slow to respond, I'll be quicker going forward.
>>>
>>> Can you give an example of where the current code is failing, and what case
>>> this fixes for you? Before and after XML would help.
>> Thanks Cole.I will explain in detail.
>> spapr-vlan is a network interface type that pseries machine supported.
>> when we change a network interface device model in virt-manager form one to
>> another.
>> the xml will be changed like:
>>
>> (libvirtobject:135): Redefining 'vm1' with XML diff:
>> --- Original XML
>> +++ New XML
>> @@ -47,8 +47,7 @@
>> <interface type="network">
>> <mac address="9a:ea:d6:ab:b7:36"/>
>> <source network="default"/>
>> -<model type="rtl8139"/>
>> -<address type="pci" domain="0x0000" bus="0x00" slot="0x03" function="0x0"/>
>> +<model type="virtio"/>
>> </interface>
>>
>> Is it fine ,except when we change a network interface device model in
>> virt-manager form any one to spapr-vlan.
>>
>> (libvirtobject:135): Redefining 'vm1' with XML diff:
>> --- Original XML
>> +++ New XML
>> @@ -47,8 +47,7 @@
>> <interface type="network">
>> <mac address="9a:ea:d6:ab:b7:36"/>
>> <source network="default"/>
>> -<model type="rtl8139"/>
>> -<address type="pci" domain="0x0000" bus="0x00" slot="0x03" function="0x0"/>
>> +<model type="spapr-vlan"/>
>> </interface>
>>
>> The xml change is not enough .We have to set address type for spapr-vlan in
>> xml too.What we expect is like below:
>>
>> (libvirtobject:135): Redefining 'vm1' with XML diff:
>> --- Original XML
>> +++ New XML
>> @@ -47,8 +47,8 @@
>> <interface type="network">
>> <mac address="9a:ea:d6:ab:b7:36"/>
>> <source network="default"/>
>> -<model type="rtl8139"/>
>> -<address type="pci" domain="0x0000" bus="0x00" slot="0x03" function="0x0"/>
>> +<model type="spapr-vlan"/>
>> +<address type="spapr-vio"/>
>> </interface>
>>
> The fact that we require this is a libvirt bug IMO. Libvirt should be smart
> enough to realize that<model type='spapr-vlan'/> implies<address
> type='spapr-vio'/>. Libvirt already does similar stuff for<disk> devices.
>
> So I'd prefer that this is fixed in libvirt.
got it .Thanks Cole.
> Thanks,
> Cole
>
More information about the virt-tools-list
mailing list