From: naman.gupta Date: Tue, 30 May 2023 11:52:02 +0000 (+0530) Subject: Changing status to connected state after timeout. X-Git-Tag: 6.0.2~1^2 X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=commitdiff_plain;h=086691323016a409a53df7ca6f52339641a19063;p=ric-plt%2Fe2mgr.git Changing status to connected state after timeout. Changing status to connected state after timeout. Signed-off-by: naman.gupta Change-Id: Ie9e09b4576c537e560a897286b5fb0c1491366ac --- diff --git a/E2Manager/handlers/httpmsghandlers/e2_reset_request_handler.go b/E2Manager/handlers/httpmsghandlers/e2_reset_request_handler.go index 7fce8fc..8c4932d 100644 --- a/E2Manager/handlers/httpmsghandlers/e2_reset_request_handler.go +++ b/E2Manager/handlers/httpmsghandlers/e2_reset_request_handler.go @@ -32,18 +32,20 @@ import ( ) type E2ResetRequestHandler struct { - rNibDataService services.RNibDataService - rmrSender *rmrsender.RmrSender - logger *logger.Logger - ranResetManager *managers.RanResetManager + rNibDataService services.RNibDataService + rmrSender *rmrsender.RmrSender + logger *logger.Logger + ranResetManager *managers.RanResetManager + changeStatusToConnectedRanManager *managers.ChangeStatusToConnectedRanManager } -func NewE2ResetRequestHandler(logger *logger.Logger, rmrSender *rmrsender.RmrSender, rNibDataService services.RNibDataService, ranResetManager *managers.RanResetManager) *E2ResetRequestHandler { +func NewE2ResetRequestHandler(logger *logger.Logger, rmrSender *rmrsender.RmrSender, rNibDataService services.RNibDataService, ranResetManager *managers.RanResetManager, changeStatusToConnectedRanManager *managers.ChangeStatusToConnectedRanManager) *E2ResetRequestHandler { return &E2ResetRequestHandler{ - rNibDataService: rNibDataService, - rmrSender: rmrSender, - logger: logger, - ranResetManager: ranResetManager, + rNibDataService: rNibDataService, + rmrSender: rmrSender, + logger: logger, + ranResetManager: ranResetManager, + changeStatusToConnectedRanManager: changeStatusToConnectedRanManager, } } @@ -52,7 +54,7 @@ func (e *E2ResetRequestHandler) Handle(request models.Request) error { e.logger.Infof("#E2ResetRequestHandler.Handle - Ran name: %s", resetRequest.RanName) nodebInfo, err := e.getNodebInfo(resetRequest.RanName) if err != nil { - e.logger.Errorf("#E2ResetRequestNotificationHandler.Handle - failed to get status of RAN: %s from RNIB. Error: %s", resetRequest.RanName, err.Error()) + e.logger.Errorf("#E2ResetRequestHandler.Handle - failed to get status of RAN: %s from RNIB. Error: %s", resetRequest.RanName, err.Error()) _, ok := err.(*common.ResourceNotFoundError) if ok { return e2managererrors.NewResourceNotFoundError() @@ -60,22 +62,22 @@ func (e *E2ResetRequestHandler) Handle(request models.Request) error { return e2managererrors.NewRnibDbError() } - e.logger.Debugf("#E2ResetRequestNotificationHandler.Handle - nodeB entity retrieved. RanName %s, ConnectionStatus %s", nodebInfo.RanName, nodebInfo.ConnectionStatus) + e.logger.Debugf("#E2ResetRequestHandler.Handle - nodeB entity retrieved. RanName %s, ConnectionStatus %s", nodebInfo.RanName, nodebInfo.ConnectionStatus) ranName := resetRequest.RanName // TODO: remove isResetDone isResetDone, err := e.ranResetManager.ResetRan(ranName) if err != nil { - e.logger.Errorf("#E2ResetRequestNotificationHandler.Handle - failed to update and notify connection status of nodeB entity. RanName: %s. Error: %s", resetRequest.RanName, err.Error()) + e.logger.Errorf("#E2ResetRequestHandler.Handle - failed to update and notify connection status of nodeB entity. RanName: %s. Error: %s", resetRequest.RanName, err.Error()) return err } else { if isResetDone { nodebInfoupdated, err1 := e.getNodebInfo(resetRequest.RanName) if err1 != nil { - e.logger.Errorf("#E2ResetRequestNotificationHandler.Handle - failed to get updated nodeB entity. RanName: %s. Error: %s", resetRequest.RanName, err1.Error()) + e.logger.Errorf("#E2ResetRequestHandler.Handle - failed to get updated nodeB entity. RanName: %s. Error: %s", resetRequest.RanName, err1.Error()) return err1 } - e.logger.Debugf("#E2ResetRequestNotificationHandler.Handle - Reset Done Successfully ran: %s , Connection status updated : %s", ranName, nodebInfoupdated.ConnectionStatus) + e.logger.Debugf("#E2ResetRequestHandler.Handle - Reset Done Successfully ran: %s , Connection status updated : %s", ranName, nodebInfoupdated.ConnectionStatus) } else { e.logger.Debugf("#E2ResetRequestNotificationHandler.Handle - Reset Failed") errmsg := fmt.Errorf("#E2ResetRequestHandler.Handle - Reset Failed") @@ -83,6 +85,29 @@ func (e *E2ResetRequestHandler) Handle(request models.Request) error { } } + //TODO: add timer + + isConnectedStatus, err := e.changeStatusToConnectedRanManager.ChangeStatusToConnectedRan(ranName) + if err != nil { + e.logger.Errorf("#E2ResetRequestHandler.Handle - failed to update and notify connection status of nodeB entity. RanName: %s. Error: %s", resetRequest.RanName, err.Error()) + return err + } else { + if isConnectedStatus { + nodebInfoupdated, err1 := e.getNodebInfo(resetRequest.RanName) + if err1 != nil { + e.logger.Errorf("#E2ResetRequestHandler.Handle - failed to get updated nodeB entity. RanName: %s. Error: %s", resetRequest.RanName, err1.Error()) + return err1 + } + e.logger.Debugf("#E2ResetRequestHandler.Handle - Connection status Set Successfully ran: %s , Connection status updated : %s", ranName, nodebInfoupdated.ConnectionStatus) + } else { + e.logger.Debugf("#E2ResetRequestHandler.Handle - Connection status Setting Failed") + errmsg := fmt.Errorf("#E2ResetRequestHandler.Handle - Connection status Setting Failed") + return errmsg + } + } + + e.logger.Debugf("#E2ResetRequestHandler.Handle - nodeB entity connected state. RanName %s, ConnectionStatus %s", nodebInfo.RanName, nodebInfo.ConnectionStatus) + return nil } @@ -90,7 +115,7 @@ func (e *E2ResetRequestHandler) getNodebInfo(ranName string) (*entities.NodebInf nodebInfo, err := e.rNibDataService.GetNodeb(ranName) if err != nil { - e.logger.Errorf("#E2ResetRequestNotificationHandler.Handle - failed to retrieve nodeB entity. RanName: %s. Error: %s", ranName, err.Error()) + e.logger.Errorf("#E2ResetRequestHandler.Handle - failed to retrieve nodeB entity. RanName: %s. Error: %s", ranName, err.Error()) return nil, err } return nodebInfo, nil