mirror of https://github.com/apache/cloudstack.git
CLOUDSTACK-1170: Use a unified way to generate PublicIp
Tired of manually generate mac address everytime when create PublicIp object.
This commit is contained in:
parent
798404e61a
commit
02a0439dba
|
|
@ -356,9 +356,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
|
||||
|
|
@ -405,8 +403,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);
|
||||
}
|
||||
|
|
@ -491,8 +488,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);
|
||||
}
|
||||
}
|
||||
|
|
@ -2309,7 +2305,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);
|
||||
}
|
||||
}
|
||||
|
|
@ -2845,7 +2841,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);
|
||||
}
|
||||
}
|
||||
|
|
@ -2875,7 +2871,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;
|
||||
}
|
||||
|
|
@ -3152,7 +3148,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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -710,7 +710,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
|
||||
|
|
@ -1406,7 +1406,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;
|
||||
}
|
||||
|
|
@ -1885,8 +1885,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()));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1812,7 +1812,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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
|
|
|
|||
|
|
@ -1929,8 +1929,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);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue