CLOUDSTACK-1170: Use a unified way to generate PublicIp

Tired of manually generate mac address everytime when create PublicIp object.


Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/50f995f8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/50f995f8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/50f995f8

Branch: refs/heads/ui-multiple-nics
Commit: 50f995f8b4ffab502927864ed2c062adecd139d7
Parents: 91d1835
Author: Sheng Yang <[email protected]>
Authored: Wed Feb 27 13:59:02 2013 -0800
Committer: Sheng Yang <[email protected]>
Committed: Wed Feb 27 14:20:26 2013 -0800

----------------------------------------------------------------------
 .../src/com/cloud/network/NetworkManagerImpl.java  |   18 +++++---------
 server/src/com/cloud/network/NetworkModelImpl.java |    7 ++---
 .../src/com/cloud/network/NetworkServiceImpl.java  |    2 +-
 server/src/com/cloud/network/addr/PublicIp.java    |    4 +++
 .../router/VirtualNetworkApplianceManagerImpl.java |    3 +-
 .../VpcVirtualNetworkApplianceManagerImpl.java     |    6 +---
 .../src/com/cloud/network/vpc/VpcManagerImpl.java  |    3 +-
 7 files changed, 19 insertions(+), 24 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/50f995f8/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 82893c4..f527b73 100755
--- a/server/src/com/cloud/network/NetworkManagerImpl.java
+++ b/server/src/com/cloud/network/NetworkManagerImpl.java
@@ -355,9 +355,7 @@ public class NetworkManagerImpl extends ManagerBase 
implements NetworkManager, L
             _firewallMgr.addSystemFirewallRules(addr, owner);
         }
 
-        long macAddress = 
NetUtils.createSequenceBasedMacAddress(addr.getMacAddress());
-
-        return new PublicIp(addr, _vlanDao.findById(addr.getVlanId()), 
macAddress);
+        return PublicIp.createFromAddrAndVlan(addr, 
_vlanDao.findById(addr.getVlanId()));
     }
 
     @DB
@@ -404,8 +402,7 @@ public class NetworkManagerImpl extends ManagerBase 
implements NetworkManager, L
 
         PublicIp ipToReturn = null;
         if (sourceNatIp != null) {
-            ipToReturn = new PublicIp(sourceNatIp, 
_vlanDao.findById(sourceNatIp.getVlanId()),
-                    
NetUtils.createSequenceBasedMacAddress(sourceNatIp.getMacAddress()));
+            ipToReturn = PublicIp.createFromAddrAndVlan(sourceNatIp, 
_vlanDao.findById(sourceNatIp.getVlanId()));
         } else {
             ipToReturn = assignDedicateIpAddress(owner, guestNetwork.getId(), 
null, dcId, true);
         }
@@ -490,8 +487,7 @@ public class NetworkManagerImpl extends ManagerBase 
implements NetworkManager, L
         List<PublicIp> publicIps = new ArrayList<PublicIp>();
         if (userIps != null && !userIps.isEmpty()) {
             for (IPAddressVO userIp : userIps) {
-                PublicIp publicIp = new PublicIp(userIp, 
_vlanDao.findById(userIp.getVlanId()),
-                        
NetUtils.createSequenceBasedMacAddress(userIp.getMacAddress()));
+                PublicIp publicIp = PublicIp.createFromAddrAndVlan(userIp, 
_vlanDao.findById(userIp.getVlanId()));
                 publicIps.add(publicIp);
             }
         }
@@ -2311,7 +2307,7 @@ public class NetworkManagerImpl extends ManagerBase 
implements NetworkManager, L
             List<IPAddressVO> userIps = 
_ipAddressDao.listByAssociatedNetwork(network.getId(), null);
             if (userIps != null && !userIps.isEmpty()) {
                 for (IPAddressVO userIp : userIps) {
-                       PublicIp publicIp = new PublicIp(userIp, 
_vlanDao.findById(userIp.getVlanId()), 
NetUtils.createSequenceBasedMacAddress(userIp.getMacAddress()));
+                       PublicIp publicIp = 
PublicIp.createFromAddrAndVlan(userIp, _vlanDao.findById(userIp.getVlanId()));
                        publicIps.add(publicIp);
                        }
              }
@@ -2847,7 +2843,7 @@ public class NetworkManagerImpl extends ManagerBase 
implements NetworkManager, L
         List<PublicIp> publicIps = new ArrayList<PublicIp>();
         if (userIps != null && !userIps.isEmpty()) {
             for (IPAddressVO userIp : userIps) {
-                PublicIp publicIp = new PublicIp(userIp, 
_vlanDao.findById(userIp.getVlanId()), 
NetUtils.createSequenceBasedMacAddress(userIp.getMacAddress()));
+                PublicIp publicIp = PublicIp.createFromAddrAndVlan(userIp, 
_vlanDao.findById(userIp.getVlanId()));
                 publicIps.add(publicIp);
             }
         }
@@ -2877,7 +2873,7 @@ public class NetworkManagerImpl extends ManagerBase 
implements NetworkManager, L
                         IPAddressVO ip = 
_ipAddressDao.findByIdIncludingRemoved(staticNat.getSourceIpAddressId());
                         // ip can't be null, otherwise something wrong happened
                         ip.setAssociatedWithVmId(null);
-                        publicIp = new PublicIp(ip, 
_vlanDao.findById(ip.getVlanId()), 
NetUtils.createSequenceBasedMacAddress(ip.getMacAddress()));
+                        publicIp = PublicIp.createFromAddrAndVlan(ip, 
_vlanDao.findById(ip.getVlanId()));
                         publicIps.add(publicIp);
                         break;
                     }
@@ -3154,7 +3150,7 @@ public class NetworkManagerImpl extends ManagerBase 
implements NetworkManager, L
         if (userIps != null && !userIps.isEmpty()) {
             for (IPAddressVO userIp : userIps) {
                 userIp.setState(State.Releasing);
-                PublicIp publicIp = new PublicIp(userIp, 
_vlanDao.findById(userIp.getVlanId()), 
NetUtils.createSequenceBasedMacAddress(userIp.getMacAddress()));
+                PublicIp publicIp = PublicIp.createFromAddrAndVlan(userIp, 
_vlanDao.findById(userIp.getVlanId()));
                 publicIpsToRelease.add(publicIp);
             }
         }

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/50f995f8/server/src/com/cloud/network/NetworkModelImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/NetworkModelImpl.java 
b/server/src/com/cloud/network/NetworkModelImpl.java
index f978ac5..ac1bc87 100644
--- a/server/src/com/cloud/network/NetworkModelImpl.java
+++ b/server/src/com/cloud/network/NetworkModelImpl.java
@@ -709,7 +709,7 @@ public class NetworkModelImpl extends ManagerBase 
implements NetworkModel {
             return null;
         }
     
-        return new PublicIp(addr, _vlanDao.findById(addr.getVlanId()), 
NetUtils.createSequenceBasedMacAddress(addr.getMacAddress()));
+        return PublicIp.createFromAddrAndVlan(addr, 
_vlanDao.findById(addr.getVlanId()));
     }
 
     @Override
@@ -1405,7 +1405,7 @@ public class NetworkModelImpl extends ManagerBase 
implements NetworkModel {
             return true;
         }
         IPAddressVO ipVO = _ipAddressDao.findById(userIp.getId());
-        PublicIp publicIp = new PublicIp(ipVO, 
_vlanDao.findById(userIp.getVlanId()), 
NetUtils.createSequenceBasedMacAddress(ipVO.getMacAddress()));
+        PublicIp publicIp = PublicIp.createFromAddrAndVlan(ipVO, 
_vlanDao.findById(userIp.getVlanId()));
         if (!canIpUsedForService(publicIp, service, networkId)) {
             return false;
         }
@@ -1884,8 +1884,7 @@ public class NetworkModelImpl extends ManagerBase 
implements NetworkModel {
             for (IpAddress addr : addrs) {
                 if (addr.isSourceNat()) {
                     sourceNatIp = _ipAddressDao.findById(addr.getId());
-                    return new PublicIp(sourceNatIp, 
_vlanDao.findById(sourceNatIp.getVlanId()), 
-                            
NetUtils.createSequenceBasedMacAddress(sourceNatIp.getMacAddress()));
+                    return PublicIp.createFromAddrAndVlan(sourceNatIp, 
_vlanDao.findById(sourceNatIp.getVlanId()));
                 }
             }
     

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/50f995f8/server/src/com/cloud/network/NetworkServiceImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/NetworkServiceImpl.java 
b/server/src/com/cloud/network/NetworkServiceImpl.java
index ce527b7..1708224 100755
--- a/server/src/com/cloud/network/NetworkServiceImpl.java
+++ b/server/src/com/cloud/network/NetworkServiceImpl.java
@@ -1895,7 +1895,7 @@ public class NetworkServiceImpl extends ManagerBase 
implements  NetworkService {
         List<PublicIp> publicIps = new ArrayList<PublicIp>();
         if (userIps != null && !userIps.isEmpty()) {
             for (IPAddressVO userIp : userIps) {
-                PublicIp publicIp = new PublicIp(userIp, 
_vlanDao.findById(userIp.getVlanId()), 
NetUtils.createSequenceBasedMacAddress(userIp.getMacAddress()));
+                PublicIp publicIp = PublicIp.createFromAddrAndVlan(userIp, 
_vlanDao.findById(userIp.getVlanId()));
                 publicIps.add(publicIp);
             }
         }

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/50f995f8/server/src/com/cloud/network/addr/PublicIp.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/addr/PublicIp.java 
b/server/src/com/cloud/network/addr/PublicIp.java
index 7336c9c..61351a6 100644
--- a/server/src/com/cloud/network/addr/PublicIp.java
+++ b/server/src/com/cloud/network/addr/PublicIp.java
@@ -37,6 +37,10 @@ public class PublicIp implements PublicIpAddress {
         this.macAddress = NetUtils.long2Mac(macAddress);
     }
 
+    public static PublicIp createFromAddrAndVlan(IPAddressVO addr, VlanVO 
vlan) {
+       return new PublicIp(addr, vlan, 
NetUtils.createSequenceBasedMacAddress(addr.getMacAddress()));
+    }
+    
     @Override
     public Ip getAddress() {
         return _addr.getAddress();

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/50f995f8/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
----------------------------------------------------------------------
diff --git 
a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java 
b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
index abb4973..0e2eb63 100755
--- 
a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
+++ 
b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
@@ -2414,8 +2414,7 @@ public class VirtualNetworkApplianceManagerImpl extends 
ManagerBase implements V
                 
                 if (addIp) {
                     IPAddressVO ipVO = _ipAddressDao.findById(userIp.getId());
-                    PublicIp publicIp = new PublicIp(ipVO, 
_vlanDao.findById(userIp.getVlanId()), 
-                            
NetUtils.createSequenceBasedMacAddress(ipVO.getMacAddress()));
+                    PublicIp publicIp = PublicIp.createFromAddrAndVlan(ipVO, 
_vlanDao.findById(userIp.getVlanId()));
                     allPublicIps.add(publicIp);
                 }
             }

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/50f995f8/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
----------------------------------------------------------------------
diff --git 
a/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
 
b/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
index 4d1968d..66fb03b 100644
--- 
a/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
+++ 
b/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
@@ -803,8 +803,7 @@ public class VpcVirtualNetworkApplianceManagerImpl extends 
VirtualNetworkApplian
                         publicNic.getIp4Address());
                
                 if (userIp.isSourceNat()) {
-                    PublicIp publicIp = new PublicIp(userIp, 
_vlanDao.findById(userIp.getVlanId()), 
-                            
NetUtils.createSequenceBasedMacAddress(userIp.getMacAddress()));
+                    PublicIp publicIp = PublicIp.createFromAddrAndVlan(userIp, 
_vlanDao.findById(userIp.getVlanId()));
                     sourceNat.add(publicIp);
                     
                     if (router.getPublicIpAddress() == null) {
@@ -1227,8 +1226,7 @@ public class VpcVirtualNetworkApplianceManagerImpl 
extends VirtualNetworkApplian
         //4) allocate nic for additional public network(s)
         List<IPAddressVO> ips = _ipAddressDao.listByAssociatedVpc(vpcId, 
false);
         for (IPAddressVO ip : ips) {
-            PublicIp publicIp = new PublicIp(ip, 
_vlanDao.findById(ip.getVlanId()), 
-                    
NetUtils.createSequenceBasedMacAddress(ip.getMacAddress()));
+            PublicIp publicIp = PublicIp.createFromAddrAndVlan(ip, 
_vlanDao.findById(ip.getVlanId()));
             if ((ip.getState() == IpAddress.State.Allocated || ip.getState() 
== IpAddress.State.Allocating) 
                     && _vpcMgr.ipUsedInVpc(ip)&& 
!publicVlans.contains(publicIp.getVlanTag())) {
                 s_logger.debug("Allocating nic for router in vlan " + 
publicIp.getVlanTag());

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/50f995f8/server/src/com/cloud/network/vpc/VpcManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/vpc/VpcManagerImpl.java 
b/server/src/com/cloud/network/vpc/VpcManagerImpl.java
index c9c13c9..de6707e 100644
--- a/server/src/com/cloud/network/vpc/VpcManagerImpl.java
+++ b/server/src/com/cloud/network/vpc/VpcManagerImpl.java
@@ -2014,8 +2014,7 @@ public class VpcManagerImpl extends ManagerBase 
implements VpcManager{
         PublicIp ipToReturn = null;
 
         if (sourceNatIp != null) {
-            ipToReturn = new PublicIp(sourceNatIp, 
_vlanDao.findById(sourceNatIp.getVlanId()), 
-                    
NetUtils.createSequenceBasedMacAddress(sourceNatIp.getMacAddress()));
+            ipToReturn = PublicIp.createFromAddrAndVlan(sourceNatIp, 
_vlanDao.findById(sourceNatIp.getVlanId()));
         } else {
             ipToReturn = _ntwkMgr.assignDedicateIpAddress(owner, null, 
vpc.getId(), dcId, true);
         }

Reply via email to