)
type DeleteAllRequestHandler struct {
- rnibDataService services.RNibDataService
- rmrSender *rmrsender.RmrSender
- config *configuration.Configuration
- logger *logger.Logger
- e2tInstancesManager managers.IE2TInstancesManager
- rmClient clients.IRoutingManagerClient
+ rnibDataService services.RNibDataService
+ rmrSender *rmrsender.RmrSender
+ config *configuration.Configuration
+ logger *logger.Logger
+ e2tInstancesManager managers.IE2TInstancesManager
+ rmClient clients.IRoutingManagerClient
+ ranConnectStatusChangeManager managers.IRanConnectStatusChangeManager
+ ranListManager managers.RanListManager
}
const PartialSuccessDueToRmErrorMessage = "Operation succeeded except for routing manager outbound call"
-func NewDeleteAllRequestHandler(logger *logger.Logger, rmrSender *rmrsender.RmrSender, config *configuration.Configuration, rnibDataService services.RNibDataService, e2tInstancesManager managers.IE2TInstancesManager, rmClient clients.IRoutingManagerClient) *DeleteAllRequestHandler {
+func NewDeleteAllRequestHandler(logger *logger.Logger, rmrSender *rmrsender.RmrSender, config *configuration.Configuration, rnibDataService services.RNibDataService, e2tInstancesManager managers.IE2TInstancesManager, rmClient clients.IRoutingManagerClient, ranConnectStatusChangeManager managers.IRanConnectStatusChangeManager, ranListManager managers.RanListManager) *DeleteAllRequestHandler {
return &DeleteAllRequestHandler{
- logger: logger,
- rnibDataService: rnibDataService,
- rmrSender: rmrSender,
- config: config,
- e2tInstancesManager: e2tInstancesManager,
- rmClient: rmClient,
+ logger: logger,
+ rnibDataService: rnibDataService,
+ rmrSender: rmrSender,
+ config: config,
+ e2tInstancesManager: e2tInstancesManager,
+ rmClient: rmClient,
+ ranConnectStatusChangeManager: ranConnectStatusChangeManager,
+ ranListManager: ranListManager,
}
}
}
func (h *DeleteAllRequestHandler) updateNodebs(updateCb func(node *entities.NodebInfo) (error, bool)) (error, bool) {
- nbIdentityList, err := h.rnibDataService.GetListNodebIds()
-
- if err != nil {
- h.logger.Errorf("#DeleteAllRequestHandler.updateNodebs - failed to get nodes list from rNib. Error: %s", err)
- return e2managererrors.NewRnibDbError(), false
- }
-
+ nbIdentityList := h.ranListManager.GetNbIdentityList()
updatedAtLeastOnce := false
for _, nbIdentity := range nbIdentityList {
return nil, false
}
- err := h.updateNodebInfo(node, entities.ConnectionStatus_SHUT_DOWN, false)
+ err := h.updateNodebInfo(node, entities.ConnectionStatus_SHUT_DOWN, false)
if err != nil {
return err, false
}
func (h *DeleteAllRequestHandler) updateNodebInfo(node *entities.NodebInfo, connectionStatus entities.ConnectionStatus, resetAssociatedE2TAddress bool) error {
- node.ConnectionStatus = connectionStatus
-
- if resetAssociatedE2TAddress {
- node.AssociatedE2TInstanceAddress = ""
- }
-
- err := h.rnibDataService.UpdateNodebInfo(node)
+ _, err := h.ranConnectStatusChangeManager.ChangeStatus(node, connectionStatus)
if err != nil {
- h.logger.Errorf("#DeleteAllRequestHandler.updateNodebInfo - RAN name: %s - failed updating nodeB entity in rNib. error: %s", node.RanName, err)
return e2managererrors.NewRnibDbError()
}
+ if resetAssociatedE2TAddress {
+ node.AssociatedE2TInstanceAddress = ""
+
+ err = h.rnibDataService.UpdateNodebInfo(node)
+ if err != nil {
+ h.logger.Errorf("#DeleteAllRequestHandler.updateNodebInfo - RAN name: %s - failed updating nodeB entity in rNib. error: %s", node.RanName, err)
+ return e2managererrors.NewRnibDbError()
+ }
+ }
h.logger.Infof("#DeleteAllRequestHandler.updateNodebInfo - RAN name: %s, connection status: %s", node.RanName, connectionStatus)
return nil