import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.service.list.Services;
import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.service.list.ServicesBuilder;
import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.service.list.ServicesKey;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.link.tp.LinkTp;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.link.tp.LinkTpBuilder;
import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.node.interfaces.NodeInterface;
import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.node.interfaces.NodeInterfaceBuilder;
import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.node.interfaces.NodeInterfaceKey;
import org.opendaylight.yang.gen.v1.http.org.transportpce.common.types.rev210618.optical.renderer.nodes.Nodes;
-import org.opendaylight.yang.gen.v1.http.transportpce.topology.rev210511.OtnLinkType;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
ConcurrentLinkedQueue<String> results = new ConcurrentLinkedQueue<>();
Map<NodeInterfaceKey,NodeInterface> nodeInterfaces = new ConcurrentHashMap<>();
Set<String> nodesProvisioned = Sets.newConcurrentHashSet();
- CopyOnWriteArrayList<Nodes> otnNodesProvisioned = new CopyOnWriteArrayList<>();
+ CopyOnWriteArrayList<LinkTp> otnLinkTps = new CopyOnWriteArrayList<>();
ServiceListTopology topology = new ServiceListTopology();
AtomicBoolean success = new AtomicBoolean(true);
ForkJoinPool forkJoinPool = new ForkJoinPool();
tgtNode.getNodeId(), tgtNode.getDestTp());
createdOtuInterfaces.add(supportingOtuInterface);
if (srcTp == null) {
- otnNodesProvisioned.add(node);
+ LinkTp linkTp = new LinkTpBuilder()
+ .setNodeId(nodeId)
+ .setTpId(destTp)
+ .build();
+ otnLinkTps.add(linkTp);
} else {
createdOduInterfaces.add(this.openRoadmInterfaceFactory.createOpenRoadmOdu4Interface(nodeId,
destTp, supportingOtuInterface));
// setting topology in the service list data store
try {
setTopologyForService(input.getServiceName(), topology.getTopology());
- updateOtnTopology(otnNodesProvisioned, false);
} catch (InterruptedException | TimeoutException | ExecutionException e) {
LOG.warn("Failed to write topologies for service {}.", input.getServiceName(), e);
}
ServicePathOutputBuilder setServBldr = new ServicePathOutputBuilder()
.setNodeInterface(nodeInterfaces)
.setSuccess(success.get())
- .setResult(String.join("\n", results));
+ .setResult(String.join("\n", results))
+ .setLinkTp(otnLinkTps);
return setServBldr.build();
}
if (!alarmSuppressionNodeRegistration(input)) {
LOG.warn("Alarm suppresion node registraion failed!!!!");
}
- CopyOnWriteArrayList<Nodes> otnNodesProvisioned = new CopyOnWriteArrayList<>();
+ CopyOnWriteArrayList<LinkTp> otnLinkTps = new CopyOnWriteArrayList<>();
ForkJoinPool forkJoinPool = new ForkJoinPool();
ForkJoinTask forkJoinTask = forkJoinPool.submit(() -> nodes.parallelStream().forEach(node -> {
List<String> interfacesToDelete = new LinkedList<>();
srcTp = node.getSrcTp();
} else {
srcTp = "";
- otnNodesProvisioned.add(node);
+ LinkTp linkTp = new LinkTpBuilder()
+ .setNodeId(nodeId)
+ .setTpId(destTp)
+ .build();
+ otnLinkTps.add(linkTp);
}
// if the node is currently mounted then proceed.
if (this.deviceTransactionManager.isDeviceMounted(nodeId)) {
LOG.error("Error while deleting service paths!", e);
}
forkJoinPool.shutdown();
- updateOtnTopology(otnNodesProvisioned, true);
if (!alarmSuppressionNodeRemoval(input.getServiceName())) {
LOG.error("Alarm suppresion node removal failed!!!!");
}
- ServicePathOutputBuilder delServBldr = new ServicePathOutputBuilder();
- delServBldr.setSuccess(success.get());
+ ServicePathOutputBuilder delServBldr = new ServicePathOutputBuilder()
+ .setSuccess(success.get())
+ .setLinkTp(otnLinkTps);
if (results.isEmpty()) {
return delServBldr.setResult("Request processed").build();
} else {
}
return result;
}
-
- private void updateOtnTopology(CopyOnWriteArrayList<Nodes> nodes, boolean isDeletion) {
- if (nodes.size() != 2) {
- LOG.error("Error with OTU4 links to update in otn-topology");
- return;
- }
- if (isDeletion) {
- LOG.info("updating otn-topology removing OTU4 links");
- this.networkModelService.deleteOtnLinks(nodes.get(0).getNodeId(), nodes.get(0).getDestTp(),
- nodes.get(1).getNodeId(), nodes.get(1).getDestTp(), OtnLinkType.OTU4);
- } else {
- LOG.info("updating otn-topology adding OTU4 links");
- this.networkModelService.createOtnLinks(nodes.get(0).getNodeId(), nodes.get(0).getDestTp(),
- nodes.get(1).getNodeId(), nodes.get(1).getDestTp(), OtnLinkType.OTU4);
- }
- }
}