4242)
4343
4444const (
45- npaSocketPath = "/var/run/aws-node/npa.sock"
4645 grpcHealthServiceName = "grpc.health.v1.np-agent"
4746)
4847
@@ -160,18 +159,21 @@ func (s *server) DeletePodNp(ctx context.Context, in *rpc.DeleteNpRequest) (*rpc
160159}
161160
162161// RunRPCHandler handles request from gRPC
163- func RunRPCHandler (policyReconciler * controllers.PolicyEndpointsReconciler ) error {
162+ func RunRPCHandler (policyReconciler * controllers.PolicyEndpointsReconciler , npaSocketPath string ) ( <- chan error , error ) {
164163 log ().Infof ("Serving RPC Handler on Unix socket: %s" , npaSocketPath )
165164
166165 if _ , err := os .Stat (npaSocketPath ); err == nil {
167166 log ().Infof ("Removing stale socket file: %s" , npaSocketPath )
168- os .Remove (npaSocketPath )
167+ err = os .Remove (npaSocketPath )
168+ if err != nil {
169+ log ().Warnf ("got error in removing socket file %v" , err )
170+ }
169171 }
170172
171173 listener , err := net .Listen ("unix" , npaSocketPath )
172174 if err != nil {
173175 log ().Errorf ("Failed to listen on unix socket: %v" , err )
174- return errors .Wrap (err , "network policy agent: failed to listen on unix socket" )
176+ return nil , errors .Wrap (err , "network policy agent: failed to listen on unix socket" )
175177 }
176178 grpcServer := grpc .NewServer ()
177179 rpc .RegisterNPBackendServer (grpcServer , & server {policyReconciler : policyReconciler })
@@ -182,10 +184,13 @@ func RunRPCHandler(policyReconciler *controllers.PolicyEndpointsReconciler) erro
182184
183185 // Register reflection service on gRPC server.
184186 reflection .Register (grpcServer )
185- if err := grpcServer .Serve (listener ); err != nil {
186- log ().Errorf ("Failed to start server on gRPC port: %v" , err )
187- return errors .Wrap (err , "network policy agent: failed to start server on gPRC port" )
188- }
187+ errCh := make (chan error , 1 )
188+ go func () {
189+ if err := grpcServer .Serve (listener ); err != nil {
190+ errCh <- errors .Wrap (err , "network policy agent: grpc serve failed" )
191+ }
192+ close (errCh )
193+ }()
189194 log ().Info ("Done with RPC Handler initialization" )
190- return nil
195+ return errCh , nil
191196}
0 commit comments