77 "slices"
88 "sort"
99
10+ "github.com/go-logr/logr"
1011 discoveryV1 "k8s.io/api/discovery/v1"
1112 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1213 "k8s.io/apimachinery/pkg/types"
@@ -32,6 +33,7 @@ const (
3233// BuildConfiguration builds the Configuration from the Graph.
3334func BuildConfiguration (
3435 ctx context.Context ,
36+ logger logr.Logger ,
3537 g * graph.Graph ,
3638 gateway * graph.Gateway ,
3739 serviceResolver resolver.ServiceResolver ,
@@ -55,6 +57,7 @@ func BuildConfiguration(
5557 backendGroups := buildBackendGroups (append (httpServers , sslServers ... ))
5658 upstreams := buildUpstreams (
5759 ctx ,
60+ logger ,
5861 gateway ,
5962 serviceResolver ,
6063 g .ReferencedServices ,
@@ -71,9 +74,14 @@ func BuildConfiguration(
7174 SSLServers : sslServers ,
7275 TLSPassthroughServers : buildPassthroughServers (gateway ),
7376 Upstreams : upstreams ,
74- StreamUpstreams : buildStreamUpstreams (ctx , gateway , serviceResolver , baseHTTPConfig .IPFamily ),
75- BackendGroups : backendGroups ,
76- SSLKeyPairs : buildSSLKeyPairs (g .ReferencedSecrets , gateway .Listeners ),
77+ StreamUpstreams : buildStreamUpstreams (
78+ ctx ,
79+ logger ,
80+ gateway ,
81+ serviceResolver ,
82+ baseHTTPConfig .IPFamily ),
83+ BackendGroups : backendGroups ,
84+ SSLKeyPairs : buildSSLKeyPairs (g .ReferencedSecrets , gateway .Listeners ),
7785 CertBundles : buildCertBundles (
7886 buildRefCertificateBundles (g .ReferencedSecrets , g .ReferencedCaCertConfigMaps ),
7987 backendGroups ,
@@ -163,6 +171,7 @@ func buildPassthroughServers(gateway *graph.Gateway) []Layer4VirtualServer {
163171// buildStreamUpstreams builds all stream upstreams.
164172func buildStreamUpstreams (
165173 ctx context.Context ,
174+ logger logr.Logger ,
166175 gateway * graph.Gateway ,
167176 serviceResolver resolver.ServiceResolver ,
168177 ipFamily IPFamilyType ,
@@ -202,7 +211,13 @@ func buildStreamUpstreams(
202211
203212 allowedAddressType := getAllowedAddressType (ipFamily )
204213
205- eps , err := serviceResolver .Resolve (ctx , br .SvcNsName , br .ServicePort , allowedAddressType )
214+ eps , err := serviceResolver .Resolve (
215+ ctx ,
216+ logger ,
217+ br .SvcNsName ,
218+ br .ServicePort ,
219+ allowedAddressType ,
220+ )
206221 if err != nil {
207222 errMsg = err .Error ()
208223 }
@@ -670,6 +685,7 @@ func (hpr *hostPathRules) maxServerCount() int {
670685
671686func buildUpstreams (
672687 ctx context.Context ,
688+ logger logr.Logger ,
673689 gateway * graph.Gateway ,
674690 svcResolver resolver.ServiceResolver ,
675691 referencedServices map [types.NamespacedName ]* graph.ReferencedService ,
@@ -701,6 +717,7 @@ func buildUpstreams(
701717 for _ , br := range rule .BackendRefs {
702718 if upstream := buildUpstream (
703719 ctx ,
720+ logger ,
704721 br ,
705722 gateway ,
706723 svcResolver ,
@@ -735,6 +752,7 @@ func buildUpstreams(
735752
736753func buildUpstream (
737754 ctx context.Context ,
755+ logger logr.Logger ,
738756 br graph.BackendRef ,
739757 gateway * graph.Gateway ,
740758 svcResolver resolver.ServiceResolver ,
@@ -760,9 +778,10 @@ func buildUpstream(
760778
761779 var errMsg string
762780
763- eps , err := svcResolver .Resolve (ctx , br .SvcNsName , br .ServicePort , allowedAddressType )
781+ eps , err := svcResolver .Resolve (ctx , logger , br .SvcNsName , br .ServicePort , allowedAddressType )
764782 if err != nil {
765783 errMsg = err .Error ()
784+ logger .Error (err , "failed to resolve endpoints" , "service" , br .SvcNsName )
766785 }
767786
768787 var upstreamPolicies []policies.Policy
0 commit comments