summary |
shortlog |
log |
commit | commitdiff |
review |
tree
raw |
patch |
inline | side by side (from parent 1:
27070ce)
- Start migrate usage of RpcService to the new style
yang.binding.Rpc-based implementation for tapi module
- Adapt lighty implementation
JIRA: TRNSPRTPCE-752
Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
Change-Id: I7dd17b22c3a0e46ecd2188981ed19abf4914479f
if (activateTapi) {
LOG.info("Creating tapi beans ...");
TapiLink tapiLink = new TapiLinkImpl(networkTransaction);
if (activateTapi) {
LOG.info("Creating tapi beans ...");
TapiLink tapiLink = new TapiLinkImpl(networkTransaction);
- new TapiNetworkUtilsImpl(networkTransaction, tapiLink);
+ new TapiNetworkUtilsImpl(lgServRPS, networkTransaction, tapiLink);
tapiProvider = initTapi(
lightyServices, servicehandler, networkTransaction, serviceDataStoreOperations,
new TapiNetworkModelListenerImpl(
tapiProvider = initTapi(
lightyServices, servicehandler, networkTransaction, serviceDataStoreOperations,
new TapiNetworkModelListenerImpl(
lightyServices.getBindingDataBroker(), lightyServices.getRpcProviderService(),
lightyServices.getNotificationService(), lightyServices.getBindingNotificationPublishService(),
networkTransactionService, servicehandler, serviceDataStoreOperations,
lightyServices.getBindingDataBroker(), lightyServices.getRpcProviderService(),
lightyServices.getNotificationService(), lightyServices.getBindingNotificationPublishService(),
networkTransactionService, servicehandler, serviceDataStoreOperations,
- new TapiNetworkUtilsImpl(networkTransactionService, tapiLink),
tapiNetworkModelListenerImpl, tapiNetworkModelService);
}
tapiNetworkModelListenerImpl, tapiNetworkModelService);
}
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220922.network.Nodes;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.TransportpceRendererListener;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.servicehandler.rev201125.TransportpceServicehandlerListener;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220922.network.Nodes;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.renderer.rev210915.TransportpceRendererListener;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.servicehandler.rev201125.TransportpceServicehandlerListener;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.tapinetworkutils.rev210408.TransportpceTapinetworkutilsService;
import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526.OrgOpenroadmServiceService;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.NetworkId;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.Networks;
import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526.OrgOpenroadmServiceService;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.NetworkId;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.Networks;
new NetworkKey(new NetworkId(NetworkUtils.OVERLAY_NETWORK_ID))).augmentation(Network1.class)
.child(Link.class);
private final DataBroker dataBroker;
new NetworkKey(new NetworkId(NetworkUtils.OVERLAY_NETWORK_ID))).augmentation(Network1.class)
.child(Link.class);
private final DataBroker dataBroker;
- private final RpcProviderService rpcProviderService;
- private final NotificationService notificationService;
private final NetworkTransactionService networkTransactionService;
private final OrgOpenroadmServiceService serviceHandler;
private final ServiceDataStoreOperations serviceDataStoreOperations;
private final NetworkTransactionService networkTransactionService;
private final OrgOpenroadmServiceService serviceHandler;
private final ServiceDataStoreOperations serviceDataStoreOperations;
- private final TransportpceTapinetworkutilsService tapiNetworkUtils;
- private TapiNotificationListener tapiNetworkModelListenerImpl;
private ObjectRegistration<TapiConnectivityService> rpcRegistration;
private ObjectRegistration<TapiConnectivityService> rpcRegistration;
- private ObjectRegistration<TransportpceTapinetworkutilsService> tapiNetworkutilsServiceRpcRegistration;
private List<Registration> listeners;
private ListenerRegistration<TransportpcePceListener> pcelistenerRegistration;
private ListenerRegistration<TransportpceRendererListener> rendererlistenerRegistration;
private List<Registration> listeners;
private ListenerRegistration<TransportpcePceListener> pcelistenerRegistration;
private ListenerRegistration<TransportpceRendererListener> rendererlistenerRegistration;
@Reference NetworkTransactionService networkTransactionService,
@Reference OrgOpenroadmServiceService serviceHandler,
@Reference ServiceDataStoreOperations serviceDataStoreOperations,
@Reference NetworkTransactionService networkTransactionService,
@Reference OrgOpenroadmServiceService serviceHandler,
@Reference ServiceDataStoreOperations serviceDataStoreOperations,
- @Reference TransportpceTapinetworkutilsService tapiNetworkUtils,
@Reference TapiNotificationListener tapiNetworkModelListenerImpl,
@Reference TapiNetworkModelService tapiNetworkModelServiceImpl) {
this.dataBroker = dataBroker;
@Reference TapiNotificationListener tapiNetworkModelListenerImpl,
@Reference TapiNetworkModelService tapiNetworkModelServiceImpl) {
this.dataBroker = dataBroker;
- this.rpcProviderService = rpcProviderService;
- this.notificationService = notificationService;
this.networkTransactionService = networkTransactionService;
this.serviceHandler = serviceHandler;
this.serviceDataStoreOperations = serviceDataStoreOperations;
this.networkTransactionService = networkTransactionService;
this.serviceHandler = serviceHandler;
this.serviceDataStoreOperations = serviceDataStoreOperations;
- this.tapiNetworkUtils = tapiNetworkUtils;
- this.tapiNetworkModelListenerImpl = tapiNetworkModelListenerImpl;
-
LOG.info("TapiProvider Session Initiated");
TapiContext tapiContext = new TapiContext(this.networkTransactionService);
LOG.info("Empty TAPI context created: {}", tapiContext.getTapiContext());
LOG.info("TapiProvider Session Initiated");
TapiContext tapiContext = new TapiContext(this.networkTransactionService);
LOG.info("Empty TAPI context created: {}", tapiContext.getTapiContext());
topologyListener));
listeners.add(dataBroker.registerDataTreeChangeListener(
DataTreeIdentifier.create(LogicalDatastoreType.CONFIGURATION, MAPPING_II), tapiPortMappingListener));
topologyListener));
listeners.add(dataBroker.registerDataTreeChangeListener(
DataTreeIdentifier.create(LogicalDatastoreType.CONFIGURATION, MAPPING_II), tapiPortMappingListener));
- tapiNetworkutilsServiceRpcRegistration =
- rpcProviderService.registerRpcImplementation(TransportpceTapinetworkutilsService.class,
- this.tapiNetworkUtils);
TapiListener tapiListener = new TapiListener();
listeners.add(dataBroker.registerDataTreeChangeListener(
DataTreeIdentifier.create(
TapiListener tapiListener = new TapiListener();
listeners.add(dataBroker.registerDataTreeChangeListener(
DataTreeIdentifier.create(
public void close() {
listeners.forEach(lis -> lis.close());
listeners.clear();
public void close() {
listeners.forEach(lis -> lis.close());
listeners.clear();
- if (tapiNetworkutilsServiceRpcRegistration != null) {
- tapiNetworkutilsServiceRpcRegistration.close();
- }
pcelistenerRegistration.close();
rendererlistenerRegistration.close();
servicehandlerlistenerRegistration.close();
pcelistenerRegistration.close();
rendererlistenerRegistration.close();
servicehandlerlistenerRegistration.close();
*/
package org.opendaylight.transportpce.tapi.topology;
*/
package org.opendaylight.transportpce.tapi.topology;
+import com.google.common.collect.ImmutableClassToInstanceMap;
import com.google.common.util.concurrent.ListenableFuture;
import java.nio.charset.Charset;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
import java.util.concurrent.ExecutionException;
import com.google.common.util.concurrent.ListenableFuture;
import java.nio.charset.Charset;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
import java.util.concurrent.ExecutionException;
+import org.opendaylight.mdsal.binding.api.RpcProviderService;
import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
import org.opendaylight.transportpce.common.network.NetworkTransactionService;
import org.opendaylight.transportpce.tapi.TapiStringConstants;
import org.opendaylight.transportpce.tapi.utils.TapiLink;
import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
import org.opendaylight.transportpce.common.network.NetworkTransactionService;
import org.opendaylight.transportpce.tapi.TapiStringConstants;
import org.opendaylight.transportpce.tapi.utils.TapiLink;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.tapinetworkutils.rev210408.DeleteTapiLink;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.tapinetworkutils.rev210408.DeleteTapiLinkInput;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.tapinetworkutils.rev210408.DeleteTapiLinkOutput;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.tapinetworkutils.rev210408.DeleteTapiLinkOutputBuilder;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.tapinetworkutils.rev210408.DeleteTapiLinkInput;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.tapinetworkutils.rev210408.DeleteTapiLinkOutput;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.tapinetworkutils.rev210408.DeleteTapiLinkOutputBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.tapinetworkutils.rev210408.InitRoadmRoadmTapiLink;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.tapinetworkutils.rev210408.InitRoadmRoadmTapiLinkInput;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.tapinetworkutils.rev210408.InitRoadmRoadmTapiLinkOutput;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.tapinetworkutils.rev210408.InitRoadmRoadmTapiLinkOutputBuilder;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.tapinetworkutils.rev210408.InitRoadmRoadmTapiLinkInput;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.tapinetworkutils.rev210408.InitRoadmRoadmTapiLinkOutput;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.tapinetworkutils.rev210408.InitRoadmRoadmTapiLinkOutputBuilder;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.tapinetworkutils.rev210408.InitXpdrRdmTapiLink;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.tapinetworkutils.rev210408.InitXpdrRdmTapiLinkInput;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.tapinetworkutils.rev210408.InitXpdrRdmTapiLinkOutput;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.tapinetworkutils.rev210408.InitXpdrRdmTapiLinkOutputBuilder;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.tapinetworkutils.rev210408.InitXpdrRdmTapiLinkInput;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.tapinetworkutils.rev210408.InitXpdrRdmTapiLinkOutput;
import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.tapinetworkutils.rev210408.InitXpdrRdmTapiLinkOutputBuilder;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.context.Topology;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.context.TopologyBuilder;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.context.TopologyKey;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.context.Topology;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.context.TopologyBuilder;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.context.TopologyKey;
+import org.opendaylight.yangtools.concepts.Registration;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.opendaylight.yangtools.yang.binding.Rpc;
import org.opendaylight.yangtools.yang.common.ErrorType;
import org.opendaylight.yangtools.yang.common.RpcResult;
import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
import org.osgi.service.component.annotations.Activate;
import org.osgi.service.component.annotations.Component;
import org.opendaylight.yangtools.yang.common.ErrorType;
import org.opendaylight.yangtools.yang.common.RpcResult;
import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
import org.osgi.service.component.annotations.Activate;
import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Deactivate;
import org.osgi.service.component.annotations.Reference;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.osgi.service.component.annotations.Reference;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
.getBytes(Charset.forName("UTF-8"))).toString());
private final NetworkTransactionService networkTransactionService;
private final TapiLink tapiLink;
.getBytes(Charset.forName("UTF-8"))).toString());
private final NetworkTransactionService networkTransactionService;
private final TapiLink tapiLink;
+ private Registration reg;
- public TapiNetworkUtilsImpl(@Reference NetworkTransactionService networkTransactionService,
- @Reference TapiLink tapiLink) {
+ public TapiNetworkUtilsImpl(@Reference RpcProviderService rpcProviderService,
+ @Reference NetworkTransactionService networkTransactionService, @Reference TapiLink tapiLink) {
this.networkTransactionService = networkTransactionService;
this.tapiLink = tapiLink;
this.networkTransactionService = networkTransactionService;
this.tapiLink = tapiLink;
+ this.reg = rpcProviderService.registerRpcImplementations(ImmutableClassToInstanceMap.<Rpc<?, ?>>builder()
+ .put(InitRoadmRoadmTapiLink.class, this::initRoadmRoadmTapiLink)
+ .put(InitXpdrRdmTapiLink.class, this::initXpdrRdmTapiLink)
+ .put(DeleteTapiLink.class, this::deleteTapiLink)
+ .build());
+ LOG.info("TapiNetworkUtilsImpl instantiated");
+ }
+
+ @Deactivate
+ public void close() {
+ this.reg.close();
+ LOG.info("TapiNetworkUtilsImpl Closed");
- public ListenableFuture<RpcResult<InitRoadmRoadmTapiLinkOutput>> initRoadmRoadmTapiLink(
+ public final ListenableFuture<RpcResult<InitRoadmRoadmTapiLinkOutput>> initRoadmRoadmTapiLink(
InitRoadmRoadmTapiLinkInput input) {
// TODO --> need to check if the nodes and neps exist in the topology
String sourceNode = input.getRdmANode();
InitRoadmRoadmTapiLinkInput input) {
// TODO --> need to check if the nodes and neps exist in the topology
String sourceNode = input.getRdmANode();
- public ListenableFuture<RpcResult<InitXpdrRdmTapiLinkOutput>> initXpdrRdmTapiLink(InitXpdrRdmTapiLinkInput input) {
+ public final ListenableFuture<RpcResult<InitXpdrRdmTapiLinkOutput>> initXpdrRdmTapiLink(
+ InitXpdrRdmTapiLinkInput input) {
// TODO --> need to check if the nodes and neps exist in the topology
String destNode = input.getRdmNode();
String destTp = input.getAddDropTp();
// TODO --> need to check if the nodes and neps exist in the topology
String destNode = input.getRdmNode();
String destTp = input.getAddDropTp();
- public ListenableFuture<RpcResult<DeleteTapiLinkOutput>> deleteTapiLink(DeleteTapiLinkInput input) {
+ public final ListenableFuture<RpcResult<DeleteTapiLinkOutput>> deleteTapiLink(DeleteTapiLinkInput input) {
// TODO: check if this IID is correct
// TODO --> need to check if the link exists in the topology
try {
// TODO: check if this IID is correct
// TODO --> need to check if the link exists in the topology
try {
+ public Registration getRegisteredRpc() {
+ return reg;
+ }
+
private boolean putLinkInTopology(Link tapLink) {
// TODO is this merge correct? Should we just merge topology by changing the nodes map??
// TODO: verify this is correct. Should we identify the context IID with the context UUID??
private boolean putLinkInTopology(Link tapLink) {
// TODO is this merge correct? Should we just merge topology by changing the nodes map??
// TODO: verify this is correct. Should we identify the context IID with the context UUID??
import org.opendaylight.transportpce.servicehandler.service.ServiceDataStoreOperations;
import org.opendaylight.transportpce.tapi.impl.TapiProvider;
import org.opendaylight.transportpce.tapi.topology.TapiNetworkModelService;
import org.opendaylight.transportpce.servicehandler.service.ServiceDataStoreOperations;
import org.opendaylight.transportpce.tapi.impl.TapiProvider;
import org.opendaylight.transportpce.tapi.topology.TapiNetworkModelService;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.tapinetworkutils.rev210408.TransportpceTapinetworkutilsService;
import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526.OrgOpenroadmServiceService;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.TapiCommonService;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev181210.TapiConnectivityService;
import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526.OrgOpenroadmServiceService;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.TapiCommonService;
import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev181210.TapiConnectivityService;
@Mock
private ServiceDataStoreOperations serviceDataStoreOperations;
@Mock
@Mock
private ServiceDataStoreOperations serviceDataStoreOperations;
@Mock
- private TransportpceTapinetworkutilsService tapiNetworkUtils;
- @Mock
private TapiNotificationListener tapiNetworkModelListenerImpl;
@Mock
private TapiNetworkModelService tapiNetworkModelServiceImpl;
private TapiNotificationListener tapiNetworkModelListenerImpl;
@Mock
private TapiNetworkModelService tapiNetworkModelServiceImpl;
when(networkTransactionService.read(any(), any())).thenReturn(Futures.immediateFuture(Optional.empty()));
doReturn(emptyFluentFuture()).when(networkTransactionService).commit();
new TapiProvider(dataBroker, rpcProviderRegistry, notificationService, notificationPublishService,
when(networkTransactionService.read(any(), any())).thenReturn(Futures.immediateFuture(Optional.empty()));
doReturn(emptyFluentFuture()).when(networkTransactionService).commit();
new TapiProvider(dataBroker, rpcProviderRegistry, notificationService, notificationPublishService,
- networkTransactionService, serviceHandler, serviceDataStoreOperations, tapiNetworkUtils,
+ networkTransactionService, serviceHandler, serviceDataStoreOperations,
tapiNetworkModelListenerImpl, tapiNetworkModelServiceImpl);
verify(rpcProviderRegistry, times(1)).registerRpcImplementation(any(), any(TapiConnectivityService.class));
tapiNetworkModelListenerImpl, tapiNetworkModelServiceImpl);
verify(rpcProviderRegistry, times(1)).registerRpcImplementation(any(), any(TapiConnectivityService.class));