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

OLT app removes meter if flows are in PENDING_ADD for too long

    XMLWordPrintable

    Details

      Description

      When running the "Reconcile In Initial-Mib-Downloaded" test with grpc images the following behavior is observed:

      • the "openonu" adapter is restart as soon as the MIB is downloaded
      • ONOS generates the default EAPOL flow and sends it for installation
        default/voltha-infra-onos-classic-0[onos-classic]: 18:08:34.437 INFO [Olt] eapol will be added updated for of:00000a0a0a0a0a0a/16[BBSM000a0001-1] with default vlan 4091 default/voltha-infra-onos-classic-0[onos-classic]: 18:08:34.437 INFO [OltFlowService] Processing EAPOL with Bandwidth profile Default on of:00000a0a0a0a0a0a/16[BBSM000a0001-1] default/voltha-infra-onos-classic-0[onos-classic]: 18:08:34.437 WARN [SegmentRoutingManager] Device configuration uploading. Not handling port event fordev: of:00000a0a0a0a0a0a port: 16 default/voltha-infra-onos-classic-0[onos-classic]: 18:08:34.440 WARN [OltMeterService] Bandwidth Profile 'Default' is not currently mapped to a meter default/voltha-infra-onos-classic-0[onos-classic]: 18:08:34.441 INFO [OltFlowService] Meter id null for Bandwidth profile Default and OLT meter id null for OLT Bandwidth profile Optional.empty associated to EAPOL on of:00000a0a0a0a0a0a default/voltha-infra-onos-classic-0[onos-classic]: 18:08:34.445 WARN [OltMeterService] Bandwidth Profile 'Default' is not currently mapped to a meter default/voltha-infra-onos-classic-0[onos-classic]: 18:08:34.449 INFO [OltMeterService] Meter 4 created and sent for installation on of:00000a0a0a0a0a0a for BandwidthProfileInformation{id=Default, committedInformationRate=600, committedBurstSize=30, exceededInformationRate=400, exceededBurstSize=30, assuredInformationRate=100000, guaranteedInformationRate=0} default/voltha-infra-onos-classic-0[onos-classic]: 18:08:34.450 INFO [AccessDeviceKafkaIntegration] Got AccessDeviceEvent: UNI_ADDED default/voltha-infra-onos-classic-0[onos-classic]: 18:08:38.644 INFO [OltFlowService] Meter 4 for Default on of:00000a0a0a0a0a0a/16[BBSM000a0001-1] exists. Installing EAPOL trap flow
        
      • the flow fails installation as the adapter is not back online yet
        default/voltha-voltha-rw-core-85848bdf49-9zm5j[voltha]: {"level":"debug","ts":"2021-09-21T18:08:38.666Z","caller":"device/logical_agent_flow.go:77","msg":"flow-add","instanceId":"voltha-voltha-rw-core-85848bdf49-9zm5j","op-id":"04bb47d032db1335","op-name":"openflow-flow-add","task-id":"08247052384207ab","task-name":"/voltha.VolthaService/UpdateLogicalDeviceFlowTable","flow":"cookie:48695173472515854 priority:10000 buffer_id:4294967295 out_port:4294967295 out_group:4294967295 flags:1 match:<type:OFPMT_OXM oxm_fields:<oxm_class:OFPXMC_OPENFLOW_BASIC ofb_field:<port:16 > > oxm_fields:<oxm_class:OFPXMC_OPENFLOW_BASIC ofb_field:<type:OFPXMT_OFB_ETH_TYPE eth_type:34958 > > > instructions:<type:4 actions:<actions:<output:<port:4294967293 > > actions:<type:OFPAT_PUSH_VLAN push:<ethertype:33024 > > actions:<type:OFPAT_SET_FIELD set_field:<field:<oxm_class:OFPXMC_OPENFLOW_BASIC ofb_field:<type:OFPXMT_OFB_VLAN_VID vlan_vid:8187 > > > > > > instructions:<type:2 write_metadata:<metadata:1151514404601200644 > > instructions:<type:6 meter:<meter_id:4 > > "}
        
        default/voltha-voltha-rw-core-85848bdf49-9zm5j[voltha]: {"level":"warn","ts":"2021-09-21T18:08:38.667Z","caller":"device/logical_agent_flow.go:165","msg":"adapters-not-ready","instanceId":"voltha-voltha-rw-core-85848bdf49-9zm5j","task-id":"08247052384207ab","task-name":"/voltha.VolthaService/UpdateLogicalDeviceFlowTable","op-id":"04bb47d032db1335","op-name":"openflow-flow-add","logical-device-id":"1dca633a-013a-4161-8540-6ba1f0d64d9c","flow-id":6539849231002613198,"error":"rpc error: code = Unavailable desc = adapter-not-ready-for-0102c7df-1fbc-47ab-870c-b2ce00d8888a","stacktrace":"github.com/opencord/voltha-go/rw_core/core/device.(*LogicalAgent).decomposeAndAdd\n\t/go/src/rw_core/core/device/logical_agent_flow.go:165\ngithub.com/opencord/voltha-go/rw_core/core/device.(*LogicalAgent).flowAdd\n\t/go/src/rw_core/core/device/logical_agent_flow.go:88\ngithub.com/opencord/voltha-go/rw_core/core/device.(*LogicalAgent).updateFlowTable\n\t/go/src/rw_core/core/device/logical_agent_flow.go:60\ngithub.com/opencord/voltha-go/rw_core/core/device.(*LogicalManager).UpdateLogicalDeviceFlowTable\n\t/go/src/rw_core/core/device/logical_manager.go:493\ngithub.com/opencord/voltha-protos/v4/go/voltha._VolthaService_UpdateLogicalDeviceFlowTable_Handler.func1\n\t/go/src/vendor/github.com/opencord/voltha-protos/v4/go/voltha/voltha.pb.go:4074\ngithub.com/opencord/voltha-lib-go/v6/pkg/grpc.mkServerInterceptor.func1\n\t/go/src/vendor/github.com/opencord/voltha-lib-go/v6/pkg/grpc/server.go:158\ngithub.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1.1.1\n\t/go/src/vendor/github.com/grpc-ecosystem/go-grpc-middleware/chain.go:25\ngithub.com/grpc-ecosystem/go-grpc-middleware/tracing/opentracing.UnaryServerInterceptor.func1\n\t/go/src/vendor/github.com/grpc-ecosystem/go-grpc-middleware/tracing/opentracing/server_interceptors.go:38\ngithub.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1.1.1\n\t/go/src/vendor/github.com/grpc-ecosystem/go-grpc-middleware/chain.go:25\ngithub.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1\n\t/go/src/vendor/github.com/grpc-ecosystem/go-grpc-middleware/chain.go:34\ngithub.com/opencord/voltha-protos/v4/go/voltha._VolthaService_UpdateLogicalDeviceFlowTable_Handler\n\t/go/src/vendor/github.com/opencord/voltha-protos/v4/go/voltha/voltha.pb.go:4076\ngoogle.golang.org/grpc.(*Server).processUnaryRPC\n\t/go/src/vendor/google.golang.org/grpc/server.go:1007\ngoogle.golang.org/grpc.(*Server).handleStream\n\t/go/src/vendor/google.golang.org/grpc/server.go:1287\ngoogle.golang.org/grpc.(*Server).serveStreams.func1.1\n\t/go/src/vendor/google.golang.org/grpc/server.go:722"}
        
      • the flow is never acknowledged to ONOS thus we get "Zero Count Meter Event" for that meter and we remove it
        default/voltha-infra-onos-classic-0[onos-classic]: 18:08:48.739 INFO  [OltMeterService] Zero Count Meter Event is received. Meter is 4 on of:00000a0a0a0a0a0a
        default/voltha-infra-onos-classic-0[onos-classic]: 18:08:58.841 INFO  [OltMeterService] Zero Count Meter Event is received. Meter is 4 on of:00000a0a0a0a0a0a
        default/voltha-infra-onos-classic-0[onos-classic]: 18:08:58.843 INFO  [OltMeterService] Deleting unreferenced, no longer programmed Meter 4 on of:00000a0a0a0a0a0a
        default/voltha-infra-onos-classic-0[onos-classic]: 18:08:58.852 INFO  [OltMeterService] Meter Removed Event is received for 4 on of:00000a0a0a0a0a0a
        

        because of this the flow will never be installed.

      Why this is happening now?
      I believe the difference is that with the Kafka based images the flows were considered installed as soon as the message was put on the bus, thus the meter was never removed

       

       

       

        Attachments

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

          Activity

            People

            Assignee:
            Unassigned
            Reporter:
            teone Matteo Scandolo
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Gerrit Reviews

                There are no open Gerrit changes