VnfmSender vnfmSender = this.getVnfmSender( vnfmRegister.getVnfm(virtualNetworkFunctionRecord.getEndpoint()).getEndpointType()); + virtualNetworkFunctionRecord.getName() + " with ID: " + virtualNetworkFunctionRecord.getId()); VirtualNetworkFunctionRecord virtualNetworkFunctionRecord_nfvo = vnfrRepository.findOne(virtualNetworkFunctionRecord.getId()); virtualNetworkFunctionRecord_nfvo.setStatus(virtualNetworkFunctionRecord.getStatus()); virtualNetworkFunctionRecord_nfvo.setName(virtualNetworkFunctionRecord.getName()); virtualNetworkFunctionRecord_nfvo.setDeployment_flavour_key( virtualNetworkFunctionRecord.getDeployment_flavour_key()); virtualNetworkFunctionRecord_nfvo.setTask(virtualNetworkFunctionRecord.getTask()); virtualNetworkFunctionRecord_nfvo.setType(virtualNetworkFunctionRecord.getType()); virtualNetworkFunctionRecord_nfvo.setAudit_log(virtualNetworkFunctionRecord.getAudit_log()); virtualNetworkFunctionRecord_nfvo.setLocalization( virtualNetworkFunctionRecord.getLocalization()); virtualNetworkFunctionRecord_nfvo.setMonitoring_parameter( virtualNetworkFunctionRecord.getMonitoring_parameter()); virtualNetworkFunctionRecord_nfvo.setNotification( virtualNetworkFunctionRecord.getNotification()); virtualNetworkFunctionRecord_nfvo.setVnf_address(virtualNetworkFunctionRecord.getVnf_address()); virtualNetworkFunctionRecord_nfvo.setRuntime_policy_info( virtualNetworkFunctionRecord.getRuntime_policy_info()); virtualNetworkFunctionRecord_nfvo.setProvides( updateConfiguration( virtualNetworkFunctionRecord_nfvo.getProvides(),
private VirtualNetworkFunctionRecord createVNFR() { VirtualNetworkFunctionRecord vnfr = new VirtualNetworkFunctionRecord(); vnfr.setName("testVnfr"); vnfr.setStatus(Status.INITIALIZED); vnfr.setAudit_log("audit_log"); vnfr.setDescriptor_reference("test_dr"); VNFDeploymentFlavour deployment_flavour = new VNFDeploymentFlavour(); deployment_flavour.setFlavour_key("m1.small"); vnfr.setDeployment_flavour_key("m1.small"); return vnfr; }
private NFVMessage handleVimDriverException(VimDriverException e) { e.printStackTrace(); log.error(e.getMessage()); HistoryLifecycleEvent lifecycleEvent = new HistoryLifecycleEvent(); lifecycleEvent.setEvent(Event.ERROR.name()); lifecycleEvent.setDescription(e.getMessage()); SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd'-'HH:mm:ss:SSS'-'z"); lifecycleEvent.setExecutedAt(format.format(new Date())); if (virtualNetworkFunctionRecord.getLifecycle_event_history() == null) { virtualNetworkFunctionRecord.setLifecycle_event_history(new LinkedHashSet<>()); } virtualNetworkFunctionRecord.getLifecycle_event_history().add(lifecycleEvent); virtualNetworkFunctionRecord.setStatus(Status.ERROR); try { saveVirtualNetworkFunctionRecord(); } catch (NotFoundException e1) { log.error(e1.getMessage()); } return new OrVnfmErrorMessage(virtualNetworkFunctionRecord, e.getMessage()); }
protected boolean allVnfrInInactive(NetworkServiceRecord nsr) { for (VirtualNetworkFunctionRecord virtualNetworkFunctionRecord : nsr.getVnfr()) { if (virtualNetworkFunctionRecord.getStatus().ordinal() < Status.INACTIVE.ordinal()) { log.trace( "VNFR " + virtualNetworkFunctionRecord.getName() + " is in state: " + virtualNetworkFunctionRecord.getStatus()); return false; } } return true; }
protected synchronized void setHistoryLifecycleEvent() { HistoryLifecycleEvent lifecycleEvent = new HistoryLifecycleEvent(); lifecycleEvent.setEvent(event); SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd'-'HH:mm:ss:SSS'-'z"); lifecycleEvent.setExecutedAt(format.format(new Date())); lifecycleEvent.setDescription(description); if (virtualNetworkFunctionRecord.getLifecycle_event_history() == null) { virtualNetworkFunctionRecord.setLifecycle_event_history(new LinkedHashSet<>()); } virtualNetworkFunctionRecord.getLifecycle_event_history().add(lifecycleEvent); log.debug("Added lifecycle event history: " + lifecycleEvent); }
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(); } } }
private static void setBasicFields( VirtualNetworkFunctionDescriptor vnfd, String nsr_id, VirtualNetworkFunctionRecord virtualNetworkFunctionRecord) { virtualNetworkFunctionRecord.setLifecycle_event_history(new LinkedHashSet<>()); virtualNetworkFunctionRecord.setParent_ns_id(nsr_id); virtualNetworkFunctionRecord.setName(vnfd.getName()); virtualNetworkFunctionRecord.setType(vnfd.getType()); virtualNetworkFunctionRecord.setCyclicDependency(vnfd.hasCyclicDependency()); setConfigurations(vnfd, virtualNetworkFunctionRecord); virtualNetworkFunctionRecord.setPackageId(vnfd.getVnfPackageLocation()); if (vnfd.getEndpoint() != null) { virtualNetworkFunctionRecord.setEndpoint(vnfd.getEndpoint()); } else virtualNetworkFunctionRecord.setEndpoint(vnfd.getType()); virtualNetworkFunctionRecord.setVendor(vnfd.getVendor()); virtualNetworkFunctionRecord.setVersion(vnfd.getVersion()); virtualNetworkFunctionRecord.setDescriptor_reference(vnfd.getId()); virtualNetworkFunctionRecord.setVnf_address(new HashSet<String>()); virtualNetworkFunctionRecord.setStatus(Status.NULL); }
@Override protected NFVMessage doWork() throws Exception { log.info("Executing task: GrantOperation on VNFR: " + virtualNetworkFunctionRecord.getName()); printOldAndNewHibernateVersion(); for (VirtualDeploymentUnit virtualDeploymentUnit : virtualNetworkFunctionRecord.getVdu()) { BaseVimInstance vimInstance = vnfPlacementManagement.choseRandom( virtualDeploymentUnit.getVimInstanceName(), virtualNetworkFunctionRecord.getProjectId()); performChecks(vimInstance, virtualDeploymentUnit); vimInstancesChosen.put(virtualDeploymentUnit.getId(), vimInstance); log.info("Choose all Vim Instance for vnfr: " + virtualNetworkFunctionRecord.getName()); + virtualNetworkFunctionRecord.getId() + ") current hibernate version is: " + virtualNetworkFunctionRecord.getHbVersion()); for (VirtualDeploymentUnit virtualDeploymentUnit : virtualNetworkFunctionRecord.getVdu()) { log.debug( "For vdu " if (vimInstancesChosen.size() == virtualNetworkFunctionRecord.getVdu().size()) { for (Map.Entry<String, BaseVimInstance> entry : vimInstancesChosen.entrySet()) { performChecks( entry.getValue(), virtualNetworkFunctionRecord .getVdu() .stream()
@Override public NFVMessage doWork() throws NsrNotFoundException { log.info("Stopped VNFR: " + virtualNetworkFunctionRecord.getName()); VirtualNetworkFunctionRecord existing = vnfrRepository.findFirstById(virtualNetworkFunctionRecord.getId()); log.trace("VNFR existing hibernate version = " + existing.getHbVersion()); log.trace("VNFR reiceived hibernate version = " + virtualNetworkFunctionRecord.getHbVersion()); for (VirtualDeploymentUnit virtualDeploymentUnit : virtualNetworkFunctionRecord.getVdu()) { for (VNFCInstance vnfcInstance : virtualDeploymentUnit.getVnfc_instance()) { log.trace("VNFCI received hibernate version = " + vnfcInstance.getHbVersion()); } } for (VirtualDeploymentUnit virtualDeploymentUnit : existing.getVdu()) { for (VNFCInstance vnfcInstance : virtualDeploymentUnit.getVnfc_instance()) { log.trace("VNFCI existing hibernate version = " + vnfcInstance.getHbVersion()); } } setHistoryLifecycleEvent(); saveVirtualNetworkFunctionRecord(); return null; }
private void changeStatus() { log.debug("Action is: " + action); Status status = virtualNetworkFunctionRecord.getStatus(); log.debug("Previous status is: " + status); switch (action) { for (VirtualDeploymentUnit vdu : virtualNetworkFunctionRecord.getVdu()) { for (VNFCInstance instanceInVNFR : vdu.getVnfc_instance()) { boolean stopVNFR = true; for (VirtualDeploymentUnit vdu : virtualNetworkFunctionRecord.getVdu()) { for (VNFCInstance instanceInVNFR : vdu.getVnfc_instance()) { virtualNetworkFunctionRecord.setStatus(status); log.debug( "Changing status of VNFR: " + virtualNetworkFunctionRecord.getName() + " ( " + virtualNetworkFunctionRecord.getId() + " ) to " + status);
log.info( "Start INSTANTIATE task for vnfr: " + virtualNetworkFunctionRecord.getName() + " with VNFR ID " + virtualNetworkFunctionRecord.getId() + " his nsr id father is:" + virtualNetworkFunctionRecord.getParent_ns_id()); for (VirtualDeploymentUnit vdu : virtualNetworkFunctionRecord.getVdu()) { for (VNFCInstance vnfcInstance : vdu.getVnfc_instance()) { vnfcInstance.getConnection_point().removeIf(Objects::isNull); log.debug("Filled dependency parameters of " + virtualNetworkFunctionRecord.getName()); saveVirtualNetworkFunctionRecord(); log.debug("Saved VNFR " + virtualNetworkFunctionRecord.getName()); NetworkServiceRecord nsr = networkServiceRecordRepository.findFirstById( virtualNetworkFunctionRecord.getParent_ns_id()); log.debug("The current status of the NSR is " + nsr.getStatus()); for (VirtualNetworkFunctionRecord vnfr : nsr.getVnfr()) { log.trace("Current VNFRs in the database: " + vnfr.getName()); dependencyQueuer.releaseVNFR(virtualNetworkFunctionRecord.getName(), nsr); log.info("Calling dependency management for VNFR: " + virtualNetworkFunctionRecord.getName()); int dep = dependencyManagement.provisionDependencies(virtualNetworkFunctionRecord); log.info("Found " + dep + " dependencies"); + "deployment, please disable it"); if (dep == 0) {
@Override protected NFVMessage doWork() throws Exception, BadFormatException { description = "All the configuration scripts setting up dependencies were correctly executed"; virtualNetworkFunctionRecord.setStatus(Status.INACTIVE); NetworkServiceRecord nsr = networkServiceRecordRepository.findFirstById( virtualNetworkFunctionRecord.getParent_ns_id()); log.info("MODIFY finished for VNFR: " + virtualNetworkFunctionRecord.getName()); log.trace( "VNFR (" + virtualNetworkFunctionRecord.getId() + ") received hibernate version = " + virtualNetworkFunctionRecord.getHbVersion()); setHistoryLifecycleEvent(); saveVirtualNetworkFunctionRecord(); log.trace( "VNFR (" + virtualNetworkFunctionRecord.getId() + ") current hibernate version is: " + virtualNetworkFunctionRecord.getHbVersion()); log.debug( "VNFR " + virtualNetworkFunctionRecord.getName() + " Status is: " + virtualNetworkFunctionRecord.getStatus()); boolean allVnfrInInactive = allVnfrInInactive(nsr); log.debug( if (nextToCallStart != null) { vnfmManager.removeVnfrName(
private VirtualNetworkFunctionRecord createVirtualNetworkFunctionRecord() { VirtualNetworkFunctionRecord virtualNetworkFunctionRecord = new VirtualNetworkFunctionRecord(); virtualNetworkFunctionRecord.setMonitoring_parameter( new HashSet<String>() { { add("monitor1"); add("monitor2"); add("monitor3"); } }); VNFDeploymentFlavour vdf = new VNFDeploymentFlavour(); vdf.setExtId("mocked_vdu_ext_id"); vdf.setFlavour_key("m1.tiny"); virtualNetworkFunctionRecord.setName("mocked_vnfr"); virtualNetworkFunctionRecord.setDeployment_flavour_key(vdf.getFlavour_key()); virtualNetworkFunctionRecord.setVdu(new HashSet<VirtualDeploymentUnit>()); BaseVimInstance vimInstance = createVimInstance(); for (int i = 1; i <= 3; i++) { virtualNetworkFunctionRecord.getVdu().add(createVDU(i, vimInstance)); } return virtualNetworkFunctionRecord; }
try { Thread.sleep(timeout * 1000); if (vnfrRepository.exists(virtualNetworkFunctionRecord.getId())) { virtualNetworkFunctionRecord = vnfrRepository.findFirstById(virtualNetworkFunctionRecord.getId()); log.debug( "Terminating the VNFR not yet removed: " + virtualNetworkFunctionRecord.getName()); virtualNetworkFunctionRecord .getVdu() .stream() .parallel() if (nsrRepository.exists(virtualNetworkFunctionRecord.getParent_ns_id())) { NetworkServiceRecord nsr = nsrRepository.findFirstById(virtualNetworkFunctionRecord.getParent_ns_id()); synchronized (NetworkServiceRecordManagement.class) { try { Action.RELEASE_RESOURCES_FINISH, nsr, virtualNetworkFunctionRecord.getProjectId()); EventNFVO eventNFVO = new EventNFVO(this); eventNFVO.setEventNFVO(event);
vnfmSender = this.getVnfmSender( vnfmRegister.getVnfm(virtualNetworkFunctionRecord.getEndpoint()).getEndpointType()); nsrRepository.findFirstById(virtualNetworkFunctionRecord.getParent_ns_id()); log.debug( "NFVO: VirtualNetworkFunctionRecord " + virtualNetworkFunctionRecord.getName() + " has finished scaling"); printOldAndNewHibernateVersion(); log.debug( "The current VNFC for VNFR (" + virtualNetworkFunctionRecord.getId() + ") instance is: " + vnfcInstance.toString()); + ". Status of unsaved VNFC instance is: " + vnfcInstance.getState()); for (VirtualDeploymentUnit vdu : virtualNetworkFunctionRecord.getVdu()) { for (VNFCInstance vnfcInstanceTmp : vdu.getVnfc_instance()) { if (vnfcInstanceTmp.getHostname().equals(vnfcInstance.getHostname()) log.debug( "VNFR " + virtualNetworkFunctionRecord.getName() + " is source of " + dependenciesSource.size()
if (virtualNetworkFunctionRecord1.getName().equals(dependency.getTarget())) { vnfmManager.removeVnfcDependency(virtualNetworkFunctionRecord1, vnfcInstance); for (Entry<String, VNFCDependencyParameters> parametersEntry : virtualNetworkFunctionRecord.getVnf_address().remove(ip.getIp()); for (VirtualNetworkFunctionRecord vnfr : networkServiceRecord.getVnfr()) { boolean stopVNFR = true; for (VirtualDeploymentUnit vdu : vnfr.getVdu()) { for (VNFCInstance instanceInVNFR : vdu.getVnfc_instance()) { virtualNetworkFunctionRecord.setStatus(Status.INACTIVE); break; if (vnfr.getStatus().ordinal() == Status.INACTIVE.ordinal()) { networkServiceRecord.setStatus(Status.INACTIVE); break; Action.SCALE_IN, virtualNetworkFunctionRecord, virtualNetworkFunctionRecord.getProjectId()); EventNFVO eventNFVO = new EventNFVO(this); eventNFVO.setEventNFVO(event);
nsr.getMonitoring_parameter().add("monitor3"); HashSet<VirtualNetworkFunctionRecord> virtualNetworkFunctionRecords = new HashSet<>(); VirtualNetworkFunctionRecord virtualNetworkFunctionRecord = new VirtualNetworkFunctionRecord(); virtualNetworkFunctionRecord.setName("mocked_vnfr_name"); virtualNetworkFunctionRecord.setType("test"); virtualNetworkFunctionRecord.setMonitoring_parameter( new HashSet<String>() { vdf.setExtId("ext_id"); vdf.setFlavour_key("flavor_name"); virtualNetworkFunctionRecord.setDeployment_flavour_key(vdf.getFlavour_key()); virtualNetworkFunctionRecord.setVdu( new HashSet<VirtualDeploymentUnit>() {
VNFRecordDependency vnfRecordDependency) { DependencyParameters dp = vnfRecordDependency.getParameters().get(virtualNetworkFunctionRecord.getType()); if (dp != null) { for (Entry<String, String> keyValueDep : dp.getParameters().entrySet()) { for (ConfigurationParameter cp : virtualNetworkFunctionRecord.getProvides().getConfigurationParameters()) { if (cp.getConfKey().equals(keyValueDep.getKey())) { log.debug( if (virtualNetworkFunctionRecord.getConfigurations() != null) { log.debug( "VNFR " + virtualNetworkFunctionRecord.getId() + " with name " + virtualNetworkFunctionRecord.getName() + " does not have any configuration parameters"); if (!virtualNetworkFunctionRecord .getConfigurations() .getConfigurationParameters() .isEmpty()) { virtualNetworkFunctionRecord.getConfigurations().getConfigurationParameters()) { if (cp.getConfKey().equals(keyValueDep.getKey())) { log.debug(
log.info("Upgrading VNFR: " + vnfr.getName() + " - " + vnfr.getId()); vnfr.setDescriptor_reference(upgradeVnfdId); log.debug( "Upgrading VNFR: " + " - Setting new VNFPackage reference: " + upgradeVnfPackageId); vnfr.setPackageId(upgradeVnfPackageId); log.debug( "Upgrading VNFR: " + vnfrId + " - Setting new VNFD version: " + upgradeVnfd.getVersion()); vnfr.setVersion(upgradeVnfd.getVersion()); vnfmManager.upgradeVnfr(nsrId, vnfr.getId(), projectId);
if (virtualNetworkFunctionRecord.getId() == null) { saveVirtualNetworkFunctionRecord(); log.trace( "VNFR (" + virtualNetworkFunctionRecord.getId() + ") existing hibernate version is = " + vnfrRepository .findFirstById(virtualNetworkFunctionRecord.getId()) .getHbVersion()); } catch (Exception e) { if (log.isDebugEnabled()) { + virtualNetworkFunctionRecord.getId() + ") received hibernate version is: " + virtualNetworkFunctionRecord.getHbVersion()); log.error( "Received ERROR message from VNFM related to VNFR: " + virtualNetworkFunctionRecord.getName()); virtualNetworkFunctionRecord.setStatus(Status.ERROR); setHistoryLifecycleEvent(); saveVirtualNetworkFunctionRecord();