From: lubos-cicut Date: Fri, 13 Oct 2023 14:42:30 +0000 (+0200) Subject: Do not use RpcService in pcep-server-provider X-Git-Tag: v0.20.5~5 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F02%2F108402%2F7;p=bgpcep.git Do not use RpcService in pcep-server-provider Migrated usage of RpcService to Rpc for pcep-server-provider. JIRA: BGPCEP-1027 Change-Id: I143557b91d0d8f6a131cd2ec4a34136d5490bbbc Signed-off-by: lubos-cicut --- diff --git a/pcep/server/server-provider/src/main/java/org/opendaylight/bgpcep/pcep/server/provider/DefaultPceServerProvider.java b/pcep/server/server-provider/src/main/java/org/opendaylight/bgpcep/pcep/server/provider/DefaultPceServerProvider.java index 2683ca5d72..9563bfe6bb 100644 --- a/pcep/server/server-provider/src/main/java/org/opendaylight/bgpcep/pcep/server/provider/DefaultPceServerProvider.java +++ b/pcep/server/server-provider/src/main/java/org/opendaylight/bgpcep/pcep/server/provider/DefaultPceServerProvider.java @@ -23,7 +23,6 @@ import org.opendaylight.graph.ConnectedGraphProvider; import org.opendaylight.mdsal.binding.api.DataBroker; import org.opendaylight.mdsal.binding.api.RpcConsumerRegistry; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.graph.rev220720.graph.topology.GraphKey; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.NetworkTopologyPcepService; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.TopologyId; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.TopologyKey; @@ -134,8 +133,7 @@ public final class DefaultPceServerProvider implements PceServerProvider, AutoCl closeListenerAndManager(topoKey); /* Then create Path Manger */ - final NetworkTopologyPcepService ntps = rpcRegistry.getRpcService(NetworkTopologyPcepService.class); - PathManagerProvider pathManager = new PathManagerProvider(dataBroker, topology, ntps, this); + PathManagerProvider pathManager = new PathManagerProvider(dataBroker, topology, rpcRegistry, this); /* And Listener */ PathManagerListener pathListener = new PathManagerListener(dataBroker, topology, pathManager); diff --git a/pcep/server/server-provider/src/main/java/org/opendaylight/bgpcep/pcep/server/provider/ManagedTePath.java b/pcep/server/server-provider/src/main/java/org/opendaylight/bgpcep/pcep/server/provider/ManagedTePath.java index a36910c11d..9bf9a0aef0 100644 --- a/pcep/server/server-provider/src/main/java/org/opendaylight/bgpcep/pcep/server/provider/ManagedTePath.java +++ b/pcep/server/server-provider/src/main/java/org/opendaylight/bgpcep/pcep/server/provider/ManagedTePath.java @@ -59,14 +59,16 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.typ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.lsp.attributes.MetricsBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.metric.object.MetricBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.path.setup.type.tlv.PathSetupTypeBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.AddLsp; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.AddLspInput; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.AddLspInputBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.AddLspOutput; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.NetworkTopologyPcepService; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.Node1; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.RemoveLsp; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.RemoveLspInput; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.RemoveLspInputBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.RemoveLspOutput; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.UpdateLsp; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.UpdateLspInput; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.UpdateLspInputBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.UpdateLspOutput; @@ -587,11 +589,11 @@ public class ManagedTePath implements ConnectedEdgeTrigger, ConnectedVertexTrigg /** * Call add-lsp RPC to enforce the LSP into the PCC. This action will trigger a PcInitiate message to the PCC. * - * @param ntps Network Topology PCEP Service + * @param addLsp Add Lsp RPC * * @return Add LSP Output to convey the RPC result */ - public ListenableFuture> addPath(final NetworkTopologyPcepService ntps) { + public ListenableFuture> addPath(final AddLsp addLsp) { /* Check if we could add this path */ if ((type != PathType.Initiated) || !teNode.isSync()) { return null; @@ -603,8 +605,8 @@ public class ManagedTePath implements ConnectedEdgeTrigger, ConnectedVertexTrigg } sent = true; - final ListenableFuture> enforce = ntps.addLsp(getAddLspInput()); - LOG.info("Call Add LSP to {} with {}", ntps, enforce); + final ListenableFuture> enforce = addLsp.invoke(getAddLspInput()); + LOG.info("Call Add LSP to {} with {}", addLsp, enforce); Futures.addCallback(enforce, new FutureCallback>() { @Override public void onSuccess(final RpcResult result) { @@ -712,11 +714,11 @@ public class ManagedTePath implements ConnectedEdgeTrigger, ConnectedVertexTrigg /** * Call update-lsp RPC to enforce the LSP into the PCC. This action will trigger a PcUpdate message to the PCC. * - * @param ntps Network Topology PCEP Service + * @param updateLsp Update LSP RPC * * @return Update LSP Output to convey the RPC result */ - public ListenableFuture> updatePath(final NetworkTopologyPcepService ntps) { + public ListenableFuture> updatePath(final UpdateLsp updateLsp) { /* Check if we could update this path */ if ((type != PathType.Initiated && type != PathType.Delegated) || !teNode.isSync()) { @@ -730,8 +732,8 @@ public class ManagedTePath implements ConnectedEdgeTrigger, ConnectedVertexTrigg sent = true; final NodeId id = teNode.getId(); - final ListenableFuture> enforce = ntps.updateLsp(getUpdateLspInput()); - LOG.info("Call Update LSP to {} with {}", ntps, enforce); + final ListenableFuture> enforce = updateLsp.invoke(getUpdateLspInput()); + LOG.info("Call Update LSP to {} with {}", updateLsp, enforce); Futures.addCallback(enforce, new FutureCallback>() { @Override public void onSuccess(final RpcResult result) { @@ -758,11 +760,11 @@ public class ManagedTePath implements ConnectedEdgeTrigger, ConnectedVertexTrigg * Call remove-lsp RPC to remove the LSP from the PCC. This action will trigger a PcInitiate message to the PCC * with 'R' bit set. * - * @param ntps Network Topology PCEP Service + * @param removeLsp Remove Lsp RPC * * @return Remove LSP Output to convey the RPC result */ - public ListenableFuture> removePath(final NetworkTopologyPcepService ntps) { + public ListenableFuture> removePath(final RemoveLsp removeLsp) { /* Check if we could remove this path */ if ((type != PathType.Initiated) || !teNode.isSync() || cfgLsp.getPathStatus() != PathStatus.Sync) { @@ -776,8 +778,8 @@ public class ManagedTePath implements ConnectedEdgeTrigger, ConnectedVertexTrigg .setName(cfgLsp.getName()) .setNetworkTopologyRef(new NetworkTopologyRef(pcepTopology)) .build(); - final ListenableFuture> enforce = ntps.removeLsp(rli); - LOG.info("Call Remove LSP to {} with {}", ntps, enforce); + final ListenableFuture> enforce = removeLsp.invoke(rli); + LOG.info("Call Remove LSP to {} with {}", removeLsp, enforce); Futures.addCallback(enforce, new FutureCallback>() { @Override public void onSuccess(final RpcResult result) { diff --git a/pcep/server/server-provider/src/main/java/org/opendaylight/bgpcep/pcep/server/provider/PathManagerProvider.java b/pcep/server/server-provider/src/main/java/org/opendaylight/bgpcep/pcep/server/provider/PathManagerProvider.java index 3b8ba563ee..03157c49e3 100644 --- a/pcep/server/server-provider/src/main/java/org/opendaylight/bgpcep/pcep/server/provider/PathManagerProvider.java +++ b/pcep/server/server-provider/src/main/java/org/opendaylight/bgpcep/pcep/server/provider/PathManagerProvider.java @@ -23,6 +23,7 @@ import org.opendaylight.graph.ConnectedGraphTrigger; import org.opendaylight.graph.ConnectedVertex; import org.opendaylight.graph.ConnectedVertexTrigger; import org.opendaylight.mdsal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.RpcConsumerRegistry; import org.opendaylight.mdsal.binding.api.Transaction; import org.opendaylight.mdsal.binding.api.TransactionChain; import org.opendaylight.mdsal.binding.api.TransactionChainListener; @@ -39,7 +40,9 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.ser import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.server.rev220321.pcc.configured.lsp.configured.lsp.IntendedPath; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.server.rev220321.pcc.configured.lsp.configured.lsp.IntendedPathBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.server.rev220321.pcc.configured.lsp.configured.lsp.intended.path.ConstraintsBuilder; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.NetworkTopologyPcepService; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.AddLsp; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.RemoveLsp; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.topology.pcep.rev220730.UpdateLsp; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.TopologyKey; @@ -60,17 +63,21 @@ public final class PathManagerProvider implements TransactionChainListener, Auto private final InstanceIdentifier pcepTopology; private final DataBroker dataBroker; private final DefaultPceServerProvider pceServerProvider; - private final NetworkTopologyPcepService ntps; + private final AddLsp addLsp; + private final UpdateLsp updateLsp; + private final RemoveLsp removeLsp; private TransactionChain chain = null; private ConnectedGraph tedGraph = null; private final Map mngNodes = new HashMap(); public PathManagerProvider(final DataBroker dataBroker, KeyedInstanceIdentifier topology, - final NetworkTopologyPcepService ntps, final DefaultPceServerProvider pceServerProvider) { + final RpcConsumerRegistry rpcRegistry, final DefaultPceServerProvider pceServerProvider) { this.dataBroker = requireNonNull(dataBroker); this.pceServerProvider = requireNonNull(pceServerProvider); - this.ntps = requireNonNull(ntps); + this.addLsp = rpcRegistry.getRpc(AddLsp.class); + this.updateLsp = rpcRegistry.getRpc(UpdateLsp.class); + this.removeLsp = rpcRegistry.getRpc(RemoveLsp.class); this.pcepTopology = requireNonNull(topology); initTransactionChain(); tedGraph = getGraph(); @@ -178,7 +185,7 @@ public final class PathManagerProvider implements TransactionChainListener, Auto /* Then, setup Path on PCC if it is synchronized */ if (teNode.isSync()) { - mngLsp.addPath(ntps); + mngLsp.addPath(addLsp); } LOG.debug("Added new Managed LSP: {}", mngLsp); @@ -240,7 +247,7 @@ public final class PathManagerProvider implements TransactionChainListener, Auto /* Finally, update Path on PCC if it is synchronized and we computed a valid path */ if (teNode.isSync()) { - mngPath.updatePath(ntps); + mngPath.updatePath(updateLsp); } LOG.debug("Updated Managed Paths: {}", mngPath); @@ -281,9 +288,9 @@ public final class PathManagerProvider implements TransactionChainListener, Auto /* Finally, update Path on PCC if it is synchronized and computed path is valid */ if (teNode.isSync()) { if (add) { - mngPath.addPath(ntps); + mngPath.addPath(addLsp); } else { - mngPath.updatePath(ntps); + mngPath.updatePath(updateLsp); } } else { mngPath.unSetTriggerFlag(); @@ -353,7 +360,7 @@ public final class PathManagerProvider implements TransactionChainListener, Auto */ if (teNode.isSync() && mngPath.getType() == PathType.Initiated && mngPath.getLsp().getPathStatus() == PathStatus.Sync) { - mngPath.removePath(ntps); + mngPath.removePath(removeLsp); } /* @@ -447,7 +454,7 @@ public final class PathManagerProvider implements TransactionChainListener, Auto .build()); /* and update Path on PCC if it is synchronized */ if (teNode.isSync()) { - newPath.updatePath(ntps); + newPath.updatePath(updateLsp); } } else { /* Mark this TE Path as Synchronous and add it to the Managed TE Path */ @@ -500,7 +507,7 @@ public final class PathManagerProvider implements TransactionChainListener, Auto /* Check if we need to update the TE Path */ if (teNode.isSync() && newStatus == PathStatus.Updated) { - curPath.updatePath(ntps); + curPath.updatePath(updateLsp); LOG.debug("Updated Managed TE Path {} on NodeId {}", curPath, id); return curPath; } @@ -668,14 +675,14 @@ public final class PathManagerProvider implements TransactionChainListener, Auto if (mngPath.getLsp().getComputedPath().getComputationStatus() != ComputationStatus.Completed) { updateComputedPath(mngPath, false); } else { - mngPath.updatePath(ntps); + mngPath.updatePath(updateLsp); } break; case Configured: if (mngPath.getLsp().getComputedPath().getComputationStatus() != ComputationStatus.Completed) { updateComputedPath(mngPath, true); } else { - mngPath.addPath(ntps); + mngPath.addPath(addLsp); } break; default: