bug 11193: throw insufficientCapacityException when run out of link local ip addresses

status 11193: resolved fixed
This commit is contained in:
Alena Prokharchyk 2011-11-17 17:33:51 -08:00
parent 4bdcddf96c
commit d0cdc451db
1 changed files with 4 additions and 0 deletions

View File

@ -27,6 +27,7 @@ import org.apache.log4j.Logger;
import com.cloud.configuration.Config;
import com.cloud.configuration.dao.ConfigurationDao;
import com.cloud.dc.DataCenter.NetworkType;
import com.cloud.dc.DataCenter;
import com.cloud.dc.DataCenterVO;
import com.cloud.dc.dao.DataCenterDao;
import com.cloud.deploy.DeployDestination;
@ -135,6 +136,9 @@ public class ControlNetworkGuru extends PodBasedNetworkGuru implements NetworkGu
}
String ip = _dcDao.allocateLinkLocalIpAddress(dest.getDataCenter().getId(), dest.getPod().getId(), nic.getId(), context.getReservationId());
if (ip == null) {
throw new InsufficientAddressCapacityException("Insufficient link local address capacity", DataCenter.class, dest.getDataCenter().getId());
}
nic.setIp4Address(ip);
nic.setMacAddress(NetUtils.long2Mac(NetUtils.ip2Long(ip) | (14l << 40)));
nic.setNetmask("255.255.0.0");