From: pwpmurthy Date: Mon, 24 Apr 2023 18:59:29 +0000 (+0000) Subject: RmrSendToXapp modified to use policyTypeId as subid - needed for a1/xapp communicatio... X-Git-Tag: 3.1.1~7 X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=commitdiff_plain;h=8733d506cb1980871edcfe99da8fc09bf99d6d60;p=ric-plt%2Fa1.git RmrSendToXapp modified to use policyTypeId as subid - needed for a1/xapp communication. Default subid is kept as -1 same as previous defaults. Signed-off-by: pwpmurthy A1 and x-App interaction Change-Id: I08369499b83e670e2507502f2a8f4de49605615e Signed-off-by: pwpmurthy --- diff --git a/pkg/resthooks/resthooks.go b/pkg/resthooks/resthooks.go index 49df6f4..79e52fa 100644 --- a/pkg/resthooks/resthooks.go +++ b/pkg/resthooks/resthooks.go @@ -396,7 +396,7 @@ func (rh *Resthook) CreatePolicyInstance(policyTypeId models.PolicyTypeID, polic a1.Logger.Error("error : %v", err) return err } - isSent := rh.iRmrSenderInst.RmrSendToXapp(rmrMessage, a1PolicyRequest) + isSent := rh.iRmrSenderInst.RmrSendToXapp(rmrMessage, a1PolicyRequest, int(policyTypeId)) if isSent { a1.Logger.Debug("rmrSendToXapp : message sent") } else { @@ -713,7 +713,7 @@ func (rh *Resthook) DeletePolicyInstance(policyTypeId models.PolicyTypeID, polic a1.Logger.Error("error : %v", err1) return err1 } - isSent := rh.iRmrSenderInst.RmrSendToXapp(rmrMessage, a1PolicyRequest) + isSent := rh.iRmrSenderInst.RmrSendToXapp(rmrMessage, a1PolicyRequest, int(policyTypeId)) if isSent { a1.Logger.Debug("rmrSendToXapp : message sent") } else { @@ -734,7 +734,7 @@ func (rh *Resthook) DataDelivery(httpBody interface{}) error { return err } a1.Logger.Debug("rmrSendToXapp :rmrMessage %+v", rmrMessage) - isSent := rh.iRmrSenderInst.RmrSendToXapp(rmrMessage, a1EIDataDelivery) + isSent := rh.iRmrSenderInst.RmrSendToXapp(rmrMessage, a1EIDataDelivery, rmr.DefaultSubId) if isSent { a1.Logger.Debug("rmrSendToXapp : message sent") } else { diff --git a/pkg/resthooks/resthooks_test.go b/pkg/resthooks/resthooks_test.go index 01d11e7..11afe47 100644 --- a/pkg/resthooks/resthooks_test.go +++ b/pkg/resthooks/resthooks_test.go @@ -155,7 +155,7 @@ func TestCreatePolicyTypeInstance(t *testing.T) { a1.Logger.Debug("metadatainstancekey : %+v", metadatainstancekey) metadatainstancearr := []interface{}{metadatainstancekey, string(metadata)} sdlInst.On("Set", "A1m_ns", metadatainstancearr).Return(nil) - rmrSenderInst.On("RmrSendToXapp", "httpBodyString", 20010).Return(true) + rmrSenderInst.On("RmrSendToXapp", "httpBodyString", 20010, int(policyTypeId)).Return(true) errresp := rh.CreatePolicyInstance(policyTypeId, policyInstanceID, instancedata) @@ -303,7 +303,7 @@ func TestDeletePolicyInstance(t *testing.T) { httpBodyString := `{"operation":"DELETE","payload":"","policy_instance_id":"123456","policy_type_id":"20001"}` - rmrSenderInst.On("RmrSendToXapp", httpBodyString, 20010).Return(true) + rmrSenderInst.On("RmrSendToXapp", httpBodyString, 20010, int(policyTypeId)).Return(true) errresp := rh.DeletePolicyInstance(policyTypeId, policyInstanceID) @@ -322,7 +322,7 @@ func TestDataDelivery(t *testing.T) { json.Unmarshal([]byte(httpBody), &instancedata) a1.Logger.Debug("Marshaled data : %+v", (instancedata)) httpBodyString := `{"ei_job_id":"1","payload":"payload"}` - rmrSenderInst.On("RmrSendToXapp", httpBodyString, 20017).Return(true) + rmrSenderInst.On("RmrSendToXapp", httpBodyString, 20017, -1).Return(true) errresp := rh.DataDelivery(instancedata) assert.Nil(t, errresp) @@ -412,12 +412,12 @@ func (s *SdlMock) SetIf(ns string, key string, oldData, newData interface{}) (bo return args.Bool(0), args.Error(1) } -func (rmr *RmrSenderMock) RmrSendToXapp(httpBodyString string, mtype int) bool { +func (rmr *RmrSenderMock) RmrSendToXapp(httpBodyString string, mtype int, subid int) bool { if httpBodyString == `{"blocking_rate":20,"enforce":true,"trigger_threshold":10,"window_length":20}` { - args := rmr.MethodCalled("RmrSendToXapp", httpBodyString, mtype) + args := rmr.MethodCalled("RmrSendToXapp", httpBodyString, mtype, subid) return args.Bool(0) } else if httpBodyString == `{"ei_job_id":"1","payload":"payload"}` { - args := rmr.MethodCalled("RmrSendToXapp", httpBodyString, mtype) + args := rmr.MethodCalled("RmrSendToXapp", httpBodyString, mtype, subid) return args.Bool(0) } return true diff --git a/pkg/rmr/rmr.go b/pkg/rmr/rmr.go index c0366af..4f4aa41 100644 --- a/pkg/rmr/rmr.go +++ b/pkg/rmr/rmr.go @@ -44,6 +44,7 @@ const ( a1EiQueryAllResp = 20014 a1EiCreateJobResp = 20016 jobCreationData = `{"ei_job_id": %s.}` + DefaultSubId = -1 ) type RmrSender struct { @@ -52,7 +53,7 @@ type RmrSender struct { } type IRmrSender interface { - RmrSendToXapp(httpBodyString string, messagetype int) bool + RmrSendToXapp(httpBodyString string, messagetype int, subid int) bool } func NewRMRSender(policyManager *policy.PolicyManager) IRmrSender { @@ -99,11 +100,11 @@ func (rmr *RmrSender) GetRicMessageName(id int) (s string) { return } -func (rmr *RmrSender) RmrSendToXapp(httpBodyString string, messagetype int) bool { +func (rmr *RmrSender) RmrSendToXapp(httpBodyString string, messagetype int, subid int) bool { params := &xapp.RMRParams{} params.Mtype = messagetype - params.SubId = -1 + params.SubId = subid params.Xid = "" params.Meid = &xapp.RMRMeid{} params.Src = a1SourceName @@ -164,7 +165,7 @@ func (rmr *RmrSender) Consume(msg *xapp.RMRParams) (err error) { return err1 } a1.Logger.Debug("rmrMessage ", rmrMessage) - isSent := rmr.RmrSendToXapp(rmrMessage, a1PolicyRequest) + isSent := rmr.RmrSendToXapp(rmrMessage, a1PolicyRequest, int(policytypeid)) if isSent { a1.Logger.Debug("rmrSendToXapp : message sent") } else { @@ -192,7 +193,7 @@ func (rmr *RmrSender) Consume(msg *xapp.RMRParams) (err error) { a1.Logger.Debug("response : %+v", string(respByte)) - isSent := rmr.RmrSendToXapp(string(respByte), a1EiQueryAllResp) + isSent := rmr.RmrSendToXapp(string(respByte), a1EiQueryAllResp, DefaultSubId) if isSent { a1.Logger.Debug("rmrSendToXapp : message sent") } else { @@ -241,7 +242,7 @@ func (rmr *RmrSender) Consume(msg *xapp.RMRParams) (err error) { rmrData := fmt.Sprintf(jobCreationData, jobIdStr) a1.Logger.Debug("rmr_Data to send: ", rmrData) - isSent := rmr.RmrSendToXapp(rmrData, a1EiCreateJobResp) + isSent := rmr.RmrSendToXapp(rmrData, a1EiCreateJobResp, DefaultSubId) if isSent { a1.Logger.Debug("rmrSendToXapp : message sent") } else {