@@ -19,6 +19,7 @@ package controller
1919
2020import (
2121 "context"
22+ "fmt"
2223
2324 "github.com/go-logr/logr"
2425 corev1 "k8s.io/api/core/v1"
@@ -36,6 +37,7 @@ import (
3637 gatewayv1 "sigs.k8s.io/gateway-api/apis/v1"
3738
3839 "github.com/apache/apisix-ingress-controller/api/v1alpha1"
40+ "github.com/apache/apisix-ingress-controller/internal/controller/config"
3941 "github.com/apache/apisix-ingress-controller/internal/controller/indexer"
4042 "github.com/apache/apisix-ingress-controller/internal/controller/status"
4143 "github.com/apache/apisix-ingress-controller/internal/manager/readiness"
@@ -208,8 +210,10 @@ func (r *ConsumerReconciler) Reconcile(ctx context.Context, req ctrl.Request) (c
208210
209211 gateway , err := r .getGateway (ctx , consumer )
210212 if err != nil {
211- r .Log .Error (err , "failed to get gateway" , "consumer" , consumer )
212- statusErr = err
213+ r .Log .V (1 ).Info ("no matching Gateway available" ,
214+ "gatewayRef" , consumer .Spec .GatewayRef ,
215+ "error" , err .Error ())
216+ return ctrl.Result {}, nil
213217 }
214218
215219 rk := utils .NamespacedNameKind (consumer )
@@ -295,8 +299,17 @@ func (r *ConsumerReconciler) getGateway(ctx context.Context, consumer *v1alpha1.
295299 Name : consumer .Spec .GatewayRef .Name ,
296300 Namespace : ns ,
297301 }, gateway ); err != nil {
298- r .Log .Error (err , "failed to get gateway" , "gateway" , consumer .Spec .GatewayRef .Name )
299- return nil , err
302+ return nil , fmt .Errorf ("failed to get gateway %s/%s: %w" , ns , consumer .Spec .GatewayRef .Name , err )
303+ }
304+ gatewayClass := gatewayv1.GatewayClass {}
305+ if err := r .Get (ctx , client.ObjectKey {
306+ Name : string (gateway .Spec .GatewayClassName ),
307+ }, & gatewayClass ); err != nil {
308+ return nil , fmt .Errorf ("failed to retrieve gatewayclass for gateway: %w" , err )
309+ }
310+
311+ if string (gatewayClass .Spec .ControllerName ) != config .ControllerConfig .ControllerName {
312+ return nil , fmt .Errorf ("gateway %s/%s is not managed by this controller" , gateway .Namespace , gateway .Name )
300313 }
301314 return gateway , nil
302315}
0 commit comments