From 7f67148b934179d5c23bda3e6b7ade45ad3eef21 Mon Sep 17 00:00:00 2001 From: Nathan Coleman Date: Tue, 1 Nov 2022 13:21:36 -0400 Subject: [PATCH] Return Consul resolution error when no matching service name from peer --- internal/k8s/service/resolver.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/internal/k8s/service/resolver.go b/internal/k8s/service/resolver.go index e4fe1e5af..5beaf93d4 100644 --- a/internal/k8s/service/resolver.go +++ b/internal/k8s/service/resolver.go @@ -408,6 +408,10 @@ func (r *backendResolver) findPeerService(ctx context.Context, service *apigwv1a return nil, err } + if peer == nil { + return nil, NewConsulResolutionError(fmt.Sprintf("no peer %q found", consulPeer)) + } + for _, importedService := range peer.StreamStatus.ImportedServices { if importedService == consulName { return NewConsulServiceReference(&ConsulService{ @@ -417,8 +421,7 @@ func (r *backendResolver) findPeerService(ctx context.Context, service *apigwv1a } } - // TODO Consider BackendNotFound vs. ConsulResolutionError - return nil, NewBackendNotFoundError(fmt.Sprintf("no service %s found on peer %s", consulName, consulPeer)) + return nil, NewConsulResolutionError(fmt.Sprintf("no service %s found from peer %s", consulName, consulPeer)) } func (r *backendResolver) findCatalogService(service *apigwv1alpha1.MeshService) (*ResolvedReference, error) {