> On Aug. 7, 2013, 12:03 a.m., Sheng Yang wrote:
> > server/src/com/cloud/network/NetworkManagerImpl.java, line 2433
> > <https://reviews.apache.org/r/13323/diff/1/?file=337776#file337776line2433>
> >
> >     It's better to show the semantic of "if this is the last nic in the 
> > subnet" in code. Say, if (vm.getType() == Type.User && it's the last nic)

Hi sheng,
  removeDhcpServiceInsubnet functon calls the function listLastNicsInSubnet to 
get the last nics in subnet and then it removes the DhcpService based on the 
networkId. 

So I mean we do not know if it is last nic in the subnet until we call the 
listLastNicsInsubnet so we cannot put this check before hand.


> On Aug. 7, 2013, 12:03 a.m., Sheng Yang wrote:
> > server/src/com/cloud/vm/VirtualMachineManagerImpl.java, line 479
> > <https://reviews.apache.org/r/13323/diff/1/?file=337777#file337777line479>
> >
> >     Why we still need this "if networkid is null then we remove all"? 
> > removeNic() for each network in network manager is not enough?

Hi sheng,

  In cases when a VM is getting expunged we need to remove the Dhcpservice in 
all the networks in which this vm has a last nic. so we pass a null as 
networkId to do this.


- bharat


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/13323/#review24762
-----------------------------------------------------------


On Aug. 6, 2013, 12:48 p.m., bharat kumar wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/13323/
> -----------------------------------------------------------
> 
> (Updated Aug. 6, 2013, 12:48 p.m.)
> 
> 
> Review request for cloudstack, Alena Prokharchyk and Sheng Yang.
> 
> 
> Bugs: Cloudstack-4083
> 
> 
> Repository: cloudstack-git
> 
> 
> Description
> -------
> 
> https://issues.apache.org/jira/browse/CLOUDSTACK-4083
> if a failure occurs while adding VM to another network (this should be the 
> first vm in the subnet). The ip alias created as a part of this process is 
> not removed. 
> 
> This occurred because we were not cleaning the alias ips in the event of a 
> failure.
> 
> As a part of the fix.
> 1.) moved the function removeDhcpServiceInsubnet and listLastNicsInSubnet to 
> NetworkManager (These were in VirtualMachineManagerImpl earlier.)
> 2.) add the call to clean ipAlias in the remove nic function of the 
> networkManager.
> 3.) Modified the removeDhcpServiceInsubnet to take network ad an argument. 
> This will help in removing only the ipAlias which belong to a particular 
> network.
> 
> 
> Diffs
> -----
> 
>   server/src/com/cloud/network/NetworkManager.java dab7a13 
>   server/src/com/cloud/network/NetworkManagerImpl.java effee96 
>   server/src/com/cloud/vm/VirtualMachineManagerImpl.java b33ee49 
>   server/test/com/cloud/network/MockNetworkManagerImpl.java 7f34e55 
>   server/test/com/cloud/vpc/MockNetworkManagerImpl.java 178ebba 
> 
> Diff: https://reviews.apache.org/r/13323/diff/
> 
> 
> Testing
> -------
> 
> Tested on 4.2.
> created two guest networks guest1 and guest2.
> created VMS in both the networks. 
> Added a VM(with no PV drivers) from guest1 to guest2.
> this failed and on failure ipAlias configured as part of nic creation was 
> removed.
> 
> Deleting the vm causes all the removal of all ipAliases from all the subnets 
> in which this is the lastvm.
> 
> 
> Thanks,
> 
> bharat kumar
> 
>

Reply via email to