X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=E2Manager%2Fmanagers%2Fupdate_enb_manager.go;h=0e8ed7ef21ad917c6853c29c315c84412b7c6458;hb=8b146be80f4b6daa8ce90d8ab62cab9f53f7e4f6;hp=b2cd7d74a9cf05bba2afc95ad3258cb1c6ae310a;hpb=fafc90d9bf1c8edc7b8815280f2fd0a11677e00b;p=ric-plt%2Fe2mgr.git diff --git a/E2Manager/managers/update_enb_manager.go b/E2Manager/managers/update_enb_manager.go old mode 100755 new mode 100644 index b2cd7d7..0e8ed7e --- a/E2Manager/managers/update_enb_manager.go +++ b/E2Manager/managers/update_enb_manager.go @@ -48,12 +48,10 @@ func (h *UpdateEnbManager) Validate(request models.Request) error { h.logger.Infof("#UpdateEnbManager.Validate - Validate incoming request, ran name: %s", updateEnbRequest.RanName) - if err := h.validateRequestBody(updateEnbRequest); err != nil { h.logger.Errorf("#UpdateEnbManager.Validate - validation failure: %s is a mandatory field and cannot be empty", err) return err } - return nil } @@ -64,7 +62,14 @@ func (h *UpdateEnbManager) RemoveNodebCells(nodeb *entities.NodebInfo) error { return e2managererrors.NewRequestValidationError() } - err := h.rnibDataService.RemoveServedCells(nodeb.GetRanName(), nodeb.GetEnb().GetServedCells()) + servedCells := nodeb.GetEnb().GetServedCells() + + if len(servedCells) == 0 { + h.logger.Infof("#UpdateGnbManager.RemoveNodebCells - RAN name: %s - eNB cells are nil or empty - no cells to remove", nodeb.GetRanName()) + return nil + } + + err := h.rnibDataService.RemoveServedCells(nodeb.GetRanName(), servedCells) if err != nil { h.logger.Errorf("#UpdateEnbManager.RemoveNodebCells - RAN name: %s - Failed removing eNB served cells", nodeb.GetRanName()) return e2managererrors.NewRnibDbError() @@ -74,13 +79,14 @@ func (h *UpdateEnbManager) RemoveNodebCells(nodeb *entities.NodebInfo) error { return nil } -func (h *UpdateEnbManager) SetNodeb(nodeb *entities.NodebInfo, request models.Request) error { - +func (h *UpdateEnbManager) SetNodeb(nodeb *entities.NodebInfo, request models.Request) { updateEnbRequest := request.(*models.UpdateEnbRequest) - nodeb.Configuration = &entities.NodebInfo_Enb{Enb: updateEnbRequest.Enb} + if nodeb.SetupFromNetwork { + updateEnbRequest.Enb.EnbType = nodeb.GetEnb().GetEnbType() + } - return nil + nodeb.Configuration = &entities.NodebInfo_Enb{Enb: updateEnbRequest.Enb} } func (h *UpdateEnbManager) UpdateNodeb(nodeb *entities.NodebInfo) error { @@ -106,4 +112,16 @@ func (h *UpdateEnbManager) validateRequestBody(request *models.UpdateEnbRequest) } return nil -} \ No newline at end of file +} + +func (h *UpdateEnbManager) ValidateNodeb(nodeb *entities.NodebInfo) error{ + + enbType := nodeb.GetEnb().GetEnbType() + + if h.nodebValidator.IsNgEnbType(enbType) { + h.logger.Errorf("#UpdateEnbManager.ValidateNodeb - validation failure: current enb type is not supported. enb type: %s", enbType) + return errors.New("") + } + return nil +} +