Skip to content

Commit 55fd711

Browse files
zirainjukie
authored andcommitted
fix: use default when namespace is unset (envoyproxy#7612)
* fix: use default when namespace is unset Signed-off-by: zirain <[email protected]> * fix Signed-off-by: zirain <[email protected]> * fix test Signed-off-by: zirain <[email protected]> --------- Signed-off-by: zirain <[email protected]> Signed-off-by: jukie <[email protected]>
1 parent 8c5be88 commit 55fd711

File tree

3 files changed

+8
-5
lines changed

3 files changed

+8
-5
lines changed

internal/provider/kubernetes/controller.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2444,8 +2444,10 @@ func (r *gatewayAPIReconciler) processGatewayClassParamsRef(ctx context.Context,
24442444
}
24452445

24462446
ep := new(egv1a1.EnvoyProxy)
2447-
if err := r.client.Get(ctx, types.NamespacedName{Namespace: string(*gc.Spec.ParametersRef.Namespace), Name: gc.Spec.ParametersRef.Name}, ep); err != nil {
2448-
return fmt.Errorf("failed to find envoyproxy %s/%s: %w", r.namespace, gc.Spec.ParametersRef.Name, err)
2447+
ns := ptr.Deref(gc.Spec.ParametersRef.Namespace, "default")
2448+
nn := types.NamespacedName{Namespace: string(ns), Name: gc.Spec.ParametersRef.Name}
2449+
if err := r.client.Get(ctx, nn, ep); err != nil {
2450+
return fmt.Errorf("failed to find envoyproxy %s/%s for GatewayClass %s: %w", nn.Namespace, nn.Name, gc.Name, err)
24492451
}
24502452

24512453
// Check for incompatible configuration: both MergeGateways and GatewayNamespaceMode enabled

internal/provider/kubernetes/helpers.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212
corev1 "k8s.io/api/core/v1"
1313
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1414
"k8s.io/apimachinery/pkg/types"
15+
"k8s.io/utils/ptr"
1516
"sigs.k8s.io/controller-runtime/pkg/client"
1617
gwapiv1 "sigs.k8s.io/gateway-api/apis/v1"
1718
mcsapiv1a1 "sigs.k8s.io/mcs-api/pkg/apis/v1alpha1"
@@ -170,8 +171,9 @@ func classRefsEnvoyProxy(gc *gwapiv1.GatewayClass, ep *egv1a1.EnvoyProxy) bool {
170171
return false
171172
}
172173

174+
ns := ptr.Deref(gc.Spec.ParametersRef.Namespace, "default")
173175
return refsEnvoyProxy(gc) &&
174-
string(*gc.Spec.ParametersRef.Namespace) == ep.Namespace &&
176+
string(ns) == ep.Namespace &&
175177
gc.Spec.ParametersRef.Name == ep.Name
176178
}
177179

@@ -184,7 +186,6 @@ func refsEnvoyProxy(gc *gwapiv1.GatewayClass) bool {
184186
return gc.Spec.ParametersRef != nil &&
185187
string(gc.Spec.ParametersRef.Group) == egv1a1.GroupVersion.Group &&
186188
gc.Spec.ParametersRef.Kind == egv1a1.KindEnvoyProxy &&
187-
gc.Spec.ParametersRef.Namespace != nil &&
188189
len(gc.Spec.ParametersRef.Name) > 0
189190
}
190191

internal/provider/kubernetes/helpers_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -326,7 +326,7 @@ func TestRefsEnvoyProxy(t *testing.T) {
326326
},
327327
},
328328
},
329-
expect: false,
329+
expect: true,
330330
},
331331
}
332332

0 commit comments

Comments
 (0)