X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=pkg%2Fcontrol%2Fclient.go;h=6ab20fb6d77c427df82fd358f75a64dc6c0d8908;hb=8046c70a77be2de39ffda0092b1d86008145d81a;hp=598c7efb0a8f49ef3fc6ff92ea88a622bb58eef9;hpb=93cc3e245f87798c8753209980817727e0648401;p=ric-plt%2Fsubmgr.git diff --git a/pkg/control/client.go b/pkg/control/client.go index 598c7ef..6ab20fb 100644 --- a/pkg/control/client.go +++ b/pkg/control/client.go @@ -20,41 +20,48 @@ package control import ( + "errors" rtmgrclient "gerrit.o-ran-sc.org/r/ric-plt/submgr/pkg/rtmgr_client" rtmgrhandle "gerrit.o-ran-sc.org/r/ric-plt/submgr/pkg/rtmgr_client/handle" "gerrit.o-ran-sc.org/r/ric-plt/submgr/pkg/rtmgr_models" - "strings" - "strconv" - "errors" "gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/xapp" + "strconv" + "strings" ) type RtmgrClient struct { rtClient *rtmgrclient.RoutingManager xappHandleParams *rtmgrhandle.ProvideXappSubscriptionHandleParams + xappDeleteParams *rtmgrhandle.DeleteXappSubscriptionHandleParams } -func (rc *RtmgrClient) SubscriptionRequestUpdate() error { +func (rc *RtmgrClient) SubscriptionRequestUpdate(subRouteAction SubRouteInfo) error { xapp.Logger.Debug("SubscriptionRequestUpdate() invoked") - subRouteAction := <-SubscriptionReqChan - // Routing manager handles subscription id as int32 to accomodate -1 and uint16 values subID := int32(subRouteAction.SubID) - - xapp.Logger.Debug("Subscription action details received: ", subRouteAction) - + xapp.Logger.Debug("Subscription action details received. subRouteAction.Command: %v, Address %s, Port %v, subID %v", int16(subRouteAction.Command), subRouteAction.Address, subRouteAction.Port, subID) xappSubReq := rtmgr_models.XappSubscriptionData{&subRouteAction.Address, &subRouteAction.Port, &subID} switch subRouteAction.Command { case CREATE: _, postErr := rc.rtClient.Handle.ProvideXappSubscriptionHandle(rc.xappHandleParams.WithXappSubscriptionData(&xappSubReq)) - if postErr != nil && !(strings.Contains(postErr.Error(), "status 200")) { + if postErr != nil && !(strings.Contains(postErr.Error(), "status 200")) { xapp.Logger.Error("Updating routing manager about subscription id = %d failed with error: %v", subID, postErr) return postErr } else { xapp.Logger.Info("Succesfully updated routing manager about the subscription: %d", subID) return nil } + case DELETE: + _, _, deleteErr := rc.rtClient.Handle.DeleteXappSubscriptionHandle(rc.xappDeleteParams.WithXappSubscriptionData(&xappSubReq)) + if deleteErr != nil && !(strings.Contains(deleteErr.Error(), "status 200")) { + xapp.Logger.Error("Deleting subscription id = %d in routing manager, failed with error: %v", subID, deleteErr) + return deleteErr + } else { + xapp.Logger.Info("Succesfully deleted subscription: %d in routing manager.", subID) + return nil + } default: + xapp.Logger.Debug("Unknown subRouteAction.Command: %v, Address %s, Port %v, subID: %v", subRouteAction.Command, subRouteAction.Address, subRouteAction.Port, subID) return nil } } @@ -62,11 +69,11 @@ func (rc *RtmgrClient) SubscriptionRequestUpdate() error { func (rc *RtmgrClient) SplitSource(src string) (*string, *uint16, error) { tcpSrc := strings.Split(src, ":") if len(tcpSrc) != 2 { - err := errors.New("Unable to get the source details of the xapp. Check the source string received from the rmr.") + err := errors.New("unable to get the source details of the xapp - check the source string received from the rmr") return nil, nil, err } srcAddr := tcpSrc[0] - xapp.Logger.Info("---Debugging Inside splitsource tcpsrc[0] = %s and tcpsrc[1]= %s ", tcpSrc[0], tcpSrc[1]) + xapp.Logger.Debug("Debugging Inside splitsource tcpsrc[0] = %s and tcpsrc[1]= %s ", tcpSrc[0], tcpSrc[1]) srcPort, err := strconv.ParseUint(tcpSrc[1], 10, 16) if err != nil { return nil, nil, err