@Override public VirtualLinkRecord add(VirtualLinkRecord virtualLinkRecord) { log.trace("Adding VirtualLinkDescriptor " + virtualLinkRecord); log.debug("Adding VirtualLinkDescriptor with Id " + virtualLinkRecord.getId()); return virtualLinkRecordRepository.save(virtualLinkRecord); }
private static VirtualLinkRecord createVirtualLinkRecord( VirtualLinkDescriptor virtualLinkDescriptor) { VirtualLinkRecord virtualLinkRecord = new VirtualLinkRecord(); virtualLinkRecord.setDns(new ArrayList<>()); virtualLinkRecord.setName(virtualLinkDescriptor.getName()); virtualLinkRecord.setConnectivity_type(virtualLinkDescriptor.getConnectivity_type()); virtualLinkRecord.setDescriptor_reference(virtualLinkDescriptor.getId()); virtualLinkRecord.setRoot_requirement(virtualLinkDescriptor.getRoot_requirement()); virtualLinkRecord.setLeaf_requirement(virtualLinkDescriptor.getLeaf_requirement()); virtualLinkRecord.setVendor(virtualLinkDescriptor.getVendor()); virtualLinkDescriptor.getDns().forEach(dns -> virtualLinkRecord.getDns().add(dns)); virtualLinkRecord.setStatus(LinkStatus.LINKDOWN); virtualLinkRecord.setParent_ns(null); virtualLinkRecord.setExtId(virtualLinkDescriptor.getExtId()); virtualLinkRecord.setVim_id(null); virtualLinkRecord.setAllocated_capacity(new HashSet<>()); virtualLinkRecord.setAudit_log(new HashSet<>()); virtualLinkRecord.setNotification(new HashSet<>()); virtualLinkRecord.setLifecycle_event_history(new HashSet<>()); virtualLinkRecord.setVnffgr_reference(new HashSet<>()); virtualLinkRecord.setConnection(new HashSet<>()); // TODO think about test_access -> different types on VLD and VLR // virtualLinkRecord.setTest_access(""); virtualLinkRecord.setQos(new HashSet<>()); for (String qos : virtualLinkDescriptor.getQos()) { virtualLinkRecord.getQos().add(qos); } return virtualLinkRecord; }
private void assertEquals( VirtualLinkRecord virtualLinkRecord_exp, VirtualLinkRecord virtualLinkRecord_new) { Assert.assertEquals(virtualLinkRecord_exp.getVendor(), virtualLinkRecord_new.getVendor()); Assert.assertEquals( virtualLinkRecord_exp.getConnectivity_type(), virtualLinkRecord_new.getConnectivity_type()); Assert.assertEquals( virtualLinkRecord_exp.getConnection(), virtualLinkRecord_new.getConnection()); Assert.assertEquals( virtualLinkRecord_exp.getLeaf_requirement(), virtualLinkRecord_new.getLeaf_requirement()); Assert.assertEquals( virtualLinkRecord_exp.getRoot_requirement(), virtualLinkRecord_new.getRoot_requirement()); Assert.assertEquals(virtualLinkRecord_exp.getVim_id(), virtualLinkRecord_new.getVim_id()); Assert.assertEquals( virtualLinkRecord_exp.getAllocated_capacity(), virtualLinkRecord_new.getAllocated_capacity()); }
private VirtualLinkRecord createVirtualLinkRecord() { VirtualLinkRecord virtualLinkRecord = new VirtualLinkRecord(); virtualLinkRecord.setConnection( new HashSet<String>() { virtualLinkRecord.setRoot_requirement("root_req"); virtualLinkRecord.setVendor("vendor"); virtualLinkRecord.setConnectivity_type("type"); virtualLinkRecord.setLeaf_requirement("leaf_req"); virtualLinkRecord.setQos( new HashSet<String>() { virtualLinkRecord.setVersion("version"); virtualLinkRecord.setVim_id("vim_id"); virtualLinkRecord.setVnffgr_reference(new HashSet<VNFForwardingGraphRecord>()); virtualLinkRecord.setStatus(LinkStatus.NORMALOPERATION); virtualLinkRecord.setAudit_log( new HashSet<String>() { virtualLinkRecord.setAllocated_capacity( new HashSet<String>() { virtualLinkRecord.setTest_access( new HashSet<String>() { virtualLinkRecord.setParent_ns("parent_id"); virtualLinkRecord.setNumber_of_endpoints(3); virtualLinkRecord.setNotification( new HashSet<String>() {
for (BaseNetwork net : finalVimInstance1.getNetworks()) { if (VimInstanceUtils.isVLRExisting(virtualLinkRecord, net, dedicatedNetworks)) { virtualLinkRecord.setExtId(net.getExtId()); return false; try { networkToAdd.put( virtualLinkRecord.getId(), VimInstanceUtils.createBaseNetwork( networkServiceDescriptor, .getVlr() .stream() .filter(vlr -> vlr.getId().equals(entry.getKey())) .findFirst() .orElseThrow(() -> new NotFoundException("That's impossible")); virtualLinkRecord.setExtId(net.getExtId()); virtualLinkRecord.setParent_ns(networkServiceRecord.getId()); virtualLinkRecord.setVim_id(vimInstance.getId()); virtualLinkRecord = vlrRepository.save(virtualLinkRecord); for (VNFComponent vnfComponent : virtualDeploymentUnit.getVnfc()) { for (VNFDConnectionPoint vnfdConnectionPoint : vnfComponent.getConnection_point()) { if (virtualLinkRecord .getName() .equals(vnfdConnectionPoint.getVirtual_link_reference())) { vnfdConnectionPoint.setVirtual_link_reference(virtualLinkRecord.getName()); vnfdConnectionPoint.setVirtual_link_reference_id(virtualLinkRecord.getExtId());
virtualNetworkFunctionRecord.getVirtual_link()) { for (VirtualLinkRecord virtualLinkRecord : virtualLinkRecords) { if (internalVirtualLink.getName().equals(virtualLinkRecord.getName())) { internalVirtualLink.setExtId(virtualLinkRecord.getExtId()); internalVirtualLink.setConnectivity_type(virtualLinkRecord.getConnectivity_type());
@Async @Override public Future<Void> deleteNetwork(VirtualLinkRecord vlr) throws PluginException, NotFoundException, VimException { BaseVimInstance vimInstance = this.query(vlr.getVim_id()); if (vimInstance == null) throw new NotFoundException( String.format("VimInstance with it %s not found", vlr.getVim_id())); vimBroker .getVim(vimInstance.getType()) .delete( vimInstance, vimInstance .getNetworks() .parallelStream() .filter(n -> n.getExtId().equals(vlr.getExtId())) .findFirst() .orElseThrow( () -> new NotFoundException( String.format("Network with it %s not found", vlr.getExtId())))); return new AsyncResult<>(null); }
HashSet<Subnet> subnets = new HashSet<>(); Subnet subnet = new Subnet(); subnet.setName(String.format("%s_subnet", vlr.getName())); subnet.setDns(vlr.getDns()); subnet.setCidr( getCidrFromVLName( vlr.getName(), networkServiceDescriptor, virtualNetworkFunctionDescriptor)); subnets.add(subnet); network.setSubnets(subnets); network.setName(vlr.getName()); return network; } else if (vimInstance instanceof DockerVimInstance) { DockerNetwork networkdc = new DockerNetwork(); networkdc.setMetadata(getMetadataFromVLName(vlr.getName(), networkServiceDescriptor)); networkdc.setName(vlr.getName()); networkdc.setSubnet( getCidrFromVLName( vlr.getName(), networkServiceDescriptor, virtualNetworkFunctionDescriptor)); return networkdc; } else { BaseNetwork networkb = new BaseNetwork(); networkb.setName(vlr.getName()); return networkb;
@Test public void virtualLinkManagementUpdateRecordTest() { VirtualLinkRecord virtualLinkRecord_exp = createVirtualLinkRecord(); when(virtualLinkRecordRepository.findOne(virtualLinkRecord_exp.getId())) .thenReturn(virtualLinkRecord_exp); when(virtualLinkRecordRepository.save(virtualLinkRecord_exp)).thenReturn(virtualLinkRecord_exp); VirtualLinkRecord virtualLinkRecord_new = createVirtualLinkRecord(); virtualLinkRecord_new.setRoot_requirement("root_requirement_updated"); when(virtualLinkRecordRepository.save(virtualLinkRecord_new)).thenReturn(virtualLinkRecord_new); virtualLinkRecord_exp = virtualLinkManagement.update(virtualLinkRecord_new, virtualLinkRecord_exp.getId()); assertEquals(virtualLinkRecord_exp, virtualLinkRecord_new); }
for (VirtualLinkDescriptor virtualLinkDescriptor : networkServiceDescriptor.getVld()) { VirtualLinkRecord vlr = createVirtualLinkRecord(virtualLinkDescriptor); vlr.setParent_ns(networkServiceDescriptor.getId()); networkServiceRecord.getVlr().add(vlr);
public static boolean isVLRExisting( VirtualLinkRecord virtualLinkRecord, BaseNetwork network, boolean dedicatedNetworks) { boolean checkNamesAndIds = network.getName().equals(virtualLinkRecord.getName()) || network.getExtId().equals(virtualLinkRecord.getName()) || network.getExtId().equals(virtualLinkRecord.getExtId()); if (dedicatedNetworks) return virtualLinkRecord.getExtId() != null && !virtualLinkRecord.getExtId().equals("") && checkNamesAndIds; else return checkNamesAndIds; } }
@Test public void virtualLinkManagementDeleteRecordTest() { VirtualLinkRecord virtualLinkRecord_exp = createVirtualLinkRecord(); when(virtualLinkRecordRepository.findOne(virtualLinkRecord_exp.getId())) .thenReturn(virtualLinkRecord_exp); when(virtualLinkDescriptorRepository.findOne(virtualLinkRecord_exp.getId())) .thenThrow(NoResultException.class); virtualLinkManagement.delete(virtualLinkRecord_exp.getId()); when(virtualLinkRecordRepository.findOne(virtualLinkRecord_exp.getId())).thenReturn(null); VirtualLinkRecord virtualLinkRecord_new = virtualLinkManagement.queryRecord(virtualLinkRecord_exp.getId()); Assert.assertNull(virtualLinkRecord_new); } }
@Test public void virtualLinkManagementQueryTest() { when(virtualLinkDescriptorRepository.findAll()) .thenReturn(new ArrayList<VirtualLinkDescriptor>()); when(virtualLinkRecordRepository.findAll()).thenReturn(new ArrayList<VirtualLinkRecord>()); Assert.assertEquals(false, virtualLinkManagement.queryDescriptors().iterator().hasNext()); Assert.assertEquals(false, virtualLinkManagement.queryRecords().iterator().hasNext()); VirtualLinkDescriptor virtualLinkDescriptor_exp = createVirtualLinkDescriptor(); when(virtualLinkDescriptorRepository.findOne(virtualLinkDescriptor_exp.getId())) .thenReturn(virtualLinkDescriptor_exp); VirtualLinkDescriptor virtualLinkDescriptor_new = virtualLinkManagement.queryDescriptor(virtualLinkDescriptor_exp.getId()); assertEquals(virtualLinkDescriptor_exp, virtualLinkDescriptor_new); VirtualLinkRecord virtualLinkRecord_exp = createVirtualLinkRecord(); when(virtualLinkRecordRepository.findOne(virtualLinkRecord_exp.getId())) .thenReturn(virtualLinkRecord_exp); VirtualLinkRecord virtualLinkRecord_new = virtualLinkManagement.queryRecord(virtualLinkRecord_exp.getId()); assertEquals(virtualLinkRecord_exp, virtualLinkRecord_new); }
.filter( virtualLinkRecord -> vlrRepository.findByExtId(virtualLinkRecord.getExtId()).size() == 0) .forEach( vlr -> { try { log.info( String.format("Deleting Network: %s [%s]", vlr.getName(), vlr.getExtId())); vimManagement.deleteNetwork(vlr); } catch (PluginException | VimException e) { e.printStackTrace(); log.error(String.format("Not Able to delete network %s!", vlr.getExtId())); } catch (NotFoundException e) { log.warn(String.format("%s. probably already deleted...", e.getMessage()));