Changing status to connected state after timeout. 45/11245/4
authornaman.gupta <naman.gupta@samsung.com>
Tue, 30 May 2023 11:52:02 +0000 (17:22 +0530)
committernaman.gupta <naman.gupta@samsung.com>
Wed, 31 May 2023 09:16:47 +0000 (14:46 +0530)
Changing status to connected state after timeout.

Signed-off-by: naman.gupta <naman.gupta@samsung.com>
Change-Id: Ie9e09b4576c537e560a897286b5fb0c1491366ac

E2Manager/handlers/httpmsghandlers/e2_reset_request_handler.go

index 7fce8fc..8c4932d 100644 (file)
@@ -32,18 +32,20 @@ import (
 )\r
 \r
 type E2ResetRequestHandler struct {\r
-       rNibDataService services.RNibDataService\r
-       rmrSender       *rmrsender.RmrSender\r
-       logger          *logger.Logger\r
-       ranResetManager *managers.RanResetManager\r
+       rNibDataService                   services.RNibDataService\r
+       rmrSender                         *rmrsender.RmrSender\r
+       logger                            *logger.Logger\r
+       ranResetManager                   *managers.RanResetManager\r
+       changeStatusToConnectedRanManager *managers.ChangeStatusToConnectedRanManager\r
 }\r
 \r
-func NewE2ResetRequestHandler(logger *logger.Logger, rmrSender *rmrsender.RmrSender, rNibDataService services.RNibDataService, ranResetManager *managers.RanResetManager) *E2ResetRequestHandler {\r
+func NewE2ResetRequestHandler(logger *logger.Logger, rmrSender *rmrsender.RmrSender, rNibDataService services.RNibDataService, ranResetManager *managers.RanResetManager, changeStatusToConnectedRanManager *managers.ChangeStatusToConnectedRanManager) *E2ResetRequestHandler {\r
        return &E2ResetRequestHandler{\r
-               rNibDataService: rNibDataService,\r
-               rmrSender:       rmrSender,\r
-               logger:          logger,\r
-               ranResetManager: ranResetManager,\r
+               rNibDataService:                   rNibDataService,\r
+               rmrSender:                         rmrSender,\r
+               logger:                            logger,\r
+               ranResetManager:                   ranResetManager,\r
+               changeStatusToConnectedRanManager: changeStatusToConnectedRanManager,\r
        }\r
 }\r
 \r
@@ -52,7 +54,7 @@ func (e *E2ResetRequestHandler) Handle(request models.Request) error {
        e.logger.Infof("#E2ResetRequestHandler.Handle - Ran name: %s", resetRequest.RanName)\r
        nodebInfo, err := e.getNodebInfo(resetRequest.RanName)\r
        if err != nil {\r
-               e.logger.Errorf("#E2ResetRequestNotificationHandler.Handle - failed to get status of RAN: %s from RNIB. Error: %s", resetRequest.RanName, err.Error())\r
+               e.logger.Errorf("#E2ResetRequestHandler.Handle - failed to get status of RAN: %s from RNIB. Error: %s", resetRequest.RanName, err.Error())\r
                _, ok := err.(*common.ResourceNotFoundError)\r
                if ok {\r
                        return e2managererrors.NewResourceNotFoundError()\r
@@ -60,22 +62,22 @@ func (e *E2ResetRequestHandler) Handle(request models.Request) error {
                return e2managererrors.NewRnibDbError()\r
        }\r
 \r
-       e.logger.Debugf("#E2ResetRequestNotificationHandler.Handle - nodeB entity retrieved. RanName %s, ConnectionStatus %s", nodebInfo.RanName, nodebInfo.ConnectionStatus)\r
+       e.logger.Debugf("#E2ResetRequestHandler.Handle - nodeB entity retrieved. RanName %s, ConnectionStatus %s", nodebInfo.RanName, nodebInfo.ConnectionStatus)\r
 \r
        ranName := resetRequest.RanName\r
        // TODO: remove isResetDone\r
        isResetDone, err := e.ranResetManager.ResetRan(ranName)\r
        if err != nil {\r
-               e.logger.Errorf("#E2ResetRequestNotificationHandler.Handle - failed to update and notify connection status of nodeB entity. RanName: %s. Error: %s", resetRequest.RanName, err.Error())\r
+               e.logger.Errorf("#E2ResetRequestHandler.Handle - failed to update and notify connection status of nodeB entity. RanName: %s. Error: %s", resetRequest.RanName, err.Error())\r
                return err\r
        } else {\r
                if isResetDone {\r
                        nodebInfoupdated, err1 := e.getNodebInfo(resetRequest.RanName)\r
                        if err1 != nil {\r
-                               e.logger.Errorf("#E2ResetRequestNotificationHandler.Handle - failed to get updated nodeB entity. RanName: %s. Error: %s", resetRequest.RanName, err1.Error())\r
+                               e.logger.Errorf("#E2ResetRequestHandler.Handle - failed to get updated nodeB entity. RanName: %s. Error: %s", resetRequest.RanName, err1.Error())\r
                                return err1\r
                        }\r
-                       e.logger.Debugf("#E2ResetRequestNotificationHandler.Handle - Reset Done Successfully ran: %s , Connection status updated : %s", ranName, nodebInfoupdated.ConnectionStatus)\r
+                       e.logger.Debugf("#E2ResetRequestHandler.Handle - Reset Done Successfully ran: %s , Connection status updated : %s", ranName, nodebInfoupdated.ConnectionStatus)\r
                } else {\r
                        e.logger.Debugf("#E2ResetRequestNotificationHandler.Handle - Reset Failed")\r
                        errmsg := fmt.Errorf("#E2ResetRequestHandler.Handle - Reset Failed")\r
@@ -83,6 +85,29 @@ func (e *E2ResetRequestHandler) Handle(request models.Request) error {
                }\r
        }\r
 \r
+       //TODO: add timer\r
+\r
+       isConnectedStatus, err := e.changeStatusToConnectedRanManager.ChangeStatusToConnectedRan(ranName)\r
+       if err != nil {\r
+               e.logger.Errorf("#E2ResetRequestHandler.Handle - failed to update and notify connection status of nodeB entity. RanName: %s. Error: %s", resetRequest.RanName, err.Error())\r
+               return err\r
+       } else {\r
+               if isConnectedStatus {\r
+                       nodebInfoupdated, err1 := e.getNodebInfo(resetRequest.RanName)\r
+                       if err1 != nil {\r
+                               e.logger.Errorf("#E2ResetRequestHandler.Handle - failed to get updated nodeB entity. RanName: %s. Error: %s", resetRequest.RanName, err1.Error())\r
+                               return err1\r
+                       }\r
+                       e.logger.Debugf("#E2ResetRequestHandler.Handle - Connection status Set Successfully ran: %s , Connection status updated : %s", ranName, nodebInfoupdated.ConnectionStatus)\r
+               } else {\r
+                       e.logger.Debugf("#E2ResetRequestHandler.Handle - Connection status Setting Failed")\r
+                       errmsg := fmt.Errorf("#E2ResetRequestHandler.Handle - Connection status Setting Failed")\r
+                       return errmsg\r
+               }\r
+       }\r
+\r
+       e.logger.Debugf("#E2ResetRequestHandler.Handle - nodeB entity connected state. RanName %s, ConnectionStatus %s", nodebInfo.RanName, nodebInfo.ConnectionStatus)\r
+\r
        return nil\r
 }\r
 \r
@@ -90,7 +115,7 @@ func (e *E2ResetRequestHandler) getNodebInfo(ranName string) (*entities.NodebInf
 \r
        nodebInfo, err := e.rNibDataService.GetNodeb(ranName)\r
        if err != nil {\r
-               e.logger.Errorf("#E2ResetRequestNotificationHandler.Handle - failed to retrieve nodeB entity. RanName: %s. Error: %s", ranName, err.Error())\r
+               e.logger.Errorf("#E2ResetRequestHandler.Handle - failed to retrieve nodeB entity. RanName: %s. Error: %s", ranName, err.Error())\r
                return nil, err\r
        }\r
        return nodebInfo, nil\r