@Override protected NFVMessage doWork() throws Exception { log.info("Release resources for VNFR: " + virtualNetworkFunctionRecord.getName()); for (VirtualDeploymentUnit virtualDeploymentUnit : virtualNetworkFunctionRecord.getVdu()) { log.debug( "Removing VDU: " + virtualDeploymentUnit.getHostname() + " from VNFR " + virtualNetworkFunctionRecord.getId()); for (VNFCInstance vnfcInstance : virtualDeploymentUnit.getVnfc_instance()) { log.debug( "Removing VNFC instance: " + vnfcInstance + " from VNFR " + virtualNetworkFunctionRecord.getId()); this.resourceManagement.release(virtualDeploymentUnit, vnfcInstance); } } setHistoryLifecycleEvent(); saveVirtualNetworkFunctionRecord(); return null; }
vnfcInstance -> { try { resourceManagement.release(vdu, vnfcInstance); } catch (VimException | ExecutionException
@Test public void nsrManagementDeleteTest() throws VimException, InterruptedException, ExecutionException, NotFoundException, WrongStatusException, PluginException, BadFormatException { NetworkServiceRecord nsd_exp = createNetworkServiceRecord(); when(resourceManagement.release(any(VirtualDeploymentUnit.class), any(VNFCInstance.class))) .thenReturn(new AsyncResult<>(null)); when(nsrRepository.findFirstByIdAndProjectId(nsd_exp.getId(), projectId)).thenReturn(nsd_exp); when(vnfrRepository.findByParentNsId(anyString())).thenReturn(new ArrayList<>()); Configuration system = new Configuration(); system.setConfigurationParameters(new HashSet<>()); ConfigurationParameter configurationParameter = new ConfigurationParameter(); configurationParameter.setConfKey("delete-on-all-status"); configurationParameter.setValue("true"); nsrManagement.delete(nsd_exp.getId(), projectId); }
resourceManagement.release(virtualDeploymentUnit, vnfcInstance); for (Ip ip : vnfcInstance.getIps()) { virtualNetworkFunctionRecord.getVnf_address().remove(ip.getIp());