routing manager version 0.3.2 10/610/3
author1000044 <gergo.mocsi@nokia.com>
Thu, 1 Aug 2019 07:58:52 +0000 (09:58 +0200)
committer1000044 <gergo.mocsi@nokia.com>
Thu, 1 Aug 2019 08:23:29 +0000 (10:23 +0200)
- version 0.3.2 updated

Change-Id: I3c99c9d3f48d2f74ba829a53e0f9a1391ea2661b
Signed-off-by: 1000044 <gergo.mocsi@nokia.com>
Dockerfile
README.md
RELNOTES
api/routing_manager.yaml
container-tag.yaml
manifests/rtmgr/rtmgr-dep.yaml
pkg/nbi/httprestful.go
pkg/nbi/httprestful_test.go
pkg/nbi/nbi.go
pkg/rpe/rmr.go

index a78ab2e..1c68cc1 100644 (file)
@@ -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
 
index 3f132d2..fd79b22 100644 (file)
--- 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.
index f6b4e0e..92b98fa 100644 (file)
--- 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
index 8333d8b..1d88246 100644 (file)
@@ -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"
index b9299ce..db88a6c 100644 (file)
@@ -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
index 7dc475e..fc1ae3a 100644 (file)
@@ -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
index 4b936a6..035501a 100644 (file)
@@ -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())
        }
index 137e75b..ecf0c2e 100644 (file)
@@ -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)}
 
index bb0f485..1e2a8d3 100644 (file)
@@ -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())
index 41c1c4c..9cda9d9 100644 (file)
@@ -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))
                }