----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/12496/#review23140 -----------------------------------------------------------
Commit b13485493733585cce3044d209063bf37a774ece in branch refs/heads/master from Toshiaki Hatano [ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=b134854 ] CLOUDSTACK-3431: KVM: cloudstack-plugin-hypervisor-kvm with BridgeVifDriver doesn't cleanup vNet due to multiple reasons - 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 Tested with 2 KVM hosts and confirmed it correctly manipulate vnetBridge with start, stop, migrate, plug, and unplug event Signed-off-by: Hugo Trippaers <htrippa...@schubergphilis.com> - ASF Subversion and Git Services 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 > >