VPC: update ip address object after the ip is associated with the network
Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/8be74c03 Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/8be74c03 Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/8be74c03 Branch: refs/heads/vpc Commit: 8be74c033f5a8e20b470226b1ee95f1274d01a04 Parents: 96c273a Author: Alena Prokharchyk <[email protected]> Authored: Mon Jun 25 16:26:19 2012 -0700 Committer: Alena Prokharchyk <[email protected]> Committed: Mon Jun 25 21:00:12 2012 -0700 ---------------------------------------------------------------------- server/src/com/cloud/network/NetworkManager.java | 2 +- .../src/com/cloud/network/NetworkManagerImpl.java | 4 ++-- .../network/lb/LoadBalancingRulesManagerImpl.java | 6 ++---- .../com/cloud/network/rules/RulesManagerImpl.java | 5 ++--- .../network/vpn/RemoteAccessVpnManagerImpl.java | 2 +- .../com/cloud/network/MockNetworkManagerImpl.java | 2 +- 6 files changed, 9 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/8be74c03/server/src/com/cloud/network/NetworkManager.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/network/NetworkManager.java b/server/src/com/cloud/network/NetworkManager.java index 97e9086..44652aa 100755 --- a/server/src/com/cloud/network/NetworkManager.java +++ b/server/src/com/cloud/network/NetworkManager.java @@ -408,7 +408,7 @@ public interface NetworkManager extends NetworkService { * @param ipAddrId * @param networkId */ - IpAddress associateIPToGuestNetwork(long ipAddrId, long networkId) throws ResourceAllocationException, ResourceUnavailableException, + IPAddressVO associateIPToGuestNetwork(long ipAddrId, long networkId) throws ResourceAllocationException, ResourceUnavailableException, InsufficientAddressCapacityException, ConcurrentOperationException; http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/8be74c03/server/src/com/cloud/network/NetworkManagerImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/network/NetworkManagerImpl.java b/server/src/com/cloud/network/NetworkManagerImpl.java index d6a6d9a..67cb28a 100755 --- a/server/src/com/cloud/network/NetworkManagerImpl.java +++ b/server/src/com/cloud/network/NetworkManagerImpl.java @@ -1124,12 +1124,12 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag @DB @Override - public IpAddress associateIPToGuestNetwork(long ipId, long networkId) throws ResourceAllocationException, ResourceUnavailableException, + public IPAddressVO associateIPToGuestNetwork(long ipId, long networkId) throws ResourceAllocationException, ResourceUnavailableException, InsufficientAddressCapacityException, ConcurrentOperationException { Account caller = UserContext.current().getCaller(); Account owner = null; - IpAddress ipToAssoc = getIp(ipId); + IPAddressVO ipToAssoc = _ipAddressDao.findById(ipId); if (ipToAssoc != null) { _accountMgr.checkAccess(caller, null, true, ipToAssoc); owner = _accountMgr.getAccount(ipToAssoc.getAllocatedToAccountId()); http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/8be74c03/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java b/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java index 84221c4..f00a4cc 100755 --- a/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java +++ b/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java @@ -732,13 +732,11 @@ public class LoadBalancingRulesManagerImpl<Type> implements LoadBalancingRulesMa ip = _networkMgr.assignSystemIp(lb.getNetworkId(), lbOwner, true, false); lb.setSourceIpAddressId(ip.getId()); } - - - + try { if (ip.getAssociatedWithNetworkId() == null) { s_logger.debug("The ip is not associated with the network id="+ lb.getNetworkId() + " so assigning"); - _networkMgr.associateIPToGuestNetwork(ipAddrId, lb.getNetworkId()); + ip = _networkMgr.associateIPToGuestNetwork(ipAddrId, lb.getNetworkId()); } result = createLoadBalancer(lb, openFirewall); } catch (Exception ex) { http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/8be74c03/server/src/com/cloud/network/rules/RulesManagerImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/network/rules/RulesManagerImpl.java b/server/src/com/cloud/network/rules/RulesManagerImpl.java index ddce130..7709ccc 100755 --- a/server/src/com/cloud/network/rules/RulesManagerImpl.java +++ b/server/src/com/cloud/network/rules/RulesManagerImpl.java @@ -176,8 +176,7 @@ public class RulesManagerImpl implements RulesManager, RulesService, Manager { if (ipAddress.getAssociatedWithNetworkId() == null) { s_logger.debug("The ip is not associated with the network id="+ networkId + " so assigning"); try { - _networkMgr.associateIPToGuestNetwork(ipAddrId, networkId); - ipAddress = _ipAddressDao.findById(ipAddrId); + ipAddress = _networkMgr.associateIPToGuestNetwork(ipAddrId, networkId); } catch (Exception ex) { s_logger.warn("Failed to associate ip id=" + ipAddrId + " to network id=" + networkId + " as " + "a part of port forwarding rule creation"); @@ -356,7 +355,7 @@ public class RulesManagerImpl implements RulesManager, RulesService, Manager { if (ipAddress.getAssociatedWithNetworkId() == null) { s_logger.debug("The ip is not associated with the network id="+ networkId + " so assigning"); try { - _networkMgr.associateIPToGuestNetwork(ipId, networkId); + ipAddress = _networkMgr.associateIPToGuestNetwork(ipId, networkId); } catch (Exception ex) { s_logger.warn("Failed to associate ip id=" + ipId + " to network id=" + networkId + " as " + "a part of enable static nat"); http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/8be74c03/server/src/com/cloud/network/vpn/RemoteAccessVpnManagerImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/network/vpn/RemoteAccessVpnManagerImpl.java b/server/src/com/cloud/network/vpn/RemoteAccessVpnManagerImpl.java index b1ee175..39dbea9 100755 --- a/server/src/com/cloud/network/vpn/RemoteAccessVpnManagerImpl.java +++ b/server/src/com/cloud/network/vpn/RemoteAccessVpnManagerImpl.java @@ -125,7 +125,7 @@ public class RemoteAccessVpnManagerImpl implements RemoteAccessVpnService, Manag if (ipAddress.getAssociatedWithNetworkId() == null) { s_logger.debug("The ip is not associated with the network id="+ networkId + " so assigning"); try { - _networkMgr.associateIPToGuestNetwork(publicIpId, networkId); + ipAddress = _networkMgr.associateIPToGuestNetwork(publicIpId, networkId); } catch (Exception ex) { s_logger.warn("Failed to associate ip id=" + publicIpId + " to network id=" + networkId + " as " + "a part of remote access vpn creation"); http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/8be74c03/server/test/com/cloud/network/MockNetworkManagerImpl.java ---------------------------------------------------------------------- diff --git a/server/test/com/cloud/network/MockNetworkManagerImpl.java b/server/test/com/cloud/network/MockNetworkManagerImpl.java index 802df17..7b2424e 100755 --- a/server/test/com/cloud/network/MockNetworkManagerImpl.java +++ b/server/test/com/cloud/network/MockNetworkManagerImpl.java @@ -74,7 +74,7 @@ public class MockNetworkManagerImpl implements NetworkManager, Manager, NetworkS } @Override - public IpAddress associateIPToGuestNetwork(long ipId, long networkId) throws ResourceAllocationException, InsufficientAddressCapacityException, ConcurrentOperationException, ResourceUnavailableException { + public IPAddressVO associateIPToGuestNetwork(long ipId, long networkId) throws ResourceAllocationException, InsufficientAddressCapacityException, ConcurrentOperationException, ResourceUnavailableException { // TODO Auto-generated method stub return null; }
