diff --git a/pkg/client/client.go b/pkg/client/client.go index 3138b8923..3e80f49e3 100644 --- a/pkg/client/client.go +++ b/pkg/client/client.go @@ -592,13 +592,19 @@ func (c *Client) ServiceInfo(ctx context.Context, id string, callOptions ...grpc ) if err != nil { - return + return services, err } var filtered interface{} filtered, err = FilterMessages(resp, err) resp, _ = filtered.(*machineapi.ServiceListResponse) //nolint: errcheck + // FilterMessages might remove responses if they actually contain errors, + // errors will be merged into `resp`. + if resp == nil { + return services, err + } + for _, resp := range resp.Messages { for _, svc := range resp.Services { if svc.Id == id { @@ -610,7 +616,7 @@ func (c *Client) ServiceInfo(ctx context.Context, id string, callOptions ...grpc } } - return + return services, err } // ServiceStart starts a service.