[VOL-4442] grpc streaming connection monitoring
Change-Id: I6b26a29c74be8833e7262eb59d266e6cce66f0c3
diff --git a/rw_core/core/adapter/agent.go b/rw_core/core/adapter/agent.go
index d030e72..e7c3d2b 100644
--- a/rw_core/core/adapter/agent.go
+++ b/rw_core/core/adapter/agent.go
@@ -25,8 +25,6 @@
vgrpc "github.com/opencord/voltha-lib-go/v7/pkg/grpc"
"github.com/opencord/voltha-lib-go/v7/pkg/log"
"github.com/opencord/voltha-protos/v5/go/adapter_service"
- "github.com/opencord/voltha-protos/v5/go/common"
- "github.com/opencord/voltha-protos/v5/go/health"
"github.com/opencord/voltha-protos/v5/go/voltha"
"google.golang.org/grpc"
)
@@ -43,13 +41,11 @@
coreEndpoint string
}
-func setAndTestAdapterServiceHandler(ctx context.Context, conn *grpc.ClientConn, clientConn *common.Connection) interface{} {
- svc := adapter_service.NewAdapterServiceClient(conn)
- if h, err := svc.GetHealthStatus(ctx, clientConn); err != nil || h.State != health.HealthStatus_HEALTHY {
- logger.Debugw(ctx, "remote-connection-not-ready", log.Fields{"error": err, "health": h, "requester": clientConn, "target": conn.Target()})
+func getAdapterServiceClientHandler(ctx context.Context, conn *grpc.ClientConn) interface{} {
+ if conn == nil {
return nil
}
- return svc
+ return adapter_service.NewAdapterServiceClient(conn)
}
func newAdapterAgent(coreEndpoint string, adapter *voltha.Adapter, onAdapterRestart vgrpc.RestartedHandler, liveProbeInterval time.Duration) *agent {
@@ -68,6 +64,7 @@
if aa.vClient, err = vgrpc.NewClient(
aa.coreEndpoint,
aa.adapterAPIEndPoint,
+ "adapter_service.AdapterService",
aa.onAdapterRestart); err != nil {
return err
}
@@ -75,12 +72,13 @@
// Add a liveness communication update
aa.vClient.SubscribeForLiveness(aa.updateCommunicationTime)
- go aa.vClient.Start(ctx, setAndTestAdapterServiceHandler)
+ go aa.vClient.Start(ctx, getAdapterServiceClientHandler)
return nil
}
func (aa *agent) stop(ctx context.Context) {
// Close the client
+ logger.Infow(ctx, "stopping-adapter-agent", log.Fields{"adapter": aa.adapter})
if aa.vClient != nil {
aa.vClient.Stop(ctx)
}