From: 1000044 Date: Thu, 1 Aug 2019 07:58:52 +0000 (+0200) Subject: routing manager version 0.3.2 X-Git-Tag: 0.3.9~14 X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=commitdiff_plain;h=e90dddabfdb89ff8cd7ed52dba4849efd2d8edf9;p=ric-plt%2Frtmgr.git routing manager version 0.3.2 - version 0.3.2 updated Change-Id: I3c99c9d3f48d2f74ba829a53e0f9a1391ea2661b Signed-off-by: 1000044 --- diff --git a/Dockerfile b/Dockerfile index a78ab2e..1c68cc1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -34,11 +34,11 @@ COPY . /go/src/routing-manager WORKDIR /go/src/routing-manager RUN git clone "https://gerrit.o-ran-sc.org/r/ric-plt/appmgr" \ - && cp appmgr/api/appmgr_rest_api.json api/ \ + && cp appmgr/api/appmgr_rest_api.yaml api/ \ && rm -rf appmgr RUN swagger generate server -f api/routing_manager.yaml -t pkg/ --exclude-main -r LICENSE -RUN swagger generate client -f api/appmgr_rest_api.json -t pkg/ -m appmgr_model -c appmgr_client -r LICENSE +RUN swagger generate client -f api/appmgr_rest_api.yaml -t pkg/ -m appmgr_model -c appmgr_client -r LICENSE RUN glide install --strip-vendor diff --git a/README.md b/README.md index 3f132d2..fd79b22 100644 --- a/README.md +++ b/README.md @@ -83,6 +83,12 @@ glide install --strip-vendor go build cmd/rtmgr.go ``` +**NOTE:** before doing a docker build it is advised to remove any generated files and vendor packages: +```bash +# assuming that you stand in project root dir +rm -rf appmgr vendor pkg/appmgr_* pkg/models pkg/restapi +``` + ### Installing Routing Manager #### Preparing environment Tag the `rtmgr` container according to the project release and push it to a registry accessible from all minions of the Kubernetes cluster. diff --git a/RELNOTES b/RELNOTES index f6b4e0e..92b98fa 100644 --- a/RELNOTES +++ b/RELNOTES @@ -1,3 +1,11 @@ +### v0.3.2 +* Minor code changes due to appmgr/rtmgr api differences +* Doc update +* UT fixes + +### v0.3.1 +* Removed "rte" route types and made all routes to construct of "mse" literal. + ### v0.3.0 * Introduced platform-specific routes: basic components (e2term, ueman, subman, e2man) are stored in a json file (example in manifests/rtmgr/rtmgr-cfg.yaml) * Introduced subscription add functionality: /ric/v1/xapp-subscriptions endpoint is active, on a POST method it generates endpoint specific mse routing table entries diff --git a/api/routing_manager.yaml b/api/routing_manager.yaml index 8333d8b..1d88246 100644 --- a/api/routing_manager.yaml +++ b/api/routing_manager.yaml @@ -29,7 +29,7 @@ info: name: "Apache 2.0" url: "http://www.apache.org/licenses/LICENSE-2.0.html" host: "rtmgr" -basePath: "/v1" +basePath: "/ric/v1" tags: - name: "handle" description: "Available handles" @@ -143,10 +143,10 @@ definitions: format: "int64" event: type: "string" - data-version: + version: type: "integer" format: "int64" - data: + xApps: type: "string" #This should be a JSON object, array of xapps xapp-subscription-data: type: "object" diff --git a/container-tag.yaml b/container-tag.yaml index b9299ce..db88a6c 100644 --- a/container-tag.yaml +++ b/container-tag.yaml @@ -2,4 +2,4 @@ # By default this file is in the docker build directory, # but the location can configured in the JJB template. --- -tag: 0.3.1 +tag: 0.3.2 diff --git a/manifests/rtmgr/rtmgr-dep.yaml b/manifests/rtmgr/rtmgr-dep.yaml index 7dc475e..fc1ae3a 100644 --- a/manifests/rtmgr/rtmgr-dep.yaml +++ b/manifests/rtmgr/rtmgr-dep.yaml @@ -52,7 +52,7 @@ spec: - name: NBI value: "httpRESTful" - name: NBIURL - value: "http://0.0.0.0:8888" + value: "http://rtmgr:8888" - name: CFGFILE value: "/cfg/rtmgr-config.json" - name: LOGLEVEL diff --git a/pkg/nbi/httprestful.go b/pkg/nbi/httprestful.go index 4b936a6..035501a 100644 --- a/pkg/nbi/httprestful.go +++ b/pkg/nbi/httprestful.go @@ -77,7 +77,7 @@ func recvXappCallbackData(dataChannel <-chan *models.XappCallbackData) (*[]rtmgr } if nil != xappData { var xapps []rtmgr.XApp - err := json.Unmarshal([]byte(xappData.Data), &xapps) + err := json.Unmarshal([]byte(xappData.XApps), &xapps) return &xapps, err } else { rtmgr.Logger.Info("No data") @@ -89,11 +89,11 @@ func recvXappCallbackData(dataChannel <-chan *models.XappCallbackData) (*[]rtmgr } func validateXappCallbackData(callbackData *models.XappCallbackData) error { - if len(callbackData.Data) == 0 { - return fmt.Errorf("Invalid Data field: \"%s\"", callbackData.Data) + if len(callbackData.XApps) == 0 { + return fmt.Errorf("Invalid Data field: \"%s\"", callbackData.XApps) } var xapps []rtmgr.XApp - err := json.Unmarshal([]byte(callbackData.Data), &xapps) + err := json.Unmarshal([]byte(callbackData.XApps), &xapps) if err != nil { return fmt.Errorf("Unmarshal failed: \"%s\"", err.Error()) } diff --git a/pkg/nbi/httprestful_test.go b/pkg/nbi/httprestful_test.go index 137e75b..ecf0c2e 100644 --- a/pkg/nbi/httprestful_test.go +++ b/pkg/nbi/httprestful_test.go @@ -96,8 +96,8 @@ func createMockPlatformComponents() { func TestRecvXappCallbackData(t *testing.T) { data := models.XappCallbackData { - Data: *swag.String("[]"), - DataVersion: *swag.Int64(1), + XApps: *swag.String("[]"), + Version: *swag.Int64(1), Event: *swag.String("any"), ID: *swag.Int64(123456), } @@ -124,8 +124,8 @@ func TestProvideXappHandleHandlerImpl(t *testing.T) { datach := make(chan *models.XappCallbackData, 10) defer close(datach) data := models.XappCallbackData{ - Data: *swag.String("[]"), - DataVersion: *swag.Int64(1), + XApps: *swag.String("[]"), + Version: *swag.Int64(1), Event: *swag.String("someevent"), ID: *swag.Int64(123456)} var httpRestful, _ = GetNbi("httpRESTful") @@ -146,8 +146,8 @@ func TestProvideXappHandleHandlerImpl(t *testing.T) { func TestValidateXappCallbackData(t *testing.T) { data := models.XappCallbackData{ - Data: *swag.String("[]"), - DataVersion: *swag.Int64(1), + XApps: *swag.String("[]"), + Version: *swag.Int64(1), Event: *swag.String("someevent"), ID: *swag.Int64(123456)} @@ -159,8 +159,8 @@ func TestValidateXappCallbackData(t *testing.T) { func TestValidateXappCallbackDataWithInvalidData(t *testing.T) { data := models.XappCallbackData{ - Data: *swag.String("{}"), - DataVersion: *swag.Int64(1), + XApps: *swag.String("{}"), + Version: *swag.Int64(1), Event: *swag.String("someevent"), ID: *swag.Int64(123456)} diff --git a/pkg/nbi/nbi.go b/pkg/nbi/nbi.go index bb0f485..1e2a8d3 100644 --- a/pkg/nbi/nbi.go +++ b/pkg/nbi/nbi.go @@ -98,7 +98,7 @@ func PostSubReq(xmUrl string, nbiif string) error { client := apiclient.New(transport, strfmt.Default) addSubParams := operations.NewAddSubscriptionParamsWithTimeout(10 * time.Second) // create sub req with rest url and port - subReq := CreateSubReq(nbiifUrl.Hostname(), nbiifUrl.Port()) + subReq := CreateSubReq(string(nbiifUrl.Scheme+"://"+nbiifUrl.Hostname()), nbiifUrl.Port()) resp, postErr := client.Operations.AddSubscription(addSubParams.WithSubscriptionRequest(subReq)) if postErr != nil { rtmgr.Logger.Error("POST unsuccessful:"+postErr.Error()) diff --git a/pkg/rpe/rmr.go b/pkg/rpe/rmr.go index 41c1c4c..9cda9d9 100644 --- a/pkg/rpe/rmr.go +++ b/pkg/rpe/rmr.go @@ -59,13 +59,7 @@ func (r *Rmr) generateRMRPolicies(eps rtmgr.Endpoints, key string) *[]string { rawrt := []string{key + "newrt|start\n"} rt := r.getRouteTable(eps) for _, rte := range *rt { - rawrte := key //+ "rte|" + rte.MessageType - if rte.SubID == -1 { - rawrte += "rte|" - } else { - rawrte += "mse|" - } - rawrte += rte.MessageType + rawrte := key + "mse|" + rte.MessageType for _, tx := range rte.TxList { rawrte += "," + tx.Ip + ":" + strconv.Itoa(int(tx.Port)) }