importPackage(java.lang);
importPackage(java.util);
importPackage(com.cloupia.service.cIM.inframgr.reservation);
var LOCKNAME = "Host-IP-Reservation";
var RES_TYPE = "HOST_IP_RESERVATION";
function registerUndoTask(mainSrId)
{
// register undo task
var undoHandler = "custom_HANA_RollbackAllocateBM_v1";
var undoContext = ctxt.createInnerTaskContext(undoHandler);
var undoConfig = undoContext.getConfigObject();
undoConfig.srId = mainSrId;
ctxt.getChangeTracker().undoableResourceModified("Host-IP_Reservation",
""+mainSrId,"Host-IP-Reservation by SR "+mainSrId,
"Host-IP-Reservation by SR "+mainSrId,undoHandler,
undoConfig);
}
function getFreeHost(usedHostSet,inputHostSet){
inputHostSet.removeAll(usedHostSet);
logger.addInfo("List of free host "+inputHostSet);
var inputHostSetArray = inputHostSet.toArray();
if(inputHostSetArray.length > 0){
var id = input.cell_name+";"+inputHostSetArray[0];
logger.addInfo("Reserving the host "+inputHostSetArray[0]);
var reservation = new CapacityReservation();
reservation.setSrId(ctxt.getSrId());
reservation.setGroupId(0);
reservation.setResourceType(RES_TYPE);
reservation.setResourceId(id);
var hostIPNameArr = id.split(",");
var hostNameArr = new java.lang.String(hostIPNameArr[0]).split(";");
output.esxi_hostname = hostNameArr[1];
output.esxi_ipaddress = hostIPNameArr[1];
return reservation;
}
ctxt.setFailed("No free host available");
ctxt.exit();
}
try
{
CriticalSectionUtil.enterCriticalSection(ctxt, logger, LOCKNAME);
var inputHostList = input.host_list;
var resList = CapacityReservationPersistentUtil.getCapacityReservationByTypeAndGroup(RES_TYPE,0);
var usedSet = new TreeSet();
var inputHostSet = new TreeSet();
var inputHostListArr = inputHostList.split("[\\s\\n;]");
for (var i=0; i
Additional Links: