-
Type: Bug
-
Status: Resolved (View Workflow)
-
Priority: Low
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: VOLTHA v2.2
-
Component/s: bbsim
-
Labels:
-
Story Points:3
-
Epic Link:
The current implementation in the bbsim for the olt-reboot is that once the reboot request is received, bbsim goes ahead and stops the grpc server ( and obviously performs cleaning action), and then tries to send the rpc response back (which is not possible as tranport is already closed). As a result we see the following error in the adapter:
{"level":"error","ts":"2019-09-12T11:32:15.639Z","msg":"Failed-to-reboot-olt ","instanceID":"d9e62ee4f530","caller":"device_handler.DeleteDevice:1156","err":"rpc error: code = Unavailable desc = transport is closing","stacktrace":"github.com/opencord/voltha-openolt-adapter/vendor/github.com/opencord/voltha-go/common/log.Errorw\n\t/go/src/github.com/opencord/voltha-openolt-a dapter/vendor/github.com/opencord/voltha-go/common/log/log.go:700\ngithub.com/opencord/voltha-openolt-adapter/adaptercore.(*DeviceHandler).DeleteDevice\n\t/go/src/github.com/opencord/volth a-openolt-adapter/adaptercore/device_handler.go:1156\ngithub.com/opencord/voltha-openolt-adapter/adaptercore.(*OpenOLT).Delete_device\n\t/go/src/github.com/opencord/voltha-openolt-adapter/ adaptercore/openolt.go:245\ngithub.com/opencord/voltha-openolt-adapter/vendor/github.com/opencord/voltha-go/adapters/common.(*RequestHandlerProxy).Delete_device\n\t/go/src/github.com/openc ord/voltha-openolt-adapter/vendor/github.com/opencord/voltha-go/adapters/common/request_handler.go:296\nreflect.Value.call\n\t/usr/local/go/src/reflect/value.go:447\nreflect.Value.Call\n\t /usr/local/go/src/reflect/value.go:308\ngithub.com/opencord/voltha-openolt-adapter/vendor/github.com/opencord/voltha-go/kafka.CallFuncByName\n\t/go/src/github.com/opencord/voltha-openolt-a dapter/vendor/github.com/opencord/voltha-go/kafka/kafka_inter_container_library.go:598\ngithub.com/opencord/voltha-openolt-adapter/vendor/github.com/opencord/voltha-go/kafka.(*InterContain erProxy).handleMessage\n\t/go/src/github.com/opencord/voltha-openolt-adapter/vendor/github.com/opencord/voltha-go/kafka/kafka_inter_container_library.go:657"}
A possible solution to this may be the RPC "Reboot" should return immediately with the success response, and in the background it should perform the grpc server stop action.
# | Subject | Branch | Project | Status | CR | V |
---|---|---|---|---|---|---|
16213,2 | [VOL-1914] Responding to Reboot call before shutting down the gRPC server | master | bbsim | Status: MERGED | +2 | +1 |
16631,3 | [VOL-1914] Correctly rebooting the OLT | master | bbsim | Status: MERGED | +2 | +1 |