protected VirtualNetworkFunctionRecord getNextToCallStart( VirtualNetworkFunctionRecord virtualNetworkFunctionRecord) { Map<String, Integer> vnfrNames = vnfmManager.getVnfrNames().get(virtualNetworkFunctionRecord.getParent_ns_id()); if (vnfrNames != null) { log.debug("List of VNFRs to start: " + vnfrNames); if (!vnfrNames.isEmpty()) { for (Entry<String, Integer> entry : vnfrNames.entrySet()) { vnfrNames.remove(entry.getKey()); for (VirtualNetworkFunctionRecord vnfr : networkServiceRecordRepository .findFirstById(virtualNetworkFunctionRecord.getParent_ns_id()) .getVnfr()) { if (vnfr.getName().equals(entry.getKey())) { return vnfr; } } return null; } } } return null; }
protected void saveVirtualNetworkFunctionRecord() throws NsrNotFoundException { if (networkServiceRecordRepository.exists(virtualNetworkFunctionRecord.getParent_ns_id())) { try { lock.lock(); log.trace( "ACTION is: " + action + " and the VNFR id is: " + virtualNetworkFunctionRecord.getId()); SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd 'at' HH:mm:ss z"); if (virtualNetworkFunctionRecord.getId() == null || virtualNetworkFunctionRecord.getId().isEmpty()) { virtualNetworkFunctionRecord.setCreatedAt(format.format(new Date())); virtualNetworkFunctionRecord.setUpdatedAt(format.format(new Date())); virtualNetworkFunctionRecord = networkServiceRecordRepository.addVnfr( virtualNetworkFunctionRecord, virtualNetworkFunctionRecord.getParent_ns_id()); } else { virtualNetworkFunctionRecord.setUpdatedAt(format.format(new Date())); virtualNetworkFunctionRecord = vnfrRepository.save(virtualNetworkFunctionRecord); } } finally { lock.unlock(); } } }
nsrRepository.findFirstById(virtualNetworkFunctionRecord.getParent_ns_id()).getKeyNames()) { keys.add(keyRepository.findKey(virtualNetworkFunctionRecord.getProjectId(), keyName));
if (nsrRepository.exists(virtualNetworkFunctionRecord.getParent_ns_id())) { NetworkServiceRecord nsr = nsrRepository.findFirstById(virtualNetworkFunctionRecord.getParent_ns_id()); synchronized (NetworkServiceRecordManagement.class) { try {
@Override public List<VNFRecordDependency> getDependencyForAVNFRecordSource( VirtualNetworkFunctionRecord virtualNetworkFunctionRecord) { List<VNFRecordDependency> res = new ArrayList<>(); NetworkServiceRecord nsr = nsrRepository.findFirstById(virtualNetworkFunctionRecord.getParent_ns_id()); if (nsr.getStatus().ordinal() != Status.ERROR.ordinal()) { Set<VNFRecordDependency> vnfRecordDependencies = nsr.getVnf_dependency(); for (VNFRecordDependency vnfRecordDependency : vnfRecordDependencies) { vnfRecordDependency = vnfrDependencyRepository.findOne(vnfRecordDependency.getId()); log.trace( "Checking if " + virtualNetworkFunctionRecord.getName() + " is source for " + vnfRecordDependency); if (vnfRecordDependency.getIdType().containsKey(virtualNetworkFunctionRecord.getName())) { res.add(vnfRecordDependency); } } } return res; } }
if (virtualNetworkFunctionRecord.getParent_ns_id() != null) { if (!nsrRepository.exists(virtualNetworkFunctionRecord.getParent_ns_id())) { return null; } else { virtualNetworkFunctionRecord.setProjectId( nsrRepository .findFirstById(virtualNetworkFunctionRecord.getParent_ns_id()) .getProjectId()); for (VirtualDeploymentUnit vdu : virtualNetworkFunctionRecord.getVdu()) { vdu.setProjectId( nsrRepository .findFirstById(virtualNetworkFunctionRecord.getParent_ns_id()) .getProjectId());
+ virtualNetworkFunctionRecord.getId() + " his nsr id father is:" + virtualNetworkFunctionRecord.getParent_ns_id()); NetworkServiceRecord nsr = networkServiceRecordRepository.findFirstById( virtualNetworkFunctionRecord.getParent_ns_id()); log.debug("The current status of the NSR is " + nsr.getStatus()); for (VirtualNetworkFunctionRecord vnfr : nsr.getVnfr()) { allVnfrInInactive( networkServiceRecordRepository.findFirstById( virtualNetworkFunctionRecord.getParent_ns_id())); if (allVnfrInInactive) { VirtualNetworkFunctionRecord nextToCallStart = if (nextToCallStart != null) { vnfmManager.removeVnfrName( virtualNetworkFunctionRecord.getParent_ns_id(), nextToCallStart.getName()); sendStart(nextToCallStart); log.debug( + vnfmManager .getVnfrNames() .get(virtualNetworkFunctionRecord.getParent_ns_id()));
NetworkServiceRecord nsr = networkServiceRecordRepository.findFirstById( virtualNetworkFunctionRecord.getParent_ns_id()); log.info("MODIFY finished for VNFR: " + virtualNetworkFunctionRecord.getName()); log.trace( if (nextToCallStart != null) { vnfmManager.removeVnfrName( virtualNetworkFunctionRecord.getParent_ns_id(), nextToCallStart.getName()); sendStart(nextToCallStart);
@Override public VNFRecordDependency getDependencyForAVNFRecordTarget( VirtualNetworkFunctionRecord virtualNetworkFunctionRecord) { NetworkServiceRecord nsr = nsrRepository.findFirstById(virtualNetworkFunctionRecord.getParent_ns_id()); if (nsr.getStatus().ordinal() != Status.ERROR.ordinal()) { Set<VNFRecordDependency> vnfRecordDependencies = nsr.getVnf_dependency(); for (VNFRecordDependency vnfRecordDependency : vnfRecordDependencies) { vnfRecordDependency = vnfrDependencyRepository.findOne(vnfRecordDependency.getId()); if (vnfRecordDependency.getTarget().equals(virtualNetworkFunctionRecord.getName())) { return vnfRecordDependency; } } } return null; }
+ " because is the next in order (ordered deployment is enabled in the openbaton-nfvo.properties)"); vnfmManager.removeVnfrName( virtualNetworkFunctionRecord.getParent_ns_id(), nextToCallStart.getName()); sendStart(nextToCallStart);
log.debug("Provision dependencies for " + virtualNetworkFunctionRecord.getName()); NetworkServiceRecord nsr = nsrRepository.findFirstById(virtualNetworkFunctionRecord.getParent_ns_id()); int dep = 0;
try { try { log.debug("The nsr id is: " + virtualNetworkFunctionRecord.getParent_ns_id()); networkServiceRecord = nsrRepository.findFirstById(virtualNetworkFunctionRecord.getParent_ns_id()); log.trace("Found NSR: " + networkServiceRecord); } catch (Exception ignored) { log.error("No NSR found with id " + virtualNetworkFunctionRecord.getParent_ns_id()); return;
public void deleteVNFRecord(String idNsr, String idVnf, String projectId) throws NotFoundException { // TODO the logic of this request for the moment deletes only the VNFR from the DB, need to be // removed from the // running NetworkServiceRecord VirtualNetworkFunctionRecord vnfr = vnfrRepository.findOne(idVnf); if (vnfr == null) { throw new NotFoundException("Not found VNFR with ID: " + idVnf); } if (!vnfr.getParent_ns_id().equals(idNsr)) { throw new NotFoundException("Not found VNFR " + idVnf + " in the given NSR " + idNsr); } if (!vnfr.getProjectId().equals(projectId)) { throw new UnauthorizedUserException("VNFR not contained in the chosen project."); } nsrRepository.deleteVNFRecord(idNsr, idVnf); NetworkServiceRecord nsr = query(idNsr, projectId); if (nsr != null) { for (VirtualNetworkFunctionRecord virtualNetworkFunctionRecord : nsr.getVnfr()) { if (nsr.getStatus().ordinal() > virtualNetworkFunctionRecord.getStatus().ordinal()) { nsr.setStatus(vnfr.getStatus()); } } nsrRepository.saveCascade(nsr); } else { log.warn("Parent NS does not exist anymore..."); } }
nsrRepository.findFirstById(virtualNetworkFunctionRecord.getParent_ns_id()); log.info( "NFVO: VirtualNetworkFunctionRecord "
if (!networkServiceRecordRepository.exists(virtualNetworkFunctionRecord.getParent_ns_id())) throw new NsrNotFoundException( String.format( "NSR with id [%s] was not found, probably deleted during deploying", virtualNetworkFunctionRecord.getParent_ns_id())); NetworkServiceRecord networkServiceRecord = networkServiceRecordRepository.findFirstById( virtualNetworkFunctionRecord.getParent_ns_id()); NetworkServiceDescriptor networkServiceDescriptor = networkServiceDescriptorRepository.findFirstById(
@Override public void restartVnfr(VirtualNetworkFunctionRecord vnfr) throws NotFoundException, BadFormatException, ExecutionException, InterruptedException { VnfmManagerEndpoint endpoint = generator.getVnfm(vnfr.getEndpoint()); if (endpoint == null) { throw new NotFoundException( "VnfManager of type " + vnfr.getType() + " (endpoint = " + vnfr.getEndpoint() + ") is not registered"); } VirtualNetworkFunctionDescriptor vnfd = vnfdRepository.findFirstByIdAndProjectId( vnfr.getDescriptor_reference(), vnfr.getProjectId()); Map<String, Set<String>> vduVimInstances = new HashMap<>(); for (VirtualDeploymentUnit vdu : vnfd.getVdu()) vduVimInstances.put(vdu.getId(), vdu.getVimInstanceName()); NetworkServiceRecord nsr = nsrRepository.findFirstByIdAndProjectId(vnfr.getParent_ns_id(), vnfr.getProjectId()); VnfmSender vnfmSender = generator.getVnfmSender(vnfd); OrVnfmInstantiateMessage message = generator.getNextMessage(vnfd, vduVimInstances, nsr, null, null); // Set the vnfr in the message, so the allocate resources will be skipped message.setVnfr(vnfr); log.debug("----------Executing ACTION: " + message.getAction()); vnfStateHandler.executeAction(vnfmSender.sendCommand(message, endpoint)); log.info("Sent " + message.getAction() + " to VNF: " + vnfd.getName()); }
nsrRepository.findFirstById(virtualNetworkFunctionRecord.getParent_ns_id()); log.debug( "NFVO: VirtualNetworkFunctionRecord "
(VirtualNetworkFunctionRecord) applicationEventNFVO.getPayload(); String projectId = vnfr.getProjectId(); String nsrId = vnfr.getParent_ns_id();
case SCALE_IN: OrVnfmScalingMessage scalingMessage = (OrVnfmScalingMessage) message; nsrId = scalingMessage.getVirtualNetworkFunctionRecord().getParent_ns_id(); virtualNetworkFunctionRecord = scalingMessage.getVirtualNetworkFunctionRecord(); VNFCInstance vnfcInstanceToRemove = scalingMessage.getVnfcInstance(); nsrId = scalingMessage.getVirtualNetworkFunctionRecord().getParent_ns_id(); virtualNetworkFunctionRecord = scalingMessage.getVirtualNetworkFunctionRecord(); VNFRecordDependency dependency = scalingMessage.getDependency(); case ERROR: OrVnfmErrorMessage errorMessage = (OrVnfmErrorMessage) message; nsrId = errorMessage.getVnfr().getParent_ns_id(); log.error("ERROR Received: " + errorMessage.getMessage()); handleError(errorMessage.getVnfr()); orVnfmGenericMessage = (OrVnfmGenericMessage) message; virtualNetworkFunctionRecord = orVnfmGenericMessage.getVnfr(); nsrId = orVnfmGenericMessage.getVnfr().getParent_ns_id(); nfvMessage = VnfmUtils.getNfvMessage( case RELEASE_RESOURCES: orVnfmGenericMessage = (OrVnfmGenericMessage) message; nsrId = orVnfmGenericMessage.getVnfr().getParent_ns_id(); virtualNetworkFunctionRecord = orVnfmGenericMessage.getVnfr(); nfvMessage = nsrId = orVnfmHealMessage.getVirtualNetworkFunctionRecord().getParent_ns_id();