[Libvirt-cim] [TEST] Issue with VirtualSystemManagementService/06_addresource.py

Kaitlin Rupert kaitlin at linux.vnet.ibm.com
Mon May 12 19:44:52 UTC 2008


>>
>> Well, the providers should be creating <source network='something'>,
>> so I need to check and make sure we're doing that.
>>   
> I checked whether the provider adds the <source network='something'> and 
> it does for KVM.
> I tried creating the KVM guest with two interface types:
> 
> 1) Network Type :
> 
>    It needs the following fields in the xml file:
>    <interface type='network'>
>      <mac address='11:22:33:aa:bb:cc'/>
>      <source network='default-net'/>
>    </interface>
> 
> 
>    We are handling this in the provider code.
> 
> 2) Bridge Type :
>    It needs the following fields in the xml file:
> 
>    <interface type='bridge'>
>      <mac address='11:22:33:aa:bb:cc'/>
>      <source bridge='testbridge'/>
>    </interface>
>    The provider code in the xmlgen.c file does not support the KVM
>    guest to be created with the "bridge" type.

Excellent find Deepti.  Thanks for looking into this - I think this is 
an issue with the provider.

You're correct - this is an issue in xmlgen.c  What is happening here is 
the following:

  1) Guest is created using virsh using network type bridge.
  2) xen_net_to_xml() in xmlgen.c gets called instead of kvm_net_to_xml().
  3) Since xend is fine with using a bridge interface without the 
<source bridge=''/> tag defined, we don't specify one in the xmlgen 
code.  QEMU borks when it attempts to create the guest with the new XML.

> 
> 1) Also, I noticed that for creating the Xen guest we do not require the 
> <source > field in the <interface > section for both Network and Bridge 
> interface Types.
>   But for the KVM guest its compulsory to have the <source > field in 
> the <interface > section for both Network and Bridge interface Types.
> 2) Any specific reason for not supporting the KVM guest to be created 
> for the bridge type interface, and supporting Xen guest with only bridge 
> type ?

If you use the network interface type, the libvirt gets all the 
necessary network information from the virtual network.  We don't have 
to worry about whether the bridge exists, etc.

> 3) Also, I did not understand the need for the script field in the 
> interface section. We can create the Xen, KVM guests without this.

This is a good point.  Actually, I thought there was some talk of having 
both Xen and KVM guests use the network interface, but I might be mistaken.

> 
> 
>> KR> Dan - should the provider return an error if the guest doesn't use
>> KR> a network type interface?
>>
>> Meaning an existing guest created outside the providers with a network
>> type we don't support?  I dunno, I'll have to think on that one.
>>

Right - that's the issue here.  We have a KVM guest with a bridge 
network type.  The AddResource() call fails because it generates the new 
XML incorrectly.

-- 
Kaitlin Rupert
IBM Linux Technology Center
kaitlin at linux.vnet.ibm.com




More information about the Libvirt-cim mailing list