X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=lighty%2Fsrc%2Fmain%2Fjava%2Fio%2Flighty%2Fcontrollers%2Ftpce%2Fmodule%2FTransportPCEImpl.java;h=66a0fbf1bb67c509eefacd953ba4f87fc3df1652;hb=d13ddaf6b54f6fb20b5342ddc88e7024ca09e878;hp=4c62be8e71235197007ec295048eb59b6b69d5a1;hpb=c725528fb8a0b09ce24adac744c888a10cf90f72;p=transportpce.git diff --git a/lighty/src/main/java/io/lighty/controllers/tpce/module/TransportPCEImpl.java b/lighty/src/main/java/io/lighty/controllers/tpce/module/TransportPCEImpl.java index 4c62be8e7..66a0fbf1b 100644 --- a/lighty/src/main/java/io/lighty/controllers/tpce/module/TransportPCEImpl.java +++ b/lighty/src/main/java/io/lighty/controllers/tpce/module/TransportPCEImpl.java @@ -27,7 +27,6 @@ import org.opendaylight.transportpce.common.mapping.PortMappingVersion221; import org.opendaylight.transportpce.common.mapping.PortMappingVersion710; import org.opendaylight.transportpce.common.network.NetworkTransactionImpl; import org.opendaylight.transportpce.common.network.NetworkTransactionService; -import org.opendaylight.transportpce.common.network.RequestProcessor; import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfaces; import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl; import org.opendaylight.transportpce.common.openroadminterfaces.OpenRoadmInterfacesImpl121; @@ -75,10 +74,12 @@ import org.opendaylight.transportpce.servicehandler.impl.ServicehandlerProvider; import org.opendaylight.transportpce.servicehandler.listeners.NetworkModelListenerImpl; import org.opendaylight.transportpce.servicehandler.listeners.PceListenerImpl; import org.opendaylight.transportpce.servicehandler.listeners.RendererListenerImpl; +import org.opendaylight.transportpce.servicehandler.listeners.ServiceListener; import org.opendaylight.transportpce.servicehandler.service.ServiceDataStoreOperations; import org.opendaylight.transportpce.servicehandler.service.ServiceDataStoreOperationsImpl; import org.opendaylight.transportpce.tapi.R2RTapiLinkDiscovery; import org.opendaylight.transportpce.tapi.impl.TapiProvider; +import org.opendaylight.transportpce.tapi.listeners.TapiNetworkModelListenerImpl; import org.opendaylight.transportpce.tapi.listeners.TapiPceListenerImpl; import org.opendaylight.transportpce.tapi.listeners.TapiRendererListenerImpl; import org.opendaylight.transportpce.tapi.listeners.TapiServiceHandlerListenerImpl; @@ -86,12 +87,13 @@ import org.opendaylight.transportpce.tapi.topology.TapiNetconfTopologyListener; import org.opendaylight.transportpce.tapi.topology.TapiNetworkModelService; import org.opendaylight.transportpce.tapi.topology.TapiNetworkModelServiceImpl; import org.opendaylight.transportpce.tapi.topology.TapiNetworkUtilsImpl; +import org.opendaylight.transportpce.tapi.topology.TapiOrLinkListener; import org.opendaylight.transportpce.tapi.topology.TapiPortMappingListener; +import org.opendaylight.transportpce.tapi.utils.TapiLink; import org.opendaylight.transportpce.tapi.utils.TapiListener; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.networkutils.rev170818.TransportpceNetworkutilsService; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.olm.rev210618.TransportpceOlmService; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.tapinetworkutils.rev210408.TransportpceTapinetworkutilsService; -import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.OrgOpenroadmServiceService; +import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev211210.OrgOpenroadmServiceService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -112,43 +114,41 @@ public class TransportPCEImpl extends AbstractLightyModule implements TransportP private final OlmProvider olmProvider; // renderer beans private final RendererProvider rendererProvider; - // T-api - private final TapiProvider tapiProvider; // service-handler beans private final ServicehandlerProvider servicehandlerProvider; + // T-api + private TapiProvider tapiProvider; // nbi-notifications beans private NbiNotificationsProvider nbiNotificationsProvider; /** * List of publisher topics. */ - private final List publisherTopicList = - Arrays.asList("PceListener", "ServiceHandlerOperations", "ServiceHandler", "RendererListener"); + private final List publisherServiceList = Arrays.asList("PceListener", "ServiceHandlerOperations", + "ServiceHandler", "RendererListener"); + private final List publisherAlarmList = Arrays.asList("ServiceListener"); - public TransportPCEImpl(LightyServices lightyServices, boolean activateNbiNotification) { + public TransportPCEImpl(LightyServices lightyServices, boolean activateNbiNotification, boolean activateTapi, + String olmtimer1, String olmtimer2) { LOG.info("Initializing transaction providers ..."); deviceTransactionManager = new DeviceTransactionManagerImpl(lightyServices.getBindingMountPointService(), MAX_DURATION_TO_SUBMIT_TRANSACTION); - RequestProcessor requestProcessor = new RequestProcessor(lightyServices.getBindingDataBroker()); - networkTransaction = new NetworkTransactionImpl(requestProcessor); + networkTransaction = new NetworkTransactionImpl(lightyServices.getBindingDataBroker()); LOG.info("Creating network-model beans ..."); R2RLinkDiscovery linkDiscoveryImpl = new R2RLinkDiscovery(lightyServices.getBindingDataBroker(), deviceTransactionManager, networkTransaction); - TransportpceNetworkutilsService networkutilsServiceImpl = new NetworkUtilsImpl( + PortMapping portMapping = initPortMapping(lightyServices); + NetworkModelService networkModelService = new NetworkModelServiceImpl(lightyServices.getBindingDataBroker(), + deviceTransactionManager, networkTransaction, portMapping, + lightyServices.getBindingNotificationPublishService()); + FrequenciesService networkModelWavelengthService = new FrequenciesServiceImpl( lightyServices.getBindingDataBroker()); - MappingUtils mappingUtils = new MappingUtilsImpl(lightyServices.getBindingDataBroker()); - OpenRoadmInterfaces openRoadmInterfaces = initOpenRoadmInterfaces(mappingUtils); - PortMapping portMapping = initPortMapping(lightyServices, openRoadmInterfaces); - NetworkModelService networkModelService = new NetworkModelServiceImpl(networkTransaction, linkDiscoveryImpl, - portMapping, lightyServices.getBindingNotificationPublishService()); - FrequenciesService networkModelWavelengthService = - new FrequenciesServiceImpl(lightyServices.getBindingDataBroker()); - NetConfTopologyListener netConfTopologyListener = new NetConfTopologyListener(networkModelService, + new NetConfTopologyListener(networkModelService, lightyServices.getBindingDataBroker(), deviceTransactionManager, portMapping); - PortMappingListener portMappingListener = new PortMappingListener(networkModelService); + new PortMappingListener(networkModelService); networkModelProvider = new NetworkModelProvider(networkTransaction, lightyServices.getBindingDataBroker(), - lightyServices.getRpcProviderService(), networkutilsServiceImpl, netConfTopologyListener, - lightyServices.getNotificationService(), networkModelWavelengthService, portMappingListener); + lightyServices.getRpcProviderService(), networkModelService, deviceTransactionManager, portMapping, + lightyServices.getNotificationService(), networkModelWavelengthService); LOG.info("Creating PCE beans ..."); // TODO: pass those parameters through command line @@ -163,20 +163,22 @@ public class TransportPCEImpl extends AbstractLightyModule implements TransportP pceProvider = new PceProvider(lightyServices.getRpcProviderService(), pathComputationService); LOG.info("Creating OLM beans ..."); + MappingUtils mappingUtils = new MappingUtilsImpl(lightyServices.getBindingDataBroker()); CrossConnect crossConnect = initCrossConnect(mappingUtils); + OpenRoadmInterfaces openRoadmInterfaces = initOpenRoadmInterfaces(mappingUtils, portMapping); PowerMgmt powerMgmt = new PowerMgmtImpl(lightyServices.getBindingDataBroker(), openRoadmInterfaces, - crossConnect, deviceTransactionManager); + crossConnect, deviceTransactionManager, portMapping, olmtimer1, olmtimer2); OlmPowerService olmPowerService = new OlmPowerServiceImpl(lightyServices.getBindingDataBroker(), powerMgmt, deviceTransactionManager, portMapping, mappingUtils, openRoadmInterfaces); - olmProvider = new OlmProvider(lightyServices.getRpcProviderService(), olmPowerService); TransportpceOlmService olmPowerServiceRpc = new OlmPowerServiceRpcImpl(olmPowerService); + olmProvider = new OlmProvider(lightyServices.getRpcProviderService(), olmPowerServiceRpc); LOG.info("Creating renderer beans ..."); OpenRoadmInterfaceFactory openRoadmInterfaceFactory = initOpenRoadmFactory(mappingUtils, openRoadmInterfaces, portMapping); DeviceRendererService deviceRendererService = new DeviceRendererServiceImpl( lightyServices.getBindingDataBroker(), deviceTransactionManager, openRoadmInterfaceFactory, - openRoadmInterfaces, crossConnect, portMapping, networkModelService); + openRoadmInterfaces, crossConnect, portMapping); OtnDeviceRendererService otnDeviceRendererService = new OtnDeviceRendererServiceImpl(openRoadmInterfaceFactory, crossConnect, openRoadmInterfaces, deviceTransactionManager, networkModelService); rendererProvider = initRenderer(lightyServices, olmPowerServiceRpc, deviceRendererService, @@ -189,44 +191,55 @@ public class TransportPCEImpl extends AbstractLightyModule implements TransportP ServiceDataStoreOperations serviceDataStoreOperations = new ServiceDataStoreOperationsImpl( lightyServices.getBindingDataBroker()); RendererListenerImpl rendererListenerImpl = new RendererListenerImpl(pathComputationService, - lightyServices.getBindingNotificationPublishService()); + lightyServices.getBindingNotificationPublishService(), networkModelService); PceListenerImpl pceListenerImpl = new PceListenerImpl(rendererServiceOperations, pathComputationService, lightyServices.getBindingNotificationPublishService(), serviceDataStoreOperations); NetworkModelListenerImpl networkModelListenerImpl = new NetworkModelListenerImpl( lightyServices.getBindingNotificationPublishService(), serviceDataStoreOperations); ServicehandlerImpl servicehandler = new ServicehandlerImpl(lightyServices.getBindingDataBroker(), pathComputationService, rendererServiceOperations, lightyServices.getBindingNotificationPublishService(), - pceListenerImpl, rendererListenerImpl, networkModelListenerImpl, serviceDataStoreOperations, "N/A"); + pceListenerImpl, rendererListenerImpl, networkModelListenerImpl, serviceDataStoreOperations); + ServiceListener serviceListener = new ServiceListener(servicehandler, serviceDataStoreOperations, + lightyServices.getBindingNotificationPublishService()); servicehandlerProvider = new ServicehandlerProvider(lightyServices.getBindingDataBroker(), lightyServices.getRpcProviderService(), lightyServices.getNotificationService(), - serviceDataStoreOperations, pceListenerImpl, rendererListenerImpl, networkModelListenerImpl, - servicehandler); + serviceDataStoreOperations, pceListenerImpl, serviceListener, rendererListenerImpl, + networkModelListenerImpl, servicehandler); + if (activateTapi) { + LOG.info("Creating tapi beans ..."); + TapiLink tapiLink = new TapiLink(networkTransaction); + R2RTapiLinkDiscovery tapilinkDiscoveryImpl = new R2RTapiLinkDiscovery(networkTransaction, + deviceTransactionManager, tapiLink); + TapiRendererListenerImpl tapiRendererListenerImpl = new TapiRendererListenerImpl(lightyServices + .getBindingDataBroker(), lightyServices.getBindingNotificationPublishService()); + TapiPceListenerImpl tapiPceListenerImpl = new TapiPceListenerImpl(lightyServices.getBindingDataBroker()); + TapiServiceHandlerListenerImpl tapiServiceHandlerListener = new TapiServiceHandlerListenerImpl( + lightyServices.getBindingDataBroker()); + TransportpceTapinetworkutilsService tapiNetworkutilsServiceImpl = new TapiNetworkUtilsImpl( + networkTransaction, tapiLink); + TapiNetworkModelService tapiNetworkModelService = new TapiNetworkModelServiceImpl( + tapilinkDiscoveryImpl, networkTransaction, tapiLink, + lightyServices.getBindingNotificationPublishService()); + TapiNetconfTopologyListener tapiNetConfTopologyListener = + new TapiNetconfTopologyListener(tapiNetworkModelService); + TapiOrLinkListener orLinkListener = new TapiOrLinkListener(tapiLink, networkTransaction); + TapiPortMappingListener tapiPortMappingListener = + new TapiPortMappingListener(tapiNetworkModelService); + TapiNetworkModelListenerImpl tapiNetworkModelListenerImpl = + new TapiNetworkModelListenerImpl(networkTransaction, + lightyServices.getBindingNotificationPublishService()); - LOG.info("Creating tapi beans ..."); - R2RTapiLinkDiscovery tapilinkDiscoveryImpl = new R2RTapiLinkDiscovery(lightyServices.getBindingDataBroker(), - deviceTransactionManager); - TapiRendererListenerImpl tapiRendererListenerImpl = new TapiRendererListenerImpl(lightyServices - .getBindingDataBroker()); - TapiPceListenerImpl tapiPceListenerImpl = new TapiPceListenerImpl(lightyServices.getBindingDataBroker()); - TapiServiceHandlerListenerImpl tapiServiceHandlerListener = new TapiServiceHandlerListenerImpl(lightyServices - .getBindingDataBroker()); - TransportpceTapinetworkutilsService tapiNetworkutilsServiceImpl = new TapiNetworkUtilsImpl( - networkTransaction); - TapiNetworkModelService tapiNetworkModelService = new TapiNetworkModelServiceImpl( - tapilinkDiscoveryImpl, networkTransaction); - TapiNetconfTopologyListener tapiNetConfTopologyListener = - new TapiNetconfTopologyListener(tapiNetworkModelService); - TapiPortMappingListener tapiPortMappingListener = - new TapiPortMappingListener(tapiNetworkModelService); - - tapiProvider = initTapi(lightyServices, servicehandler, networkTransaction, serviceDataStoreOperations, - tapiNetConfTopologyListener, tapiPortMappingListener, tapiNetworkutilsServiceImpl, tapiPceListenerImpl, - tapiRendererListenerImpl, tapiServiceHandlerListener, lightyServices.getNotificationService()); + tapiProvider = initTapi(lightyServices, servicehandler, networkTransaction, serviceDataStoreOperations, + tapiNetConfTopologyListener, tapiPortMappingListener, tapiNetworkutilsServiceImpl, + tapiPceListenerImpl, tapiRendererListenerImpl, tapiServiceHandlerListener, + lightyServices.getNotificationService(), orLinkListener, tapiNetworkModelListenerImpl); + } if (activateNbiNotification) { LOG.info("Creating nbi-notifications beans ..."); nbiNotificationsProvider = new NbiNotificationsProvider( - publisherTopicList, null, null, lightyServices.getRpcProviderService(), - lightyServices.getNotificationService(), lightyServices.getAdapterContext().currentSerializer()); + publisherServiceList, publisherAlarmList, null, null, lightyServices.getRpcProviderService(), + lightyServices.getNotificationService(), lightyServices.getAdapterContext().currentSerializer(), + networkTransaction); } } @@ -234,16 +247,16 @@ public class TransportPCEImpl extends AbstractLightyModule implements TransportP protected boolean initProcedure() { LOG.info("Initializing PCE provider ..."); pceProvider.init(); - LOG.info("Initializing network-model provider ..."); - networkModelProvider.init(); LOG.info("Initializing OLM provider ..."); olmProvider.init(); LOG.info("Initializing renderer provider ..."); rendererProvider.init(); LOG.info("Initializing service-handler provider ..."); servicehandlerProvider.init(); - LOG.info("Initializing tapi provider ..."); - tapiProvider.init(); + if (tapiProvider != null) { + LOG.info("Initializing tapi provider ..."); + tapiProvider.init(); + } if (nbiNotificationsProvider != null) { LOG.info("Initializing nbi-notifications provider ..."); nbiNotificationsProvider.init(); @@ -254,10 +267,14 @@ public class TransportPCEImpl extends AbstractLightyModule implements TransportP @Override protected boolean stopProcedure() { - nbiNotificationsProvider.close(); - LOG.info("Shutting down nbi-notifications provider ..."); - tapiProvider.close(); - LOG.info("Shutting down service-handler provider ..."); + if (nbiNotificationsProvider != null) { + nbiNotificationsProvider.close(); + LOG.info("Shutting down nbi-notifications provider ..."); + } + if (tapiProvider != null) { + tapiProvider.close(); + LOG.info("Shutting down service-handler provider ..."); + } servicehandlerProvider.close(); LOG.info("Shutting down renderer provider ..."); rendererProvider.close(); @@ -268,7 +285,6 @@ public class TransportPCEImpl extends AbstractLightyModule implements TransportP LOG.info("Shutting down PCE provider ..."); pceProvider.close(); LOG.info("Shutting down transaction providers ..."); - networkTransaction.close(); deviceTransactionManager.preDestroy(); LOG.info("Shutdown done."); return true; @@ -282,11 +298,13 @@ public class TransportPCEImpl extends AbstractLightyModule implements TransportP TransportpceTapinetworkutilsService tapiNetworkutilsServiceImpl, TapiPceListenerImpl pceListenerImpl, TapiRendererListenerImpl rendererListenerImpl, TapiServiceHandlerListenerImpl serviceHandlerListenerImpl, - NotificationService notificationService) { + NotificationService notificationService, TapiOrLinkListener orLinkListener, + TapiNetworkModelListenerImpl tapiNetworkModelListenerImpl) { return new TapiProvider(lightyServices.getBindingDataBroker(), lightyServices.getRpcProviderService(), servicehandler, serviceDataStoreOperations, new TapiListener(), networkTransactionService, tapiNetConfTopologyListener, tapiPortMappingListener, tapiNetworkutilsServiceImpl, pceListenerImpl, - rendererListenerImpl, serviceHandlerListenerImpl, notificationService); + rendererListenerImpl, serviceHandlerListenerImpl, notificationService, orLinkListener, + tapiNetworkModelListenerImpl); } private RendererProvider initRenderer(LightyServices lightyServices, TransportpceOlmService olmPowerServiceRpc, @@ -315,24 +333,24 @@ public class TransportPCEImpl extends AbstractLightyModule implements TransportP openRoadmInterface710, openRoadmOtnInterface221, openRoadmOtnInterface710); } - private PortMapping initPortMapping(LightyServices lightyServices, OpenRoadmInterfaces openRoadmInterfaces) { + private PortMapping initPortMapping(LightyServices lightyServices) { PortMappingVersion710 portMappingVersion710 = new PortMappingVersion710(lightyServices.getBindingDataBroker(), - deviceTransactionManager, openRoadmInterfaces); + deviceTransactionManager); PortMappingVersion221 portMappingVersion221 = new PortMappingVersion221(lightyServices.getBindingDataBroker(), - deviceTransactionManager, openRoadmInterfaces); + deviceTransactionManager); PortMappingVersion121 portMappingVersion121 = new PortMappingVersion121(lightyServices.getBindingDataBroker(), - deviceTransactionManager, openRoadmInterfaces); + deviceTransactionManager); return new PortMappingImpl(lightyServices.getBindingDataBroker(), portMappingVersion710, portMappingVersion221, portMappingVersion121); } - private OpenRoadmInterfaces initOpenRoadmInterfaces(MappingUtils mappingUtils) { + private OpenRoadmInterfaces initOpenRoadmInterfaces(MappingUtils mappingUtils, PortMapping portMapping) { OpenRoadmInterfacesImpl121 openRoadmInterfacesImpl121 = new OpenRoadmInterfacesImpl121( deviceTransactionManager); OpenRoadmInterfacesImpl221 openRoadmInterfacesImpl221 = new OpenRoadmInterfacesImpl221( - deviceTransactionManager); + deviceTransactionManager, portMapping); OpenRoadmInterfacesImpl710 openRoadmInterfacesImpl710 = new OpenRoadmInterfacesImpl710( - deviceTransactionManager); + deviceTransactionManager, portMapping); return new OpenRoadmInterfacesImpl(deviceTransactionManager, mappingUtils, openRoadmInterfacesImpl121, openRoadmInterfacesImpl221, openRoadmInterfacesImpl710); }