> On July 15, 2013, 7:12 a.m., Hugo Trippaers wrote: > > Ship It!
master: b13485493733585cce3044d209063bf37a774ece 4.2: 8065a5570d44467b616841a821a67a2e13ceb5ec Thanks for the patch! - Hugo ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/12496/#review23138 ----------------------------------------------------------- On July 12, 2013, 4:17 a.m., Toshiaki Hatano wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/12496/ > ----------------------------------------------------------- > > (Updated July 12, 2013, 4:17 a.m.) > > > Review request for cloudstack, Alena Prokharchyk, Chiradeep Vittal, Murali > Reddy, Hugo Trippaers, and Sheng Yang. > > > Bugs: https://issues.apache.org/jira/browse/CLOUDSTACK-3431 > > > Repository: cloudstack-git > > > Description > ------- > > #) Bug description > When last VM which uses the guest network disappeared on the host, > KVM agent should clean up it's guest network bridge and vlanIf but it > doesn't. > > Biggest cause is missing parameter on calling modifyvlan.sh. > But I found there're more errors related to this issue. > > 1) missing parameter on calling modifyvlan.sh in > com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.cleanupVnet(Connect, > String) > 2) VirtualMachineName.getVnet(String) will never return vnet > 3) com.cloud.agent.api.StopCommand.getVnet(String) will never return vnet > 4) com.cloud.hypervisor.kvm.resource.LibvirtComputingResource doesn't call > cleanupVnet(Connect, String) when they execute UnPlugCommand > > #) This patch changes as below. > - Move vnetBridge clean up function from LibvirtComputingResource to > BridgeVifDriver > -- since only BridgeVifDriver have to handle this event > - LibvirtComputingResource now properly call VifDriver.unplug() when it > receives UnPlugCommand > > - Remove not working and no longer used method getVnet(String) from > VirtualMachineName > - Remove not working and no longer used method getVnet() from StopCommand > - Remove unused constructer StopCommand(VirtualMachine, String, boolean) from > StopCommand > - Remove unused member vnet from StopCommand > - Remove unused member _modifyVlanPath from OvsVifDriver > > > Diffs > ----- > > api/src/com/cloud/vm/VirtualMachineName.java 81838b9 > core/src/com/cloud/agent/api/StopCommand.java a3ee3c9 > > plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/BridgeVifDriver.java > 0db83cc > > plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java > 914017c > > plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/OvsVifDriver.java > 951badd > > Diff: https://reviews.apache.org/r/12496/diff/ > > > Testing > ------- > > Tested with 2 KVM hosts and confirmed it correctly manipulate vnetBridge with > start, stop, migrate, plug, and unplug event > > > Thanks, > > Toshiaki Hatano > >