-
Type: Bug
-
Status: Resolved (View Workflow)
-
Priority: Medium
-
Resolution: Done
-
Affects Version/s: None
-
Fix Version/s: VOLTHA v2.1
-
Component/s: Deprecated - VOLTHA
-
Labels:
-
Environment:
kind-voltha
-
Story Points:3
-
Sprint:VOLTHA 2.1 Sprint 5
During EAPOL authentication, the EAPOL Identity Reply packet from the RG is dropped by the rw-core with the following error:
{"level":"error","ts":"2019-08-15T15:51:42.839Z","msg":"failed-to-send-packet","instanceId":"voltha-rw-core-11-6dcdc85d4c-bswjt","caller":"grpc_nbi_api_handler.ReceivePacketsIn:827","error":"rpc error: code = Internal desc = transport: transport: the stream is done or WriteHeader was already called","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/core.(*APIHandler).ReceivePacketsIn\n\t/go/src/github.com/opencord/voltha-go/rw_core/core/grpc_nbi_api_handler.go:827\ngithub.com/opencord/voltha-go/vendor/github.com/opencord/voltha-protos/go/voltha._VolthaService_ReceivePacketsIn_Handler\n\t/go/src/github.com/opencord/voltha-go/vendor/github.com/opencord/voltha-protos/go/voltha/voltha.pb.go:3822\ngithub.com/opencord/voltha-go/vendor/google.golang.org/grpc.(*Server).processStreamingRPC\n\t/go/src/github.com/opencord/voltha-go/vendor/google.golang.org/grpc/server.go:1175\ngithub.com/opencord/voltha-go/vendor/google.golang.org/grpc.(*Server).handleStream\n\t/go/src/github.com/opencord/voltha-go/vendor/google.golang.org/grpc/server.go:1254\ngithub.com/opencord/voltha-go/vendor/google.golang.org/grpc.(*Server).serveStreams.func1.1\n\t/go/src/github.com/opencord/voltha-go/vendor/google.golang.org/grpc/server.go:690"}
The first packet-in (for the EAPOL Start packet) works but the second one fails. As a result the auth process gets stuck in STARTED state.
We observe this behavior about 30-40% of the time in our Jenkins test that uses kind-voltha and BBSim. The results from the test job, triggered hourly, are here:
https://jenkins.opencord.org/view/VOLTHA-2.X-Tests/job/voltha-go-e2e-tests/
The tests are using a fork of kind-voltha (andybavier/kind-voltha). The main difference between this fork and ciena/kind-voltha is that the fork automatically loads a working SADIS config for BBSim.
TYPE=minimal WITH_RADIUS=y WITH_TP=no WITH_BBSIM=y ./voltha up
# | Subject | Branch | Project | Status | CR | V |
---|---|---|---|---|---|---|
14970,2 | using custom image to test VOL-1859 | master | ci-management | Status: MERGED | +2 | +1 |
14976,3 | VOL-1859 : If streaming calls: ReceivePacketsIn/ChangeEvents are received multiple times from ofagent while it tries to subscribe to the cores, just retain the most recent one and exit the last receiver whose stream won't be valid. Just retain one receiver for streaming packetins/changeevents in order to avoid packet drops. Also removing useless debug logs Change-Id: I18950a2970044e341912b0b71243206c8488c3b7 | master | voltha-go | Status: MERGED | +2 | +1 |