[VOL-4514]  Addressing device reconciliation failure

This commit consists of augmention the current GetHeathStatus()
API on the grpc server with the grpc client information.  This
provides the grpc server with more insights of the grpc client
connection status.  This is useful for a server to know whether it
is more likely to receive a response following a request from a
remote server, represented by the grpc client(s).  For now this is
used by the openonu adapter to figure out when it can send an
OMCI request to the openolt adapter following a restart of the
onu adapter.

Change-Id: I0c117c0002b83606b95d7269e6f53d21941e4ba5
diff --git a/go/olt_inter_adapter_service/olt_inter_adapter_service.pb.go b/go/olt_inter_adapter_service/olt_inter_adapter_service.pb.go
index 569dfda..d958a65 100644
--- a/go/olt_inter_adapter_service/olt_inter_adapter_service.pb.go
+++ b/go/olt_inter_adapter_service/olt_inter_adapter_service.pb.go
@@ -8,6 +8,7 @@
 	fmt "fmt"
 	proto "github.com/golang/protobuf/proto"
 	empty "github.com/golang/protobuf/ptypes/empty"
+	common "github.com/opencord/voltha-protos/v5/go/common"
 	health "github.com/opencord/voltha-protos/v5/go/health"
 	inter_adapter "github.com/opencord/voltha-protos/v5/go/inter_adapter"
 	grpc "google.golang.org/grpc"
@@ -32,26 +33,27 @@
 }
 
 var fileDescriptor_3ddb40a5aae0f6e1 = []byte{
-	// 299 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x92, 0xbd, 0x4e, 0xc3, 0x30,
-	0x10, 0xc7, 0x05, 0x03, 0x83, 0x17, 0x90, 0x85, 0x2a, 0x61, 0x58, 0x18, 0x19, 0x6a, 0x23, 0x10,
-	0x33, 0x6a, 0x05, 0x94, 0x0e, 0xa8, 0x15, 0x45, 0x0c, 0x2c, 0x95, 0xeb, 0x5e, 0x9d, 0x48, 0x6e,
-	0x2e, 0xd8, 0x97, 0x40, 0xdf, 0x82, 0x91, 0xc7, 0x45, 0x89, 0x93, 0x21, 0xa8, 0x99, 0x3c, 0xdc,
-	0xef, 0xff, 0xa1, 0x3b, 0xb3, 0x61, 0x89, 0x8e, 0x12, 0xbd, 0xcc, 0x3d, 0x12, 0x06, 0x85, 0x8e,
-	0x96, 0x69, 0x46, 0xe0, 0x97, 0x7a, 0xad, 0xf3, 0xea, 0x0d, 0xe0, 0xcb, 0xd4, 0x80, 0xac, 0x01,
-	0x7e, 0xd6, 0x0b, 0x88, 0x73, 0x8b, 0x68, 0x1d, 0xa8, 0x1a, 0x5c, 0x15, 0x1b, 0x05, 0xdb, 0x9c,
-	0x76, 0x51, 0x27, 0x2e, 0xbb, 0x31, 0x1d, 0x87, 0x06, 0x11, 0x5d, 0x24, 0x01, 0xed, 0x28, 0x89,
-	0xb3, 0x9b, 0xdf, 0x43, 0x36, 0x98, 0x39, 0x9a, 0x56, 0xb2, 0x51, 0x54, 0x2d, 0x62, 0x2c, 0xbf,
-	0x67, 0xc7, 0x13, 0xa0, 0xe7, 0x9a, 0x5e, 0x90, 0xa6, 0x22, 0xf0, 0x81, 0x8c, 0x55, 0x64, 0x5b,
-	0x45, 0x3e, 0x56, 0x55, 0xc4, 0xa9, 0x6c, 0x4c, 0x3b, 0xf4, 0x13, 0x3b, 0x99, 0x7b, 0xfc, 0xde,
-	0xcd, 0xb6, 0x26, 0x7d, 0x85, 0xcf, 0x02, 0x02, 0x71, 0x21, 0xbb, 0x0d, 0xab, 0xd9, 0x0b, 0x84,
-	0xa0, 0x2d, 0x88, 0x1e, 0x77, 0x5e, 0xb0, 0xc1, 0x04, 0xe8, 0x0d, 0x4c, 0x32, 0xf7, 0xb8, 0x49,
-	0x1d, 0x4c, 0xb3, 0x40, 0x3a, 0x33, 0xc0, 0xaf, 0xff, 0xb9, 0xed, 0x61, 0x9a, 0xe0, 0x36, 0xe3,
-	0xaa, 0x5f, 0xf1, 0x80, 0x5f, 0x99, 0x43, 0xbd, 0x6e, 0xd0, 0xf1, 0xcf, 0x01, 0x1b, 0xa2, 0xb7,
-	0x12, 0x73, 0xc8, 0x0c, 0xfa, 0xb5, 0x8c, 0x6b, 0x94, 0xbd, 0x87, 0x1a, 0x5f, 0xbc, 0xd7, 0xc4,
-	0xfe, 0x7d, 0x7e, 0x8c, 0x6c, 0x4a, 0x49, 0xb1, 0x92, 0x06, 0xb7, 0xaa, 0xf5, 0x54, 0xd1, 0x73,
-	0xd8, 0x9c, 0xa6, 0xbc, 0x53, 0x16, 0xfb, 0xbf, 0xca, 0xea, 0xa8, 0xe6, 0x6e, 0xff, 0x02, 0x00,
-	0x00, 0xff, 0xff, 0x96, 0x1f, 0x38, 0xd3, 0x5c, 0x02, 0x00, 0x00,
+	// 316 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x92, 0xbf, 0x4e, 0xc3, 0x30,
+	0x10, 0x87, 0x05, 0x03, 0x43, 0x16, 0x90, 0x85, 0x2a, 0x11, 0x58, 0x18, 0x19, 0xea, 0x20, 0x10,
+	0x13, 0x53, 0xcb, 0x9f, 0xd2, 0x01, 0xb5, 0xa2, 0x88, 0x81, 0xa5, 0x72, 0xdd, 0xab, 0x63, 0xc9,
+	0xf1, 0x05, 0xfb, 0x52, 0xe8, 0x5b, 0x30, 0xf0, 0xc0, 0x28, 0xb1, 0x3b, 0xa4, 0x6a, 0xa6, 0x28,
+	0xba, 0xef, 0xf7, 0xf9, 0xee, 0xec, 0xa4, 0xbf, 0x46, 0x43, 0xb9, 0x98, 0x97, 0x0e, 0x09, 0x7d,
+	0x86, 0x86, 0xe6, 0xda, 0x12, 0xb8, 0xb9, 0x58, 0x8a, 0xb2, 0xfe, 0x7a, 0x70, 0x6b, 0x2d, 0x81,
+	0x37, 0x00, 0x3b, 0xeb, 0x04, 0xd2, 0xb4, 0x6d, 0x92, 0x58, 0x14, 0x68, 0x43, 0x2c, 0x3d, 0x57,
+	0x88, 0xca, 0x40, 0xd6, 0xfc, 0x2d, 0xaa, 0x55, 0x06, 0x45, 0x49, 0x9b, 0x58, 0xbc, 0x6c, 0x07,
+	0x5b, 0xf6, 0x88, 0xec, 0xb8, 0x73, 0x10, 0x86, 0xf2, 0x50, 0xbb, 0xf9, 0x3b, 0x4c, 0x7a, 0x13,
+	0x43, 0xe3, 0x3a, 0x36, 0x08, 0xa9, 0x59, 0x68, 0x89, 0xdd, 0x27, 0xc7, 0x23, 0xa0, 0x97, 0x86,
+	0x9e, 0x91, 0xa0, 0xca, 0x33, 0xc6, 0x63, 0x63, 0x0f, 0x68, 0x2d, 0x48, 0xd2, 0x68, 0xd3, 0x53,
+	0x1e, 0x85, 0x2d, 0xf2, 0x39, 0x39, 0x99, 0x3a, 0xfc, 0xd9, 0x4c, 0x0a, 0xa9, 0xdf, 0xe0, 0xab,
+	0x02, 0x4f, 0x2c, 0xe5, 0xed, 0xee, 0xea, 0xda, 0x2b, 0x78, 0x2f, 0x14, 0xa4, 0x3d, 0x1e, 0x86,
+	0xe4, 0xdb, 0x21, 0xf9, 0x53, 0x3d, 0x24, 0xab, 0x92, 0xde, 0x08, 0xe8, 0x1d, 0x64, 0x3e, 0x75,
+	0xb8, 0xd2, 0x06, 0xc6, 0xd6, 0x93, 0xb0, 0x12, 0xd8, 0xf5, 0x8e, 0x6d, 0x0f, 0x13, 0x0f, 0xde,
+	0x9e, 0x71, 0xd5, 0x9d, 0x78, 0xc4, 0x6f, 0x6b, 0x50, 0x2c, 0x23, 0x3a, 0xfc, 0x3d, 0x48, 0xfa,
+	0xe8, 0x14, 0xc7, 0x12, 0xac, 0x44, 0xb7, 0xe4, 0x61, 0x85, 0xbc, 0xf3, 0x02, 0x87, 0x17, 0x1f,
+	0x0d, 0xb1, 0x7f, 0x97, 0x9f, 0x03, 0xa5, 0x29, 0xaf, 0x16, 0xf5, 0xfa, 0xb2, 0xad, 0x33, 0x0b,
+	0xce, 0x7e, 0xbc, 0x96, 0xf5, 0x5d, 0xa6, 0xb0, 0xfb, 0x09, 0x2d, 0x8e, 0x1a, 0xee, 0xf6, 0x3f,
+	0x00, 0x00, 0xff, 0xff, 0x7c, 0x06, 0x94, 0x70, 0x74, 0x02, 0x00, 0x00,
 }
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -68,7 +70,7 @@
 type OltInterAdapterServiceClient interface {
 	// GetHealthStatus is used by an OltInterAdapterService client to verify connectivity
 	// to the gRPC server hosting the OltInterAdapterService service
-	GetHealthStatus(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*health.HealthStatus, error)
+	GetHealthStatus(ctx context.Context, in *common.Connection, opts ...grpc.CallOption) (*health.HealthStatus, error)
 	ProxyOmciRequest(ctx context.Context, in *inter_adapter.OmciMessage, opts ...grpc.CallOption) (*empty.Empty, error)
 	GetTechProfileInstance(ctx context.Context, in *inter_adapter.TechProfileInstanceRequestMessage, opts ...grpc.CallOption) (*inter_adapter.TechProfileDownloadMessage, error)
 }
@@ -81,7 +83,7 @@
 	return &oltInterAdapterServiceClient{cc}
 }
 
-func (c *oltInterAdapterServiceClient) GetHealthStatus(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*health.HealthStatus, error) {
+func (c *oltInterAdapterServiceClient) GetHealthStatus(ctx context.Context, in *common.Connection, opts ...grpc.CallOption) (*health.HealthStatus, error) {
 	out := new(health.HealthStatus)
 	err := c.cc.Invoke(ctx, "/olt_inter_adapter_service.OltInterAdapterService/GetHealthStatus", in, out, opts...)
 	if err != nil {
@@ -112,7 +114,7 @@
 type OltInterAdapterServiceServer interface {
 	// GetHealthStatus is used by an OltInterAdapterService client to verify connectivity
 	// to the gRPC server hosting the OltInterAdapterService service
-	GetHealthStatus(context.Context, *empty.Empty) (*health.HealthStatus, error)
+	GetHealthStatus(context.Context, *common.Connection) (*health.HealthStatus, error)
 	ProxyOmciRequest(context.Context, *inter_adapter.OmciMessage) (*empty.Empty, error)
 	GetTechProfileInstance(context.Context, *inter_adapter.TechProfileInstanceRequestMessage) (*inter_adapter.TechProfileDownloadMessage, error)
 }
@@ -121,7 +123,7 @@
 type UnimplementedOltInterAdapterServiceServer struct {
 }
 
-func (*UnimplementedOltInterAdapterServiceServer) GetHealthStatus(ctx context.Context, req *empty.Empty) (*health.HealthStatus, error) {
+func (*UnimplementedOltInterAdapterServiceServer) GetHealthStatus(ctx context.Context, req *common.Connection) (*health.HealthStatus, error) {
 	return nil, status.Errorf(codes.Unimplemented, "method GetHealthStatus not implemented")
 }
 func (*UnimplementedOltInterAdapterServiceServer) ProxyOmciRequest(ctx context.Context, req *inter_adapter.OmciMessage) (*empty.Empty, error) {
@@ -136,7 +138,7 @@
 }
 
 func _OltInterAdapterService_GetHealthStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
-	in := new(empty.Empty)
+	in := new(common.Connection)
 	if err := dec(in); err != nil {
 		return nil, err
 	}
@@ -148,7 +150,7 @@
 		FullMethod: "/olt_inter_adapter_service.OltInterAdapterService/GetHealthStatus",
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(OltInterAdapterServiceServer).GetHealthStatus(ctx, req.(*empty.Empty))
+		return srv.(OltInterAdapterServiceServer).GetHealthStatus(ctx, req.(*common.Connection))
 	}
 	return interceptor(ctx, in, info, handler)
 }