-
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