mirror of https://github.com/apache/cloudstack.git
Fixed the bug when domR was re-created as a part of implement() method in network gurus with sourceNatIp address belonging to incorrect user (System user instead of network owner).
Conflicts: server/src/com/cloud/network/element/DhcpElement.java server/src/com/cloud/network/element/VirtualRouterElement.java
This commit is contained in:
parent
6b9603bc4c
commit
2fef12e3ac
|
|
@ -47,6 +47,7 @@ import com.cloud.network.router.VirtualRouter;
|
|||
import com.cloud.network.rules.FirewallRule;
|
||||
import com.cloud.network.vpn.PasswordResetElement;
|
||||
import com.cloud.offering.NetworkOffering;
|
||||
import com.cloud.user.AccountManager;
|
||||
import com.cloud.uservm.UserVm;
|
||||
import com.cloud.utils.component.AdapterBase;
|
||||
import com.cloud.utils.component.Inject;
|
||||
|
|
@ -75,6 +76,7 @@ public class DhcpElement extends AdapterBase implements NetworkElement, Password
|
|||
@Inject DomainRouterDao _routerDao;
|
||||
@Inject ConfigurationManager _configMgr;
|
||||
@Inject HostPodDao _podDao;
|
||||
@Inject AccountManager _accountMgr;
|
||||
|
||||
private boolean canHandle(GuestIpType ipType, DeployDestination dest, TrafficType trafficType) {
|
||||
DataCenter dc = dest.getDataCenter();
|
||||
|
|
@ -102,7 +104,7 @@ public class DhcpElement extends AdapterBase implements NetworkElement, Password
|
|||
|
||||
Map<VirtualMachineProfile.Param, Object> params = new HashMap<VirtualMachineProfile.Param, Object>(1);
|
||||
params.put(VirtualMachineProfile.Param.RestartNetwork, true);
|
||||
_routerMgr.deployDhcp(network, dest, context.getAccount(), params);
|
||||
_routerMgr.deployDhcp(network, dest, _accountMgr.getAccount(network.getAccountId()), params);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
@ -118,8 +120,9 @@ public class DhcpElement extends AdapterBase implements NetworkElement, Password
|
|||
VirtualMachineProfile<UserVm> uservm = (VirtualMachineProfile<UserVm>)vm;
|
||||
Map<VirtualMachineProfile.Param, Object> params = new HashMap<VirtualMachineProfile.Param, Object>(1);
|
||||
params.put(VirtualMachineProfile.Param.RestartNetwork, true);
|
||||
List<DomainRouterVO> routers = _routerMgr.deployDhcp(network, dest, uservm.getOwner(), uservm.getParameters());
|
||||
List<VirtualRouter> rets = _routerMgr.addVirtualMachineIntoNetwork(network, nic, uservm, dest, context, routers);
|
||||
|
||||
List<DomainRouterVO> routers = _routerMgr.deployDhcp(network, dest, _accountMgr.getAccount(network.getAccountId()), uservm.getParameters());
|
||||
List<VirtualRouter> rets = _routerMgr.addVirtualMachineIntoNetwork(network, nic, uservm, dest, context, routers);
|
||||
return (rets != null) && (!rets.isEmpty());
|
||||
} else {
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -83,7 +83,6 @@ public class VirtualRouterElement extends DhcpElement implements NetworkElement,
|
|||
@Inject UserVmDao _userVmDao;
|
||||
@Inject DomainRouterDao _routerDao;
|
||||
@Inject LoadBalancerDao _lbDao;
|
||||
@Inject AccountManager _accountMgr;
|
||||
@Inject HostDao _hostDao;
|
||||
|
||||
private boolean canHandle(GuestIpType ipType, DataCenter dc) {
|
||||
|
|
@ -103,8 +102,9 @@ public class VirtualRouterElement extends DhcpElement implements NetworkElement,
|
|||
|
||||
Map<VirtualMachineProfile.Param, Object> params = new HashMap<VirtualMachineProfile.Param, Object>(1);
|
||||
params.put(VirtualMachineProfile.Param.RestartNetwork, true);
|
||||
_routerMgr.deployVirtualRouter(guestConfig, dest, context.getAccount(), params, offering.getRedundantRouter());
|
||||
|
||||
|
||||
_routerMgr.deployVirtualRouter(guestConfig, dest, _accountMgr.getAccount(guestConfig.getAccountId()), params, offering.getRedundantRouter());
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
@ -118,9 +118,11 @@ public class VirtualRouterElement extends DhcpElement implements NetworkElement,
|
|||
|
||||
@SuppressWarnings("unchecked")
|
||||
VirtualMachineProfile<UserVm> uservm = (VirtualMachineProfile<UserVm>)vm;
|
||||
|
||||
NetworkOffering offering = _networkOfferingDao.findById(network.getNetworkOfferingId());
|
||||
List<DomainRouterVO> routers = _routerMgr.deployVirtualRouter(network, dest, uservm.getOwner(), uservm.getParameters(), offering.getRedundantRouter());
|
||||
List<DomainRouterVO> routers = _routerMgr.deployVirtualRouter(network, dest, _accountMgr.getAccount(network.getAccountId()), uservm.getParameters(), offering.getRedundantRouter());
|
||||
List<VirtualRouter> rets = _routerMgr.addVirtualMachineIntoNetwork(network, nic, uservm, dest, context, routers);
|
||||
|
||||
return (rets != null) && (!rets.isEmpty());
|
||||
} else {
|
||||
return false;
|
||||
|
|
|
|||
Loading…
Reference in New Issue