X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=E2Manager%2Fapp%2Fmain.go;h=4708b05de829c54217769400f938b46fa6f98247;hb=7adc94777e7324f762bb773058ed25022c214491;hp=443b7ebd2296603c8fb5b66d93728ae9591fc597;hpb=efcb4528362460aa2249d319c9752b63bb720fe2;p=ric-plt%2Fe2mgr.git diff --git a/E2Manager/app/main.go b/E2Manager/app/main.go old mode 100644 new mode 100755 index 443b7eb..4708b05 --- a/E2Manager/app/main.go +++ b/E2Manager/app/main.go @@ -17,7 +17,6 @@ // This source code is part of the near-RT RIC (RAN Intelligent Controller) // platform project (RICP). - package main import ( @@ -38,11 +37,33 @@ import ( "fmt" "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/reader" "gerrit.o-ran-sc.org/r/ric-plt/sdlgo" - "net/http" "os" "strconv" ) +const ( + GeneralKey = "GENERAL" + GeneralKeyDefaultValue = "{\"enableRic\":true}" +) + +func initKeys(logger *logger.Logger, sdl *sdlgo.SdlInstance) error { + ok, err := sdl.SetIfNotExists(GeneralKey, GeneralKeyDefaultValue) + + if err != nil { + logger.Errorf("#app.main - Failed setting GENERAL key") + return err + } + + if ok { + logger.Infof("#app.main - Successfully set GENERAL key") + } else { + logger.Infof("#app.main - GENERAL key exists, no need to set") + } + + return nil + +} + func main() { config := configuration.ParseConfiguration() logLevel, _ := logger.LogLevelTokenToLevel(config.Logging.LogLevel) @@ -51,23 +72,45 @@ func main() { fmt.Printf("#app.main - failed to initialize logger, error: %s", err) os.Exit(1) } + logger.Infof("#app.main - Configuration %s", config) db := sdlgo.NewDatabase() sdl := sdlgo.NewSdlInstance("e2Manager", db) + err = initKeys(logger, sdl) + + if err != nil { + os.Exit(1) + } + defer sdl.Close() - rnibDataService := services.NewRnibDataService(logger, config, reader.GetRNibReader(sdl), rNibWriter.GetRNibWriter( sdl)) + rnibDataService := services.NewRnibDataService(logger, config, reader.GetRNibReader(sdl), rNibWriter.GetRNibWriter(sdl, config.RnibWriter)) + + ranListManager := managers.NewRanListManager(logger, rnibDataService) + + err = ranListManager.InitNbIdentityMap() + + if err != nil { + logger.Errorf("#app.main - quit") + os.Exit(1) + } + var msgImpl *rmrCgo.Context rmrMessenger := msgImpl.Init("tcp:"+strconv.Itoa(config.Rmr.Port), config.Rmr.MaxMsgSize, 0, logger) rmrSender := rmrsender.NewRmrSender(logger, rmrMessenger) - ranSetupManager := managers.NewRanSetupManager(logger, rmrSender, rnibDataService) e2tInstancesManager := managers.NewE2TInstancesManager(rnibDataService, logger) - e2tShutdownManager := managers.NewE2TShutdownManager(logger, rnibDataService, e2tInstancesManager) + routingManagerClient := clients.NewRoutingManagerClient(logger, config, clients.NewHttpClient()) + ranAlarmService := services.NewRanAlarmService(logger, config) + ranConnectStatusChangeManager := managers.NewRanConnectStatusChangeManager(logger, rnibDataService, ranListManager, ranAlarmService) + e2tAssociationManager := managers.NewE2TAssociationManager(logger, rnibDataService, e2tInstancesManager, routingManagerClient, ranConnectStatusChangeManager) + e2tShutdownManager := managers.NewE2TShutdownManager(logger, config, rnibDataService, e2tInstancesManager, e2tAssociationManager, ranConnectStatusChangeManager) e2tKeepAliveWorker := managers.NewE2TKeepAliveWorker(logger, rmrSender, e2tInstancesManager, e2tShutdownManager, config) - routingManagerClient := clients.NewRoutingManagerClient(logger, config, &http.Client{}) rmrNotificationHandlerProvider := rmrmsghandlerprovider.NewNotificationHandlerProvider() - rmrNotificationHandlerProvider.Init(logger, config, rnibDataService, rmrSender, ranSetupManager, e2tInstancesManager, routingManagerClient) + rmrNotificationHandlerProvider.Init(logger, config, rnibDataService, rmrSender, e2tInstancesManager, routingManagerClient, e2tAssociationManager, ranConnectStatusChangeManager, ranListManager) notificationManager := notificationmanager.NewNotificationManager(logger, rmrNotificationHandlerProvider) rmrReceiver := rmrreceiver.NewRmrReceiver(logger, rmrMessenger, notificationManager) + nodebValidator := managers.NewNodebValidator() + updateEnbManager := managers.NewUpdateEnbManager(logger, rnibDataService, nodebValidator) + updateGnbManager := managers.NewUpdateGnbManager(logger, rnibDataService, nodebValidator) e2tInstancesManager.ResetKeepAliveTimestampsForAllE2TInstances() @@ -76,9 +119,10 @@ func main() { go rmrReceiver.ListenAndHandle() go e2tKeepAliveWorker.Execute() - httpMsgHandlerProvider := httpmsghandlerprovider.NewIncomingRequestHandlerProvider(logger, rmrSender, config, rnibDataService, ranSetupManager, e2tInstancesManager) + httpMsgHandlerProvider := httpmsghandlerprovider.NewIncomingRequestHandlerProvider(logger, rmrSender, config, rnibDataService, e2tInstancesManager, routingManagerClient, ranConnectStatusChangeManager, nodebValidator, updateEnbManager, updateGnbManager, ranListManager) rootController := controllers.NewRootController(rnibDataService) nodebController := controllers.NewNodebController(logger, httpMsgHandlerProvider) e2tController := controllers.NewE2TController(logger, httpMsgHandlerProvider) - _ = httpserver.Run(logger, config.Http.Port, rootController, nodebController, e2tController) -} \ No newline at end of file + symptomController := controllers.NewSymptomdataController(logger, httpMsgHandlerProvider, rnibDataService, ranListManager) + _ = httpserver.Run(logger, config.Http.Port, rootController, nodebController, e2tController, symptomController) +}