X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=pkg%2Fnbi%2Fnbi.go;h=ddbf34739ba0839eddcb48a4ee29af5558b62f6c;hb=04f29bf264dc8d336756cda9499d85d197a487f7;hp=cee3374686004e10855dcff66906c2e4d73a53a5;hpb=eb2ff0d217caf158dd15424bf70f8aa79c3742b1;p=ric-plt%2Frtmgr.git diff --git a/pkg/nbi/nbi.go b/pkg/nbi/nbi.go index cee3374..ddbf347 100644 --- a/pkg/nbi/nbi.go +++ b/pkg/nbi/nbi.go @@ -14,6 +14,11 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + + + This source code is part of the near-RT RIC (RAN Intelligent Controller) + platform project (RICP). + ================================================================================== */ /* @@ -26,27 +31,28 @@ package nbi import ( "errors" - httptransport "github.com/go-openapi/runtime/client" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" "net/url" apiclient "routing-manager/pkg/appmgr_client" "routing-manager/pkg/appmgr_client/operations" "routing-manager/pkg/appmgr_model" - "routing-manager/pkg/rtmgr" "time" + + "gerrit.o-ran-sc.org/r/ric-plt/xapp-frame/pkg/xapp" + httptransport "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" ) var ( - SupportedNbis = []*NbiEngineConfig{ - &NbiEngineConfig{ + SupportedNbis = []*EngineConfig{ + { Name: "httpGetter", Version: "v1", Protocol: "http", Instance: NewHttpGetter(), IsAvailable: true, }, - &NbiEngineConfig{ + { Name: "httpRESTful", Version: "v1", Protocol: "http", @@ -59,7 +65,7 @@ var ( type Nbi struct { } -func GetNbi(nbiName string) (NbiEngine, error) { +func GetNbi(nbiName string) (Engine, error) { for _, nbi := range SupportedNbis { if nbi.Name == nbiName && nbi.IsAvailable { return nbi.Instance, nil @@ -69,14 +75,18 @@ func GetNbi(nbiName string) (NbiEngine, error) { } func CreateSubReq(restUrl string, restPort string) *appmgr_model.SubscriptionRequest { - // TODO: parametize function - subReq := appmgr_model.SubscriptionRequest{ + // TODO: parameterize function + subData := appmgr_model.SubscriptionData{ TargetURL: swag.String(restUrl + ":" + restPort + "/ric/v1/handles/xapp-handle/"), - EventType: swag.String("all"), + EventType: appmgr_model.EventTypeAll, MaxRetries: swag.Int64(5), RetryTimer: swag.Int64(10), } + subReq := appmgr_model.SubscriptionRequest{ + Data: &subData, + } + return &subReq } @@ -84,26 +94,26 @@ func PostSubReq(xmUrl string, nbiif string) error { // setting up POST request to Xapp Manager appmgrUrl, err := url.Parse(xmUrl) if err != nil { - rtmgr.Logger.Error("Invalid XApp manager url/hostname: " + err.Error()) + xapp.Logger.Error("Invalid XApp manager url/hostname: " + err.Error()) return err } nbiifUrl, err := url.Parse(nbiif) if err != nil { - rtmgr.Logger.Error("Invalid NBI address/port: " + err.Error()) + xapp.Logger.Error("Invalid NBI address/port: " + err.Error()) return err } transport := httptransport.New(appmgrUrl.Hostname()+":"+appmgrUrl.Port(), "/ric/v1", []string{"http"}) client := apiclient.New(transport, strfmt.Default) addSubParams := operations.NewAddSubscriptionParamsWithTimeout(10 * time.Second) // create sub req with rest url and port - subReq := CreateSubReq(string(nbiifUrl.Scheme+"://"+nbiifUrl.Hostname()), nbiifUrl.Port()) + subReq := CreateSubReq(nbiifUrl.Scheme+"://"+nbiifUrl.Hostname(), nbiifUrl.Port()) resp, postErr := client.Operations.AddSubscription(addSubParams.WithSubscriptionRequest(subReq)) if postErr != nil { - rtmgr.Logger.Error("POST unsuccessful:" + postErr.Error()) + xapp.Logger.Error("POST unsuccessful:" + postErr.Error()) return postErr } else { // TODO: use the received ID - rtmgr.Logger.Info("POST received: " + string(resp.Payload.ID)) + xapp.Logger.Info("POST received: " + string(resp.Payload.ID)) return nil } }