X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?p=ric-plt%2Fresource-status-manager.git;a=blobdiff_plain;f=RSM%2Fmanagers%2Fresource_status_initiate_manager.go;fp=RSM%2Fmanagers%2Fresource_status_initiate_manager.go;h=0000000000000000000000000000000000000000;hp=b96574d5b13b149f0e35d5c148f82912ab7e592d;hb=60652d98d51ee23c1eaca2e8bc2bf19c74c57658;hpb=b8d3ff3abf409da49ecab244cd6d2c2124dbce7c diff --git a/RSM/managers/resource_status_initiate_manager.go b/RSM/managers/resource_status_initiate_manager.go deleted file mode 100644 index b96574d..0000000 --- a/RSM/managers/resource_status_initiate_manager.go +++ /dev/null @@ -1,75 +0,0 @@ -package managers - -import ( - "gerrit.o-ran-sc.org/r/ric-plt/nodeb-rnib.git/entities" - "rsm/e2pdus" - "rsm/enums" - "rsm/logger" - "rsm/models" - "rsm/rmrcgo" - "rsm/rsmerrors" - "rsm/services" - "rsm/services/rmrsender" -) - -type ResourceStatusInitiateManager struct { - logger *logger.Logger - rnibDataService services.RNibDataService - rmrSender *rmrsender.RmrSender -} - -type IResourceStatusInitiateManager interface { - Execute(inventoryName string, resourceStatusInitiateRequestParams *e2pdus.ResourceStatusRequestData) error -} - -func NewResourceStatusInitiateManager(logger *logger.Logger, rnibDataService services.RNibDataService, rmrSender *rmrsender.RmrSender) *ResourceStatusInitiateManager { - return &ResourceStatusInitiateManager{ - logger: logger, - rnibDataService: rnibDataService, - rmrSender: rmrSender, - } -} - -func (m *ResourceStatusInitiateManager) Execute(inventoryName string, resourceStatusInitiateRequestParams *e2pdus.ResourceStatusRequestData) error { - - nodebInfo, err := m.rnibDataService.GetNodeb(inventoryName) - - if err != nil { - m.logger.Errorf("#ResourceStatusInitiateManager.Execute - RAN name: %s - Error fetching RAN from rNib: %v", inventoryName, err) - return rsmerrors.NewRnibDbError() - } - - m.logger.Infof("#ResourceStatusInitiateManager.Execute - RAN name: %s, connection status: %s", nodebInfo.GetRanName(), nodebInfo.GetConnectionStatus()) - - if nodebInfo.GetConnectionStatus() != entities.ConnectionStatus_CONNECTED { - m.logger.Errorf("#ResourceStatusInitiateManager.Execute - RAN name: %s - RAN's connection status isn't CONNECTED", inventoryName) - return rsmerrors.NewWrongStateError("Resource Status Initiate", entities.ConnectionStatus_name[int32(nodebInfo.ConnectionStatus)]) - } - - m.sendResourceStatusInitiatePerCell(nodebInfo, *resourceStatusInitiateRequestParams) - - return nil -} - -func (m *ResourceStatusInitiateManager) sendResourceStatusInitiatePerCell(nodebInfo *entities.NodebInfo, requestParams e2pdus.ResourceStatusRequestData) { - enb, _ := nodebInfo.Configuration.(*entities.NodebInfo_Enb) - cells := enb.Enb.ServedCells - - for index, cellInfo := range cells { - requestParams.CellID = cellInfo.CellId - requestParams.MeasurementID = e2pdus.Measurement_ID(index + 1) - - m.logger.Infof("#ResourceStatusInitiateManager.sendResourceStatusInitiatePerCell - RAN name: %s, Going to send request for cell id %s, measurement id %d", nodebInfo.RanName, requestParams.CellID, requestParams.MeasurementID) - - payload, payloadAsString, err := e2pdus.BuildPackedResourceStatusRequest(enums.Registration_Request_start, &requestParams, e2pdus.MaxAsn1PackedBufferSize, e2pdus.MaxAsn1CodecMessageBufferSize, m.logger.DebugEnabled()) - if err != nil { - m.logger.Errorf("#ResourceStatusInitiateManager.sendResourceStatusInitiatePerCell - RAN name: %s. Failed to build and pack the resource status initiate request for cell id %s, measurement id %d. error: %s", nodebInfo.RanName, requestParams.CellID, requestParams.MeasurementID, err) - continue - } - - m.logger.Debugf("#ResourceStatusInitiateManager.sendResourceStatusInitiatePerCell - RAN name: %s, cell id: %s, measurement id: %d, payload: %s", nodebInfo.RanName, requestParams.CellID, requestParams.MeasurementID, payloadAsString) - - rmrMsg := models.NewRmrMessage(rmrcgo.RicResStatusReq, nodebInfo.RanName, payload) - go m.rmrSender.Send(rmrMsg) - } -}