-
Type: Bug
-
Status: Resolved (View Workflow)
-
Priority: Medium
-
Resolution: Done
-
Affects Version/s: None
-
Fix Version/s: VOLTHA v2.6
-
Component/s: onos-olt, openonu-adapter
-
Labels:None
-
Story Points:5
OpenONU is listed as component as this was only observed when using that adapter
we observer ONOS creating multiple Meters for the same BandwidthProfile:
default/onos-onos-classic-1[onos-classic]: 10:39:49.569 DEBUG [OltMeterService] Creating meter on of:00000a0a0a0a0a00 for BandwidthProfileInformation{id=Default, committedInformationRate=600, committedBurstSize=30, exceededInformationRate=400, exceededBurstSize=30, assuredInformationRate=100000} default/onos-onos-classic-1[onos-classic]: 10:39:49.705 INFO [OltMeterService] Meter 1 created and sent for installation on of:00000a0a0a0a0a00 for BandwidthProfileInformation{id=Default, committedInformationRate=600, committedBurstSize=30, exceededInformationRate=400, exceededBurstSize=30, assuredInformationRate=100000} default/onos-onos-classic-1[onos-classic]: 10:40:52.018 ERROR [OltMeterService] Failed installing meter 1 on of:00000a0a0a0a0a00 for Default default/onos-onos-classic-1[onos-classic]: 10:40:52.045 DEBUG [OltMeterService] Creating meter on of:00000a0a0a0a0a00 for BandwidthProfileInformation{id=Default, committedInformationRate=600, committedBurstSize=30, exceededInformationRate=400, exceededBurstSize=30, assuredInformationRate=100000} default/onos-onos-classic-1[onos-classic]: 10:40:52.091 INFO [OltMeterService] Meter 2 created and sent for installation on of:00000a0a0a0a0a00 for BandwidthProfileInformation{id=Default, committedInformationRate=600, committedBurstSize=30, exceededInformationRate=400, exceededBurstSize=30, assuredInformationRate=100000} default/onos-onos-classic-1[onos-classic]: 10:40:52.100 DEBUG [OltMeterService] Creating meter on of:00000a0a0a0a0a00 for BandwidthProfileInformation{id=Default, committedInformationRate=600, committedBurstSize=30, exceededInformationRate=400, exceededBurstSize=30, assuredInformationRate=100000} default/onos-onos-classic-1[onos-classic]: 10:40:52.145 INFO [OltMeterService] Meter 3 created and sent for installation on of:00000a0a0a0a0a00 for BandwidthProfileInformation{id=Default, committedInformationRate=600, committedBurstSize=30, exceededInformationRate=400, exceededBurstSize=30, assuredInformationRate=100000} default/onos-onos-classic-1[onos-classic]: 10:40:52.157 DEBUG [OltMeterService] Creating meter on of:00000a0a0a0a0a00 for BandwidthProfileInformation{id=Default, committedInformationRate=600, committedBurstSize=30, exceededInformationRate=400, exceededBurstSize=30, assuredInformationRate=100000} default/onos-onos-classic-1[onos-classic]: 10:40:52.203 DEBUG [OltMeterService] Meter 2 is installed on the device of:00000a0a0a0a0a00 default/onos-onos-classic-1[onos-classic]: 10:40:52.239 INFO [OltMeterService] Meter 4 created and sent for installation on of:00000a0a0a0a0a00 for BandwidthProfileInformation{id=Default, committedInformationRate=600, committedBurstSize=30, exceededInformationRate=400, exceededBurstSize=30, assuredInformationRate=100000} default/onos-onos-classic-1[onos-classic]: 10:40:52.246 DEBUG [OltMeterService] Meter 3 is installed on the device of:00000a0a0a0a0a00 default/onos-onos-classic-1[onos-classic]: 10:40:52.254 DEBUG [OltFlowService] Meter 2 was previously created for bp Default default/onos-onos-classic-1[onos-classic]: 10:40:52.275 DEBUG [OltFlowService] Meter 2 was previously created for bp Default default/onos-onos-classic-1[onos-classic]: 10:40:52.280 DEBUG [OltFlowService] Meter 2 was previously created for bp Default default/onos-onos-classic-1[onos-classic]: 10:40:52.369 DEBUG [OltMeterService] Meter 4 is installed on the device of:00000a0a0a0a0a00
(full ONOS logs attached)
It's also worth noticing that Meter 1 failed installation.
default/onos-onos-classic-1[onos-classic]: 10:40:52.018 ERROR [OltMeterService] Failed installing meter 1 on of:00000a0a0a0a0a00 for Default
Another thing wort noticing is that even if Meter2 is installed (according to ONOS) voltha-rw-core complains it can't find it:
default/voltha-voltha-rw-core-79bd6d8f7b-x5t4f[voltha]: {"level":"error","ts":"2020-11-04T10:40:52.808Z","caller":"device/logical_agent_flow.go:86","msg":"flow-decompose-and-add-failed ","instanceId":"voltha-voltha-rw-core-79bd6d8f7b-x5t4f","op-id":"55daefc0aa77b080","op-name":"openflow-flow-add","task-id":"56f2c68f779bd782","task-name":"/voltha.VolthaService/UpdateLogicalDeviceFlowTable","flowMod":"cookie:3377700042797725 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:57856 > > 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:1151514404601200640 > > instructions:<type:6 meter:<meter_id:2 > > ","err":"Meter-referred-by-flow-is-not-found-in-logicaldevice.MeterId-2","stacktrace":"github.com/opencord/voltha-lib-go/v4/pkg/log.clogger.Errorw\n\t/go/src/vendor/github.com/opencord/voltha-lib-go/v4/pkg/log/log.go:611\ngithub.com/opencord/voltha-go/rw_core/core/device.(*LogicalAgent).flowAdd\n\t/go/src/rw_core/core/device/logical_agent_flow.go:86\ngithub.com/opencord/voltha-go/rw_core/core/device.(*LogicalAgent).updateFlowTable\n\t/go/src/rw_core/core/device/logical_agent_flow.go:58\ngithub.com/opencord/voltha-go/rw_core/core/device.(*LogicalManager).UpdateLogicalDeviceFlowTable\n\t/go/src/rw_core/core/device/logical_manager.go:452\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:3547\ngithub.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1.1\n\t/go/src/vendor/github.com/grpc-ecosystem/go-grpc-middleware/chain.go:31\ngithub.com/opencord/voltha-lib-go/v4/pkg/grpc.mkServerInterceptor.func1\n\t/go/src/vendor/github.com/opencord/voltha-lib-go/v4/pkg/grpc/server.go:155\ngithub.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1.1\n\t/go/src/vendor/github.com/grpc-ecosystem/go-grpc-middleware/chain.go:34\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:30\ngithub.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1\n\t/go/src/vendor/github.com/grpc-ecosystem/go-grpc-middleware/chain.go:39\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:3549\ngoogle.golang.org/grpc.(*Server).processUnaryRPC\n\t/go/src/vendor/google.golang.org/grpc/server.go:995\ngoogle.golang.org/grpc.(*Server).handleStream\n\t/go/src/vendor/google.golang.org/grpc/server.go:1275\ngoogle.golang.org/grpc.(*Server).serveStreams.func1.1\n\t/go/src/vendor/google.golang.org/grpc/server.go:710"}