summary |
shortlog |
log |
commit | commitdiff |
review |
tree
raw |
patch |
inline | side by side (from parent 1:
cc2d9a4)
- avoid NPE when attempting to create an xponder-in/out link terminating
on an unexisting TP
- remove unnecessary log message
JIRA: TRNSPRTPCE-397
Signed-off-by: Christophe Betoule <christophe.betoule@orange.com>
Co-authored-by: Gilles Thouenon <gilles.thouenon@orange.com>
Change-Id: I0f5ce99078872a487dfcd28f9f29f522c329079c
(cherry picked from commit
d48474417b7498e4b1ca09dc61fa008cdd9ca95a)
.success(new InitXpdrRdmLinksOutputBuilder().setResult("Xponder Roadm Link created successfully"))
.buildFuture();
} else {
.success(new InitXpdrRdmLinksOutputBuilder().setResult("Xponder Roadm Link created successfully"))
.buildFuture();
} else {
+ LOG.error("init-xpdr-rdm-links rpc failed due to a bad input parameter");
return RpcResultBuilder.<InitXpdrRdmLinksOutput>failed().buildFuture();
}
}
@Override
public ListenableFuture<RpcResult<InitRdmXpdrLinksOutput>> initRdmXpdrLinks(InitRdmXpdrLinksInput input) {
return RpcResultBuilder.<InitXpdrRdmLinksOutput>failed().buildFuture();
}
}
@Override
public ListenableFuture<RpcResult<InitRdmXpdrLinksOutput>> initRdmXpdrLinks(InitRdmXpdrLinksInput input) {
+ LOG.info("Roadm to Xpdr links rpc called");
boolean createRdmXpdrLinks = Rdm2XpdrLink.createRdmXpdrLinks(input.getLinksInput(), this.dataBroker);
if (createRdmXpdrLinks) {
return RpcResultBuilder
.success(new InitRdmXpdrLinksOutputBuilder().setResult("Roadm Xponder links created successfully"))
.buildFuture();
} else {
boolean createRdmXpdrLinks = Rdm2XpdrLink.createRdmXpdrLinks(input.getLinksInput(), this.dataBroker);
if (createRdmXpdrLinks) {
return RpcResultBuilder
.success(new InitRdmXpdrLinksOutputBuilder().setResult("Roadm Xponder links created successfully"))
.buildFuture();
} else {
+ LOG.error("init-rdm-xpdr-links rpc failed due to a bad input parameter");
return RpcResultBuilder.<InitRdmXpdrLinksOutput>failed().buildFuture();
}
}
return RpcResultBuilder.<InitRdmXpdrLinksOutput>failed().buildFuture();
}
}
import org.opendaylight.transportpce.networkmodel.util.TopologyUtils;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.networkutils.rev170818.links.input.grouping.LinksInput;
import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Link1Builder;
import org.opendaylight.transportpce.networkmodel.util.TopologyUtils;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.networkutils.rev170818.links.input.grouping.LinksInput;
import org.opendaylight.yang.gen.v1.http.org.openroadm.common.network.rev200529.Link1Builder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.Link1;
import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.TerminationPoint1;
import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.TerminationPoint1Builder;
import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.XpdrNetworkAttributesBuilder;
import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.TerminationPoint1;
import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.TerminationPoint1Builder;
import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev200529.networks.network.node.termination.point.XpdrNetworkAttributesBuilder;
String destTp = linksInput.getTerminationPointNum();
// update tail-equipment-id for tp of link
TerminationPoint xpdrTp = getTpofNode(srcNode, srcTp, dataBroker);
String destTp = linksInput.getTerminationPointNum();
// update tail-equipment-id for tp of link
TerminationPoint xpdrTp = getTpofNode(srcNode, srcTp, dataBroker);
+ TerminationPoint rdmTp = getTpofNode(destNode, destTp, dataBroker);
- Network topoNetowkLayer = createNetworkBuilder(srcNode, srcTp, destNode, destTp, false, xpdrTp).build();
+ NetworkBuilder networkBldr = createNetworkBuilder(srcNode, srcTp, destNode, destTp, false, xpdrTp, rdmTp);
+ if (networkBldr == null) {
+ return false;
+ }
+ Network network = networkBldr.build();
InstanceIdentifier.InstanceIdentifierBuilder<Network> nwIID = InstanceIdentifier.builder(Networks.class)
.child(Network.class, new NetworkKey(new NetworkId(NetworkUtils.OVERLAY_NETWORK_ID)));
WriteTransaction wrtx = dataBroker.newWriteOnlyTransaction();
InstanceIdentifier.InstanceIdentifierBuilder<Network> nwIID = InstanceIdentifier.builder(Networks.class)
.child(Network.class, new NetworkKey(new NetworkId(NetworkUtils.OVERLAY_NETWORK_ID)));
WriteTransaction wrtx = dataBroker.newWriteOnlyTransaction();
- wrtx.merge(LogicalDatastoreType.CONFIGURATION, nwIID.build(), topoNetowkLayer);
+ wrtx.merge(LogicalDatastoreType.CONFIGURATION, nwIID.build(), network);
FluentFuture<? extends @NonNull CommitInfo> commit = wrtx.commit();
FluentFuture<? extends @NonNull CommitInfo> commit = wrtx.commit();
String destTp = new StringBuilder("XPDR").append(linksInput.getXpdrNum()).append("-NETWORK")
.append(linksInput.getNetworkNum()).toString();
TerminationPoint xpdrTp = getTpofNode(destNode, destTp, dataBroker);
String destTp = new StringBuilder("XPDR").append(linksInput.getXpdrNum()).append("-NETWORK")
.append(linksInput.getNetworkNum()).toString();
TerminationPoint xpdrTp = getTpofNode(destNode, destTp, dataBroker);
+ TerminationPoint rdmTp = getTpofNode(destNode, destTp, dataBroker);
- Network topoNetowkLayer = createNetworkBuilder(srcNode, srcTp, destNode, destTp, true, xpdrTp).build();
+ NetworkBuilder networkBldr = createNetworkBuilder(srcNode, srcTp, destNode, destTp, true, xpdrTp, rdmTp);
+ if (networkBldr == null) {
+ return false;
+ }
+ Network network = networkBldr.build();
InstanceIdentifier.InstanceIdentifierBuilder<Network> nwIID =
InstanceIdentifier.builder(Networks.class).child(Network.class,
new NetworkKey(new NetworkId(NetworkUtils.OVERLAY_NETWORK_ID)));
WriteTransaction wrtx = dataBroker.newWriteOnlyTransaction();
InstanceIdentifier.InstanceIdentifierBuilder<Network> nwIID =
InstanceIdentifier.builder(Networks.class).child(Network.class,
new NetworkKey(new NetworkId(NetworkUtils.OVERLAY_NETWORK_ID)));
WriteTransaction wrtx = dataBroker.newWriteOnlyTransaction();
- wrtx.merge(LogicalDatastoreType.CONFIGURATION, nwIID.build(), topoNetowkLayer);
+ wrtx.merge(LogicalDatastoreType.CONFIGURATION, nwIID.build(), network);
FluentFuture<? extends @NonNull CommitInfo> commit = wrtx.commit();
try {
commit.get();
FluentFuture<? extends @NonNull CommitInfo> commit = wrtx.commit();
try {
commit.get();
}
private static NetworkBuilder createNetworkBuilder(String srcNode, String srcTp, String destNode, String destTp,
}
private static NetworkBuilder createNetworkBuilder(String srcNode, String srcTp, String destNode, String destTp,
- boolean isXponderInput, TerminationPoint xpdrTp) {
+ boolean isXponderInput, TerminationPoint xpdrTp, TerminationPoint rdmTp) {
+ if (xpdrTp == null || rdmTp == null) {
+ return null;
+ }
//update tp of nodes
TerminationPointBuilder xpdrTpBldr = new TerminationPointBuilder(xpdrTp);
if (xpdrTpBldr.augmentation(TerminationPoint1.class) != null) {
//update tp of nodes
TerminationPointBuilder xpdrTpBldr = new TerminationPointBuilder(xpdrTp);
if (xpdrTpBldr.augmentation(TerminationPoint1.class) != null) {
LinkBuilder linkBuilder = TopologyUtils.createLink(srcNode, destNode, srcTp, destTp, null)
.addAugmentation(lnk2bldr.build());
LinkBuilder linkBuilder = TopologyUtils.createLink(srcNode, destNode, srcTp, destTp, null)
.addAugmentation(lnk2bldr.build());
- LOG.info("Link id in the linkbldr {}", linkBuilder.getLinkId());
- LOG.info("Link with oppo link {}", linkBuilder.augmentation(Link1.class));
+ LOG.info("Creating Link with id {}", linkBuilder.getLinkId());
Link link = linkBuilder.build();
Network1Builder nwBldr1 = new Network1Builder().setLink(ImmutableMap.of(link.key(),link));
Link link = linkBuilder.build();
Network1Builder nwBldr1 = new Network1Builder().setLink(ImmutableMap.of(link.key(),link));