From 9a5cf614abd01540d711dfcc450a5089f085cfce Mon Sep 17 00:00:00 2001 From: Jayapal Date: Wed, 11 Dec 2013 10:42:40 +0530 Subject: [PATCH] CLOUDSTACK-5244 Fixed issue with applying acl items of acl to private gateway --- server/src/com/cloud/network/vpc/NetworkACLManagerImpl.java | 5 ++++- server/src/com/cloud/network/vpc/NetworkACLServiceImpl.java | 6 ++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/server/src/com/cloud/network/vpc/NetworkACLManagerImpl.java b/server/src/com/cloud/network/vpc/NetworkACLManagerImpl.java index 1ea5dd02d4f..7bb8b13272c 100644 --- a/server/src/com/cloud/network/vpc/NetworkACLManagerImpl.java +++ b/server/src/com/cloud/network/vpc/NetworkACLManagerImpl.java @@ -81,6 +81,8 @@ public class NetworkACLManagerImpl extends ManagerBase implements NetworkACLMana ConfigurationManager _configMgr; @Inject EntityManager _entityMgr; + @Inject + VpcService _vpcSvc; @Override public NetworkACL createNetworkACL(String name, String description, long vpcId) { @@ -105,7 +107,8 @@ public class NetworkACLManagerImpl extends ManagerBase implements NetworkACLMana List vpcGateways = _vpcGatewayDao.listByAclIdAndType(aclId, VpcGateway.Type.Private); for (VpcGatewayVO vpcGateway : vpcGateways) { - PrivateGateway privateGateway = _entityMgr.findById(PrivateGateway.class, vpcGateway.getId()); + PrivateGateway privateGateway = _vpcSvc.getVpcPrivateGateway(vpcGateway.getId()); + if (!applyACLToPrivateGw(privateGateway)) { aclApplyStatus = false; s_logger.debug("failed to apply network acl item on private gateway " + privateGateway.getId() + "acl id " + aclId); diff --git a/server/src/com/cloud/network/vpc/NetworkACLServiceImpl.java b/server/src/com/cloud/network/vpc/NetworkACLServiceImpl.java index b925c8bf703..e91af5784e2 100644 --- a/server/src/com/cloud/network/vpc/NetworkACLServiceImpl.java +++ b/server/src/com/cloud/network/vpc/NetworkACLServiceImpl.java @@ -93,6 +93,9 @@ public class NetworkACLServiceImpl extends ManagerBase implements NetworkACLServ @Inject VpcDao _vpcDao; + @Inject + VpcService _vpcSvc; + @Override public NetworkACL createNetworkACL(String name, String description, long vpcId) { Account caller = CallContext.current().getCallingAccount(); @@ -239,8 +242,7 @@ public class NetworkACLServiceImpl extends ManagerBase implements NetworkACLServ throw new InvalidParameterValueException("private gateway: "+privateGatewayId+" and ACL: "+aclId+" do not belong to the same VPC"); } } - - PrivateGateway privateGateway = _entityMgr.findById(PrivateGateway.class, privateGatewayId); + PrivateGateway privateGateway = _vpcSvc.getVpcPrivateGateway(gateway.getId()); _accountMgr.checkAccess(caller, null, true, privateGateway); return _networkAclMgr.replaceNetworkACLForPrivateGw(acl, privateGateway);