cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Howie <howie...@gmail.com>
Subject Re: Review Request 16461: CLOUDSTACK-5642 - Add else if connidition for identify direct nic type
Date Tue, 18 Feb 2014 12:44:55 GMT
Hi Wei

Ok~ Let me check it.
After applied should I cerate a new review or just update it ?




2014-02-18 20:31 GMT+08:00 Wei Zhou <w.zhou@leaseweb.com>:

>    This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/16461/
>
> Howie,
> Could you change it as it can not be applied to master?
> -Wei
>
>
> - Wei Zhou
>
> On December 25th, 2013, 3:47 a.m. UTC, Howie YU wrote:
>   Review request for cloudstack, Wei Zhou and Wido den Hollander.
> By Howie YU.
>
> *Updated Dec. 25, 2013, 3:47 a.m.*
>  *Bugs: * CLOUDSTACK-5642<https://issues.apache.org/jira/browse/CLOUDSTACK-5642>
>  *Repository: * cloudstack-git
> Description
>
> Libvirt supports direct attachment of the guest VM's network to a physical interface.
> But I found the following code may cause some problem, when the nic interface type is
direct
> If type is direct , then this nic will be ignore.
>
>                 String type = nic.getAttribute("type");
>                 String mac = getAttrValue("mac", "address", nic);
>                 String dev = getAttrValue("target", "dev", nic);
>                 String model = getAttrValue("model", "type", nic);
>                 InterfaceDef def = new InterfaceDef();
>                 NodeList bandwidth = nic.getElementsByTagName("bandwidth");
>                 Integer networkRateKBps = 0;
>                 if ((bandwidth != null) && (bandwidth.getLength() != 0)) {
>                     Integer inbound = Integer.valueOf(getAttrValue("inbound", "average",
(Element)bandwidth.item(0)));
>                     Integer outbound = Integer.valueOf(getAttrValue("outbound", "average",
(Element)bandwidth.item(0)));
>                     if (inbound == outbound)
>                         networkRateKBps = inbound;
>                 }
>                 if (type.equalsIgnoreCase("network")) {
>                     String network = getAttrValue("source", "network", nic);
>                     def.defPrivateNet(network, dev, mac, nicModel.valueOf(model.toUpperCase()),
networkRateKBps);
>                 } else if (type.equalsIgnoreCase("bridge")) {
>                     String bridge = getAttrValue("source", "bridge", nic);
>                     def.defBridgeNet(bridge, dev, mac, nicModel.valueOf(model.toUpperCase()),
networkRateKBps);
>                 } else if (type.equalsIgnoreCase("ethernet")) {
>                     String scriptPath = getAttrValue("script", "path", nic);
>                     def.defEthernet(dev, mac, nicModel.valueOf(model.toUpperCase()),
scriptPath, networkRateKBps);
>                 }
>                 interfaces.add(def);
>
>   Testing
>
> I add a unit test LibvirtDomainXMLParserTest in test directory , and add a direct nic
type domain xml for test
>
> <domain type='kvm' id='10'>
> <name>ubuntu</name>
>  <uuid>77919cf3-b2a7-994f-5f3c-0a91fb9bcbe8</uuid>
> <memory unit='KiB'>1048576</memory>
>   <currentMemory unit='KiB'>1048576</currentMemory>
> <vcpu placement='static'>1</vcpu>
> <os>
> <type arch='x86_64' machine='rhel6.4.0'>hvm</type>
>  <boot dev='hd'/>
>  </os> <features>
>    <acpi/>
>    <apic/>
>   <pae/>
>  </features>
>  <clock offset='utc'/>
>  <on_poweroff>destroy</on_poweroff>
>   <on_reboot>restart</on_reboot>
>  <on_crash>restart</on_crash>
>  <devices>
>  <emulator>/usr/libexec/qemu-kvm</emulator>
> <disk type='file' device='disk'>
>   <driver name='qemu' type='qcow2' cache='none'/>
>  <source file='/var/lib/libvirt/images/ubuntu-vm.qcow2'/>
>  <target dev='hdb' bus='ide'/>
>   <alias name='ide0-0-1'/>
>   <address type='drive' controller='0' bus='0' target='0' unit='1'/>
> </disk>
>  <controller type='usb' index='0'>
>   <alias name='usb0'/>
>  <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
> </controller>
> <controller type='ide' index='0'>
>   <alias name='ide0'/>
>  <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
> </controller>
> <interface type='direct'>
>  <mac address='52:54:00:e1:82:a0'/>
> <source dev='eth0' mode='vepa'/>
>  <target dev='macvtap0'/>
>  <alias name='net0'/>
>  <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
>  </interface>
> <serial type='pty'>
> <source path='/dev/pts/4'/>
>  <target port='0'/>
>  <alias name='serial0'/>
> </serial>
> <console type='pty' tty='/dev/pts/4'>
>   <source path='/dev/pts/4'/>
>   <target type='serial' port='0'/>
>   <alias name='serial0'/>
> </console>
> <input type='mouse' bus='ps2'/>
> <graphics type='vnc' port='5901' autoport='yes' listen='127.0.0.1'>
>   <listen type='address' address='127.0.0.1'/>
> </graphics>
> <sound model='ich6'>
>   <alias name='sound0'/>
>   <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
> </sound>
>  <video>
>   <model type='cirrus' vram='9216' heads='1'/>
>   <alias name='video0'/>
>   <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
>  </video>
>  <memballoon model='virtio'>
> <alias name='balloon0'/>
>  <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
>  </memballoon>
> </devices>
>  <seclabel type='none'/>
>  </domain>
>
>
>   Diffs
>
>    - plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtDomainXMLParser.java
>    (127f648)
>    - plugins/hypervisors/kvm/test/com/cloud/hypervisor/kvm/resource/LibvirtDomainXMLParserTest.java
>    (PRE-CREATION)
>
> View Diff <https://reviews.apache.org/r/16461/diff/>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message