X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=E2Manager%2Fhandlers%2Frmrmsghandlers%2Fe2_term_init_notification_handler.go;h=d11158b069411c8da11b02db955d427f2326f755;hb=7000880c4031e607a2fe36046fd097f486476a84;hp=283de352f1b6a5979fe71255f2e5d94387dce624;hpb=372a275602ae05da22130a4601709291c7fbbaa6;p=ric-plt%2Fe2mgr.git diff --git a/E2Manager/handlers/rmrmsghandlers/e2_term_init_notification_handler.go b/E2Manager/handlers/rmrmsghandlers/e2_term_init_notification_handler.go index 283de35..d11158b 100644 --- a/E2Manager/handlers/rmrmsghandlers/e2_term_init_notification_handler.go +++ b/E2Manager/handlers/rmrmsghandlers/e2_term_init_notification_handler.go @@ -17,7 +17,6 @@ // This source code is part of the near-RT RIC (RAN Intelligent Controller) // platform project (RICP). - package rmrmsghandlers import ( @@ -25,27 +24,24 @@ import ( "e2mgr/logger" "e2mgr/managers" "e2mgr/models" - "e2mgr/services" "encoding/json" "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/common" "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities" ) type E2TermInitNotificationHandler struct { - logger *logger.Logger - rnibDataService services.RNibDataService - ranReconnectionManager *managers.RanReconnectionManager - e2tInstancesManager managers.IE2TInstancesManager - routingManagerClient clients.IRoutingManagerClient + logger *logger.Logger + ranDisconnectionManager *managers.RanDisconnectionManager + e2tInstancesManager managers.IE2TInstancesManager + routingManagerClient clients.IRoutingManagerClient } -func NewE2TermInitNotificationHandler(logger *logger.Logger, ranReconnectionManager *managers.RanReconnectionManager, rnibDataService services.RNibDataService, e2tInstancesManager managers.IE2TInstancesManager, routingManagerClient clients.IRoutingManagerClient) E2TermInitNotificationHandler { +func NewE2TermInitNotificationHandler(logger *logger.Logger, ranDisconnectionManager *managers.RanDisconnectionManager, e2tInstancesManager managers.IE2TInstancesManager, routingManagerClient clients.IRoutingManagerClient) E2TermInitNotificationHandler { return E2TermInitNotificationHandler{ - logger: logger, - rnibDataService: rnibDataService, - ranReconnectionManager: ranReconnectionManager, - e2tInstancesManager: e2tInstancesManager, - routingManagerClient: routingManagerClient, + logger: logger, + ranDisconnectionManager: ranDisconnectionManager, + e2tInstancesManager: e2tInstancesManager, + routingManagerClient: routingManagerClient, } } @@ -65,7 +61,7 @@ func (h E2TermInitNotificationHandler) Handle(request *models.NotificationReques return } - h.logger.Infof("#E2TermInitNotificationHandler.Handle - E2T address: %s - handling E2_TERM_INIT", e2tAddress) + h.logger.Infof("#E2TermInitNotificationHandler.Handle - E2T payload: %s - handling E2_TERM_INIT", unmarshalledPayload) e2tInstance, err := h.e2tInstancesManager.GetE2TInstance(e2tAddress) @@ -77,7 +73,7 @@ func (h E2TermInitNotificationHandler) Handle(request *models.NotificationReques return } - h.HandleNewE2TInstance(e2tAddress) + h.HandleNewE2TInstance(e2tAddress, unmarshalledPayload.PodName) return } @@ -86,18 +82,11 @@ func (h E2TermInitNotificationHandler) Handle(request *models.NotificationReques return } - if e2tInstance.State == entities.ToBeDeleted{ + if e2tInstance.State == entities.ToBeDeleted { h.logger.Infof("#E2TermInitNotificationHandler.Handle - E2T Address: %s - E2T instance status is: %s, ignore", e2tInstance.Address, e2tInstance.State) return } - if e2tInstance.State == entities.RoutingManagerFailure { - err := h.e2tInstancesManager.ActivateE2TInstance(e2tInstance) - if err != nil { - return - } - } - h.HandleExistingE2TInstance(e2tInstance) h.logger.Infof("#E2TermInitNotificationHandler.Handle - Completed handling of E2_TERM_INIT") @@ -107,24 +96,22 @@ func (h E2TermInitNotificationHandler) HandleExistingE2TInstance(e2tInstance *en for _, ranName := range e2tInstance.AssociatedRanList { - if err := h.ranReconnectionManager.ReconnectRan(ranName); err != nil { - h.logger.Errorf("#E2TermInitNotificationHandler.HandleExistingE2TInstance - Ran name: %s - connection attempt failure, error: %s", ranName, err) - _, ok := err.(*common.ResourceNotFoundError) - if !ok { + if err := h.ranDisconnectionManager.DisconnectRan(ranName); err != nil { + if _, ok := err.(*common.ResourceNotFoundError); !ok { break } } } } -func (h E2TermInitNotificationHandler) HandleNewE2TInstance(e2tAddress string) { +func (h E2TermInitNotificationHandler) HandleNewE2TInstance(e2tAddress string, podName string) { err := h.routingManagerClient.AddE2TInstance(e2tAddress) - if err != nil{ + if err != nil { h.logger.Errorf("#E2TermInitNotificationHandler.HandleNewE2TInstance - e2t address: %s - routing manager failure", e2tAddress) return } - _ = h.e2tInstancesManager.AddE2TInstance(e2tAddress) -} \ No newline at end of file + _ = h.e2tInstancesManager.AddE2TInstance(e2tAddress, podName) +}