Uploaded image for project: 'VOLTHA'
  1. VOLTHA
  2. VOL-1890

Flow decomposition does not work when standby core takes over device

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Medium
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: VOLTHA v2.1
    • Labels:
    • Environment:
    • Story Points:
      2
    • Sprint:
      VOLTHA 2.1 Sprint 6

      Description

      Test:
      Start voltha. 
      Create device and push onos config. 
      Wait for AAA authentication to complete in ONOS  (with bbsim if under bbsim)
      Now after AAA completes, restart the voltha core pod which was the device owner (you can grep for "acquired-transaction") 
      After it restarts, provision the subscriber in ONOS cli with volt-add-subscriber-access. 
      Now this should result in DHCP flows to be pushed to the device. 
      But dhcp flows are not pushed and with bbsim, no transition happens to trigger dhcp. 
      The failure to push the dhcp flows is a result of this failure in the core log that took over as device owner after last core was restarted. 

      {"level":"debug","ts":"2019-08-30T17:29:40.376Z","msg":"controller-flow","instanceId":"voltha-rw-core-12-5fc4df58ff-92vzb","caller":"logical_device_agent.GetRoute:1384","ingressPortNo":16,"egressPortNo":4294967293,"logicalPortsNo":{"65536":true}}

      {"level":"debug","ts":"2019-08-30T17:29:40.376Z","msg":"ROUTE","instanceId":"voltha-rw-core-12-5fc4df58ff-92vzb","caller":"logical_device_agent.getPreCalculatedRoute:1365","len":0} {"level":"warn","ts":"2019-08-30T17:29:40.376Z","msg":"no-route","instanceId":"voltha-rw-core-12-5fc4df58ff-92vzb","caller":"logical_device_agent.getPreCalculatedRoute:1372","logicalDeviceId":"00000a6e8a40","ingress":16,"egress":65536,"stacktrace":"github.com/opencord/voltha-go/common/log.Warnw\n\t/go/src/github.com/opencord/voltha-go/common/log/log.go:679\ngithub.com/opencord/voltha-go/rw_core/core.(*LogicalDeviceAgent).getPreCalculatedRoute\n\t/go/src/github.com/opencord/voltha-go/rw_core/core/logical_device_agent.go:1372\ngithub.com/opencord/voltha-go/rw_core/core.(*LogicalDeviceAgent).GetRoute\n\t/go/src/github.com/opencord/voltha-go/rw_core/core/logical_device_agent.go:1443\ngithub.com/opencord/voltha-go/rw_core/flow_decomposition.(*FlowDecomposer).decomposeFlow\n\t/go/src/github.com/opencord/voltha-go/rw_core/flow_decomposition/flow_decomposer.go:440\ngithub.com/opencord/voltha-go/rw_core/flow_decomposition.(*FlowDecomposer).DecomposeRules\n\t/go/src/github.com/opencord/voltha-go/rw_core/flow_decomposition/flow_decomposer.go:55\ngithub.com/opencord/voltha-go/rw_core/core.(*LogicalDeviceAgent).flowAdd\n\t/go/src/github.com/opencord/voltha-go/rw_core/core/logical_device_agent.go:835\ngithub.com/opencord/voltha-go/rw_core/core.(*LogicalDeviceAgent).updateFlowTable\n\t/go/src/github.com/opencord/voltha-go/rw_core/core/logical_device_agent.go:518\ngithub.com/opencord/voltha-go/rw_core/core.(*LogicalDeviceManager).updateFlowTable\n\t/go/src/github.com/opencord/voltha-go/rw_core/core/logical_device_manager.go:471"} {"level":"error","ts":"2019-08-30T17:29:40.376Z","msg":"no-route","instanceId":"voltha-rw-core-12-5fc4df58ff-92vzb","caller":"flow_decomposer.decomposeFlow:444","comment":"deleting-flow","inPortNo":16,"outPortNo":4294967293,"stacktrace":"github.com/opencord/voltha-go/common/log.Errorw\n\t/go/src/github.com/opencord/voltha-go/common/log/log.go:700\ngithub.com/opencord/voltha-go/rw_core/flow_decomposition.(*FlowDecomposer).decomposeFlow\n\t/go/src/github.com/opencord/voltha-go/rw_core/flow_decomposition/flow_decomposer.go:444\ngithub.com/opencord/voltha-go/rw_core/flow_decomposition.(*FlowDecomposer).DecomposeRules\n\t/go/src/github.com/opencord/voltha-go/rw_core/flow_decomposition/flow_decomposer.go:55\ngithub.com/opencord/voltha-go/rw_core/core.(*LogicalDeviceAgent).flowAdd\n\t/go/src/github.com/opencord/voltha-go/rw_core/core/logical_device_agent.go:835\ngithub.com/opencord/voltha-go/rw_core/core.(*LogicalDeviceAgent).updateFlowTable\n\t/go/src/github.com/opencord/voltha-go/rw_core/core/logical_device_agent.go:518\ngithub.com/opencord/voltha-go/rw_core/core.(*LogicalDeviceManager).updateFlowTable\n\t/go/src/github.com/opencord/voltha-go/rw_core/core/logical_device_manager.go:471"} {"level":"debug","ts":"2019-08-30T17:29:40.377Z","msg":"rules","instanceId":"voltha-rw-core-12-5fc4df58ff-92vzb","caller":"logical_device_agent.flowAdd:836","rules":""} {"level":"debug","ts":"2019-08-30T17:29:40.377Z","msg":"addDeviceFlowsAndGroups","instanceId":"voltha-rw-core-12-5fc4df58ff-92vzb","caller":"logical_device_agent.addDeviceFlowsAndGroups:968","logicalDeviceID":"00000a6e8a40","deviceRules":"","flowMetadata":"meters:<flags:5 meter_id:1 bands:<type:OFPMBT_DROP rate:1000000 burst_size:1001 > bands:<type:OFPMBT_DROP rate:1002 burst_size:1003 > bands:<type:OFPMBT_DROP rate:1004 > > "}

      The above failure results in flow decomposition failing for ingress port 16 when dhcp flows are pushed on subscriber provisioning from ONOS. 
      This results in failure to decompose dhcp flows after failover. 

        Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

            Assignee:
            khenaidoo khenaidoo nursimulu (Inactive)
            Reporter:
            karthick18 Karthick Ramanarayanan
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Gerrit Reviews

                There are no open Gerrit changes