InstanceIdentifier<Info> infoIID = InstanceIdentifier.create(OrgOpenroadmDevice.class).child(Info.class);
java.util.Optional<Info> deviceInfoOpt =
- deviceTransactionManager.getDataFromDevice(nodeId, LogicalDatastoreType.CONFIGURATION, infoIID,
+ deviceTransactionManager.getDataFromDevice(nodeId, LogicalDatastoreType.OPERATIONAL, infoIID,
Timeouts.DEVICE_READ_TIMEOUT, Timeouts.DEVICE_READ_TIMEOUT_UNIT);
Info deviceInfo;
if (deviceInfoOpt.isPresent()) {
return null;
}
List<Node> nodes = new ArrayList<>();
-
// Check if node is ROADM
- if (NodeTypes.Rdm.equals(deviceInfo.getNodeType())) {
+ if (NodeTypes.Rdm.getName().equals(deviceInfo.getNodeType().getName())) {
/*
* Adding Degree Node Get Degree Number -> x then get connection ports then find the port directions
links.addAll(createAddDropLinks(nodeId, numOfDegrees, numOfSrgs, portDirectionEnum));
LOG.info("created nodes/links: {}/{}", nodes.size(), links.size());
return new TopologyShard(nodes, links);
- } else if (NodeTypes.Xpdr.equals(deviceInfo.getNodeType())) {
+ } else if (NodeTypes.Xpdr.getName().equals(deviceInfo.getNodeType().getName())) {
// Check if node is XPONDER
Integer clientport = getNoOfClientPorts(nodeId);
List<Link> links = new ArrayList<>();
}
return new TopologyShard(nodes, links);
}
-
+ LOG.error("Device node Type not managed yet");
return null;
}
private NodeBuilder createSrgNode(String nodeId, int srgCounter, int portDirectionEnum) {
- // Create augmentation node to inorder to add degree
+ // Create augmentation node to in order to add srg
Node1Builder node1bldr = new Node1Builder();
- // set node type to degree
+ // set node type to SRG
node1bldr.setNodeType(OpenroadmNodeType.SRG);
node1bldr.setNodeType(OpenroadmNodeType.SRG);
break;
}
// ports are uni Directional on a degree, therefore 4 termination points
- // Create TTP-TX termination
+ // Create PP-TX termination
tempTpBldr = createTpBldr("SRG" + srgCounter + "-PP" + i + "-TX");
tp1Bldr = new TerminationPoint1Builder();
tp1Bldr.setTpType(OpenroadmTpType.SRGTXPP);
tempTpBldr.addAugmentation(TerminationPoint1.class, tp1Bldr.build());
tpList.add(tempTpBldr.build());
- // Create TTP-RX termination
+ // Create PP-RX termination
tempTpBldr = createTpBldr("SRG" + srgCounter + "-PP" + i + "-RX");
tp1Bldr = new TerminationPoint1Builder();
tp1Bldr.setTpType(OpenroadmTpType.SRGRXPP);
} else if (portDirectionEnum == 3) {
// Ports are bi directional therefore 2 termination points
- // Create TTP-TXRX termination
+ // Create PP-TXRX termination
tempTpBldr = createTpBldr("SRG" + srgCounter + "-PP" + i + "-TXRX");
tp1Bldr = new TerminationPoint1Builder();
tp1Bldr.setTpType(OpenroadmTpType.SRGTXRXPP);
}
}
- org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev150608
- .Node1Builder tpNode1 =
- new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf
- .network.topology.rev150608.Node1Builder();
+ switch (portDirectionEnum) {
+ case 1: // ports are uni Directional on a degree
+ case 2:
+ // Create CP-TX termination
+ tempTpBldr = createTpBldr("SRG" + srgCounter + "-CP" + "-TX");
+ tp1Bldr = new TerminationPoint1Builder();
+ tp1Bldr.setTpType(OpenroadmTpType.SRGTXCP);
+ tempTpBldr.addAugmentation(TerminationPoint1.class, tp1Bldr.build());
+ tpList.add(tempTpBldr.build());
+ // Create CP-RX termination
+ tempTpBldr = createTpBldr("SRG" + srgCounter + "-CP" + "-RX");
+ tp1Bldr = new TerminationPoint1Builder();
+ tp1Bldr.setTpType(OpenroadmTpType.SRGRXCP);
+ tempTpBldr.addAugmentation(TerminationPoint1.class, tp1Bldr.build());
+ tpList.add(tempTpBldr.build());
+ break;
+ case 3:
+ // Ports are bi directional therefore 2 termination points
+ // Create CP-TXRX termination
+ tempTpBldr = createTpBldr("SRG" + srgCounter + "-CP" + "-TXRX");
+ tp1Bldr = new TerminationPoint1Builder();
+ tp1Bldr.setTpType(OpenroadmTpType.SRGTXRXCP);
+ tempTpBldr.addAugmentation(TerminationPoint1.class, tp1Bldr.build());
+ tpList.add(tempTpBldr.build());
+ break;
+ default:
+ LOG.error("No correponsding direction to the value: {}", portDirectionEnum);
+ break;
+ }
+
+ org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev150608.Node1Builder tpNode1 =
+ new org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev150608.Node1Builder();
tpNode1.setTerminationPoint(tpList);
nodebldr.addAugmentation(
- org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network
- .topology.rev150608.Node1.class,
- tpNode1.build());
+ org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev150608.Node1.class,
+ tpNode1.build());
return nodebldr;
}
InstanceIdentifier<SharedRiskGroup> deviceIID = InstanceIdentifier.create(OrgOpenroadmDevice.class)
.child(SharedRiskGroup.class, new SharedRiskGroupKey(srgCounter));
Optional<SharedRiskGroup> ordmSrgObject =
- deviceTransactionManager.getDataFromDevice(deviceId, LogicalDatastoreType.CONFIGURATION, deviceIID,
+ deviceTransactionManager.getDataFromDevice(deviceId, LogicalDatastoreType.OPERATIONAL, deviceIID,
Timeouts.DEVICE_READ_TIMEOUT, Timeouts.DEVICE_READ_TIMEOUT_UNIT);
if (ordmSrgObject.isPresent()) {
if (ordmSrgObject.get().getMaxAddDropPorts() != null) {
.child(Ports.class, new PortsKey(portName));
LOG.info("Fetching Port Direction for port {} at circuit pack {}", portName, circuitPackName);
Optional<Ports> portObject =
- deviceTransactionManager.getDataFromDevice(deviceId, LogicalDatastoreType.CONFIGURATION, portIID,
+ deviceTransactionManager.getDataFromDevice(deviceId, LogicalDatastoreType.OPERATIONAL, portIID,
Timeouts.DEVICE_READ_TIMEOUT, Timeouts.DEVICE_READ_TIMEOUT_UNIT);
if (portObject.isPresent()) {
Ports port = portObject.get();
Link1Builder lnk1Bldr = new Link1Builder();
lnk1Bldr.setLinkType(OpenroadmLinkType.EXPRESSLINK);
- org.opendaylight.yang.gen.v1.http.org.openroadm.opposite.links.rev170929.Link1Builder lnk2Bldr =
- new org.opendaylight.yang.gen.v1.http.org.openroadm.opposite.links.rev170929.Link1Builder();
- lnk2Bldr.setOppositeLink(LinkIdUtil.getOppositeLinkId(srcNode, srcTp, destNode, destTp));
expLinkBldr.addAugmentation(Link1.class, lnk1Bldr.build());
- expLinkBldr.addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.opposite.links.rev170929
- .Link1.class, lnk2Bldr.build());
-
links.add(expLinkBldr.build());
// ZtoA direction
Link1Builder lnk1Bldr = new Link1Builder();
lnk1Bldr.setLinkType(OpenroadmLinkType.EXPRESSLINK);
- org.opendaylight.yang.gen.v1.http.org.openroadm.opposite.links.rev170929.Link1Builder lnk2Bldr =
- new org.opendaylight.yang.gen.v1.http.org.openroadm.opposite.links.rev170929.Link1Builder();
- lnk2Bldr.setOppositeLink(LinkIdUtil.getOppositeLinkId(srcNode, srcTp, destNode, destTp));
LinkBuilder expLinkBldr = TopologyUtils.createLink(srcNode, destNode, srcTp, destTp);
expLinkBldr.addAugmentation(Link1.class, lnk1Bldr.build());
- expLinkBldr.addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.opposite.links.rev170929
- .Link1.class, lnk2Bldr.build());
links.add(expLinkBldr.build());
// ZtoA direction
return links;
}
- private List<Link> createAddDropLinks(String nodeId, int numOfDegrees, int numOfSrgs,
- int portDirectionEnum) {
+ private List<Link> createAddDropLinks(String nodeId, int numOfDegrees, int numOfSrgs, int portDirectionEnum) {
LOG.info("creating add-drop links {} {} {} {}", nodeId, numOfDegrees, numOfSrgs, portDirectionEnum);
List<Link> links = new ArrayList<>();
LinkBuilder addDropLinkBldr = TopologyUtils.createLink(srcNode, destNode, srcTp, destTp);
Link1Builder lnk1Bldr = new Link1Builder();
- org.opendaylight.yang.gen.v1.http.org.openroadm.opposite.links.rev170929.Link1Builder lnk2Bldr =
- new org.opendaylight.yang.gen.v1.http.org.openroadm.opposite.links.rev170929.Link1Builder();
- lnk2Bldr.setOppositeLink(LinkIdUtil.getOppositeLinkId(srcNode, srcTp, destNode, destTp));
lnk1Bldr.setLinkType(OpenroadmLinkType.DROPLINK);
addDropLinkBldr.addAugmentation(Link1.class, lnk1Bldr.build());
- addDropLinkBldr.addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.opposite.links
- .rev170929.Link1.class, lnk2Bldr.build());
links.add(addDropLinkBldr.build());
// add links direction
LinkBuilder addDropLinkBldr = TopologyUtils.createLink(srcNode, destNode, srcTp, destTp);
Link1Builder lnk1Bldr = new Link1Builder();
- org.opendaylight.yang.gen.v1.http.org.openroadm.opposite.links.rev170929.Link1Builder lnk2Bldr =
- new org.opendaylight.yang.gen.v1.http.org.openroadm.opposite.links.rev170929.Link1Builder();
- lnk2Bldr.setOppositeLink(LinkIdUtil.getOppositeLinkId(srcNode, srcTp, destNode, destTp));
lnk1Bldr.setLinkType(OpenroadmLinkType.DROPLINK);
addDropLinkBldr.addAugmentation(Link1.class, lnk1Bldr.build());
- addDropLinkBldr.addAugmentation(org.opendaylight.yang.gen.v1.http.org.openroadm.opposite.links
- .rev170929.Link1.class, lnk2Bldr.build());
links.add(addDropLinkBldr.build());
// add link