Uploaded image for project: 'Near Realtime RAN Intelligent Controller'
  1. Near Realtime RAN Intelligent Controller
  2. RIC-1017

xapp-frame may not be able to successfully subscribe to messages

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Medium Medium
    • None
    • None
    • xapp-frame
    • None

      In the xapp-frame , the app registration is started in a goroutine as follows -

      func RunWithParams(c MessageConsumer, sdlcheck bool) {
              ... 
              go registerXapp()
      
              Rmr.Start(c)
      }
        

      It may so happen that XappReadyCb  is called before the {{registerXapp}} is successful. Ideally the registration should happen well before any subscriptions are sent otherwise the route corresponding to these subscriptions cannot be added by rtmgr. appmgr tells the rtmgr about the registered apps and when submgr sends a route add request for the rtmgr for a given XApp, if this app end point is not known by the rtmgr the route addition fails.

      Some logs inside submgr look like the following -

      CRESTSubscriptionRequest
        SubscriptionID = ''
        ClientEndpoint.Host = service-ricxapp-kpimon-go-http.ricxapp
        ClientEndpoint.HTTPPort = 8080
        ClientEndpoint.RMRPort = 4560
        Meid = gnb_734_373_16b8cef1
        E2SubscriptionDirectives = nil
        RANFunctionID = 2
        SubscriptionDetail.XappEventInstanceID = 1
        SubscriptionDetail.EventTriggers = [8 39 15]
        SubscriptionDetail.ActionToBeSetup.ActionID = 1
        SubscriptionDetail.ActionToBeSetup.ActionType = report
        SubscriptionDetail.ActionToBeSetup.ActionDefinition = [0 1 3 64 0 29 0 160 68 82 66 46 85 69 67 113 105 68 108 0 0 16 0 0 0 80 68 82 66 46 85 69 67 113 105 85 108 0 0 16 0 0 0 80 68 82 66 46 85 69 84 104 112 68 108 0 0 16 0 0 0 80 68 82 66 46 85 69 84 104 112 85 108 0 0 16 0 0 0 200 81 111 115 70 108 111 119 46 84 111 116 80 100 99 112 80 100 117 86 111 108 117 109 101 68 108 0 0 16 0 0 0 96 82 82 85 46 80 114 98 85 115 101 100 68 108 0 0 16 0 0 0 96 82 82 85 46 80 114 98 85 115 101 100 85 108 0 0 16 0 0 0 80 84 66 46 84 111 116 78 98 114 68 108 0 0 16 0 0 0 80 84 66 46 84 111 116 78 98 114 85 108 0 0 16 0 0 0 96 86 105 97 118 105 46 67 101 108 108 46 105 100 0 0 16 0 0 0 80 86 105 97 118 105 46 71 101 111 46 120 0 0 16 0 0 0 80 86 105 97 118 105 46 71 101 111 46 121 0 0 16 0 0 0 80 86 105 97 118 105 46 71 101 111 46 122 0 0 16 0 0 0 96 86 105 97 118 105 46 81 111 83 46 53 113 105 0 0 16 0 0 0 120 86 105 97 118 105 46 81 111 83 46 67 101 108 108 73 100 0 0 16 0 0 0 112 86 105 97 118 105 46 81 111 83 46 68 114 98 73 100 0 0 16 0 0 0 104 86 105 97 118 105 46 81 111 83 46 71 102 98 114 0 0 16 0 0 0 104 86 105 97 118 105 46 83 108 105 99 101 46 105 100 0 0 16 0 0 0 112 86 105 97 118 105 46 85 69 46 66 101 97 109 73 100 0 0 16 0 0 0 128 86 105 97 118 105 46 85 69 46 70 114 97 109 101 67 110 116 0 0 16 0 0 0 112 86 105 97 118 105 46 85 69 46 82 115 83 105 110 114 0 0 16 0 0 0 96 86 105 97 118 105 46 85 69 46 82 115 114 112 0 0 16 0 0 0 96 86 105 97 118 105 46 85 69 46 82 115 114 113 0 0 16 0 0 0 112 86 105 97 118 105 46 85 69 46 84 99 82 110 116 105 0 0 16 0 0 0 136 86 105 97 118 105 46 85 69 46 97 110 111 109 97 108 105 101 115 0 0 16 0 0 0 80 86 105 97 118 105 46 85 69 46 105 100 0 0 16 0 0 0 184 86 105 97 118 105 46 85 69 46 115 101 114 118 105 110 103 68 105 115 116 97 110 99 101 0 0 16 0 0 0 104 86 105 97 118 105 46 85 69 46 115 112 101 101 100 0 0 16 0 0 0 208 86 105 97 118 105 46 85 69 46 116 97 114 103 101 116 84 104 114 111 117 103 104 112 117 116 68 108 0 0 16 0 0 0 208 86 105 97 118 105 46 85 69 46 116 97 114 103 101 116 84 104 114 111 117 103 104 112 117 116 85 108 0 0 16 0 0 32 39 15]
        SubscriptionDetail.ActionToBeSetup.SubsequentAction.SubsequentActionType = continue
        SubscriptionDetail.ActionToBeSetup..SubsequentAction.TimeToWait = w10ms
      {"ts":1695799224777,"crit":"ERROR","id":"submgr","mdc":{"CONTAINER_NAME":"","HOST_NAME":"","PID":"1","POD_NAME":"","SERVICE_NAME":"","SYSTEM_NAME":"","time":"2023-09-27T07:20:24"},"msg":"CREATE routeinfo(1/[service-ricxapp-kpimon-go-rmr.ricxapp:4560]) failed with error: [POST /handles/xapp-subscription-handle][400] provideXappSubscriptionHandleBadRequest "}
      {"ts":1695799224777,"crit":"ERROR","id":"submgr","mdc":{"CONTAINER_NAME":"","HOST_NAME":"","PID":"1","POD_NAME":"","SERVICE_NAME":"","SYSTEM_NAME":"","time":"2023-09-27T07:20:24"},"msg":"XAPP-SubReq Assign error: transxapp(trans(0/meid(RanName=gnb_734_373_16b8cef1))/transkey(service-ricxapp-kpimon-go-rmr.ricxapp:4560/2VyD3BHGbvC4DSK0NmymP11XMme)/0) err(RTMGR route create failure)"}
       

      https://jira.o-ran-sc.org/browse/RICAPP-219  The root cause for the issue is this particular issue.

      A long term solution will involve understanding the interactions between various platform components and then arriving at a fix at the framework implementation.

      This problem is not seen by hw-go because hw-go does not deregister during the Xapp shutdown. Hence the app 'remains' registered after the first time the App is started.

        # Subject Branch Project Status CR V

            anpuhakk Antti Puhakka
            gabhijit Abhijit Gadgil
            Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: