gateway-api: upgrade from v0.7.1 to v1.0.0

This commit is contained in:
Andy Bursavich 2023-11-03 11:05:51 -07:00
parent 7f3c10d652
commit 5da9393b58
5 changed files with 65 additions and 96 deletions

View File

@ -27,7 +27,6 @@ import (
"sigs.k8s.io/external-dns/endpoint" "sigs.k8s.io/external-dns/endpoint"
v1 "sigs.k8s.io/gateway-api/apis/v1" v1 "sigs.k8s.io/gateway-api/apis/v1"
"sigs.k8s.io/gateway-api/apis/v1alpha2" "sigs.k8s.io/gateway-api/apis/v1alpha2"
"sigs.k8s.io/gateway-api/apis/v1beta1"
gatewayfake "sigs.k8s.io/gateway-api/pkg/client/clientset/versioned/fake" gatewayfake "sigs.k8s.io/gateway-api/pkg/client/clientset/versioned/fake"
) )
@ -55,7 +54,7 @@ func TestGatewayGRPCRouteSourceEndpoints(t *testing.T) {
Name: "internal", Name: "internal",
Namespace: "default", Namespace: "default",
}, },
Spec: v1beta1.GatewaySpec{ Spec: v1.GatewaySpec{
Listeners: []v1.Listener{{ Listeners: []v1.Listener{{
Protocol: v1.HTTPSProtocolType, Protocol: v1.HTTPSProtocolType,
}}, }},
@ -74,10 +73,10 @@ func TestGatewayGRPCRouteSourceEndpoints(t *testing.T) {
}, },
}, },
Spec: v1alpha2.GRPCRouteSpec{ Spec: v1alpha2.GRPCRouteSpec{
Hostnames: []v1alpha2.Hostname{"api-hostnames.foobar.internal"}, Hostnames: []v1.Hostname{"api-hostnames.foobar.internal"},
}, },
Status: v1alpha2.GRPCRouteStatus{ Status: v1alpha2.GRPCRouteStatus{
RouteStatus: v1a2RouteStatus(v1a2ParentRef("default", "internal")), RouteStatus: gwRouteStatus(gwParentRef("default", "internal")),
}, },
} }
_, err = gwClient.GatewayV1alpha2().GRPCRoutes(rt.Namespace).Create(ctx, rt, metav1.CreateOptions{}) _, err = gwClient.GatewayV1alpha2().GRPCRoutes(rt.Namespace).Create(ctx, rt, metav1.CreateOptions{})

View File

@ -42,13 +42,16 @@ func gatewayStatus(ips ...string) v1.GatewayStatus {
typ := v1.IPAddressType typ := v1.IPAddressType
addrs := make([]v1.GatewayStatusAddress, len(ips)) addrs := make([]v1.GatewayStatusAddress, len(ips))
for i, ip := range ips { for i, ip := range ips {
addrs[i] = v1.GatewayStatusAddress{ addrs[i] = v1.GatewayStatusAddress{Type: &typ, Value: ip}
Type: &typ, Value: ip}
} }
return v1.GatewayStatus{Addresses: addrs} return v1.GatewayStatus{Addresses: addrs}
} }
func routeStatus(refs ...v1.ParentReference) v1.RouteStatus { func httpRouteStatus(refs ...v1.ParentReference) v1.HTTPRouteStatus {
return v1.HTTPRouteStatus{RouteStatus: gwRouteStatus(refs...)}
}
func gwRouteStatus(refs ...v1.ParentReference) v1.RouteStatus {
var v v1.RouteStatus var v v1.RouteStatus
for _, ref := range refs { for _, ref := range refs {
v.Parents = append(v.Parents, v1.RouteParentStatus{ v.Parents = append(v.Parents, v1.RouteParentStatus{
@ -64,21 +67,7 @@ func routeStatus(refs ...v1.ParentReference) v1.RouteStatus {
return v return v
} }
func httpRouteStatus(refs ...v1.ParentReference) v1.HTTPRouteStatus { func gwParentRef(namespace, name string, options ...gwParentRefOption) v1.ParentReference {
return v1.HTTPRouteStatus{RouteStatus: routeStatus(refs...)}
}
type parentRefOption func(*v1.ParentReference)
func withSectionName(name v1.SectionName) parentRefOption {
return func(ref *v1.ParentReference) { ref.SectionName = &name }
}
func withPortNumber(port v1.PortNumber) parentRefOption {
return func(ref *v1.ParentReference) { ref.Port = &port }
}
func gatewayParentRef(namespace, name string, options ...parentRefOption) v1.ParentReference {
group := v1.Group("gateway.networking.k8s.io") group := v1.Group("gateway.networking.k8s.io")
kind := v1.Kind("Gateway") kind := v1.Kind("Gateway")
ref := v1.ParentReference{ ref := v1.ParentReference{
@ -93,6 +82,16 @@ func gatewayParentRef(namespace, name string, options ...parentRefOption) v1.Par
return ref return ref
} }
type gwParentRefOption func(*v1.ParentReference)
func withSectionName(name v1.SectionName) gwParentRefOption {
return func(ref *v1.ParentReference) { ref.SectionName = &name }
}
func withPortNumber(port v1.PortNumber) gwParentRefOption {
return func(ref *v1.ParentReference) { ref.Port = &port }
}
func newTestEndpoint(dnsName, recordType string, targets ...string) *endpoint.Endpoint { func newTestEndpoint(dnsName, recordType string, targets ...string) *endpoint.Endpoint {
return newTestEndpointWithTTL(dnsName, recordType, 0, targets...) return newTestEndpointWithTTL(dnsName, recordType, 0, targets...)
} }
@ -171,8 +170,8 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
Hostnames: hostnames("test.example.internal"), Hostnames: hostnames("test.example.internal"),
}, },
Status: httpRouteStatus( // The route is attached to both gateways. Status: httpRouteStatus( // The route is attached to both gateways.
gatewayParentRef("gateway-namespace", "test"), gwParentRef("gateway-namespace", "test"),
gatewayParentRef("not-gateway-namespace", "test"), gwParentRef("not-gateway-namespace", "test"),
), ),
}}, }},
endpoints: []*endpoint.Endpoint{ endpoints: []*endpoint.Endpoint{
@ -201,14 +200,14 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
Spec: v1.HTTPRouteSpec{ Spec: v1.HTTPRouteSpec{
Hostnames: hostnames("route-namespace.example.internal"), Hostnames: hostnames("route-namespace.example.internal"),
}, },
Status: httpRouteStatus(gatewayParentRef("gateway-namespace", "test")), Status: httpRouteStatus(gwParentRef("gateway-namespace", "test")),
}, },
{ {
ObjectMeta: objectMeta("not-route-namespace", "test"), ObjectMeta: objectMeta("not-route-namespace", "test"),
Spec: v1.HTTPRouteSpec{ Spec: v1.HTTPRouteSpec{
Hostnames: hostnames("not-route-namespace.example.internal"), Hostnames: hostnames("not-route-namespace.example.internal"),
}, },
Status: httpRouteStatus(gatewayParentRef("gateway-namespace", "test")), Status: httpRouteStatus(gwParentRef("gateway-namespace", "test")),
}, },
}, },
endpoints: []*endpoint.Endpoint{ endpoints: []*endpoint.Endpoint{
@ -251,8 +250,8 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
Hostnames: hostnames("test.example.internal"), Hostnames: hostnames("test.example.internal"),
}, },
Status: httpRouteStatus( // The route is attached to both gateways. Status: httpRouteStatus( // The route is attached to both gateways.
gatewayParentRef("default", "labels-match"), gwParentRef("default", "labels-match"),
gatewayParentRef("default", "labels-dont-match"), gwParentRef("default", "labels-dont-match"),
), ),
}}, }},
endpoints: []*endpoint.Endpoint{ endpoints: []*endpoint.Endpoint{
@ -282,7 +281,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
Spec: v1.HTTPRouteSpec{ Spec: v1.HTTPRouteSpec{
Hostnames: hostnames("labels-match.example.internal"), Hostnames: hostnames("labels-match.example.internal"),
}, },
Status: httpRouteStatus(gatewayParentRef("default", "test")), Status: httpRouteStatus(gwParentRef("default", "test")),
}, },
{ {
ObjectMeta: metav1.ObjectMeta{ ObjectMeta: metav1.ObjectMeta{
@ -293,7 +292,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
Spec: v1.HTTPRouteSpec{ Spec: v1.HTTPRouteSpec{
Hostnames: hostnames("labels-dont-match.example.internal"), Hostnames: hostnames("labels-dont-match.example.internal"),
}, },
Status: httpRouteStatus(gatewayParentRef("default", "test")), Status: httpRouteStatus(gwParentRef("default", "test")),
}, },
}, },
endpoints: []*endpoint.Endpoint{ endpoints: []*endpoint.Endpoint{
@ -323,7 +322,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
Spec: v1.HTTPRouteSpec{ Spec: v1.HTTPRouteSpec{
Hostnames: hostnames("annotations-match.example.internal"), Hostnames: hostnames("annotations-match.example.internal"),
}, },
Status: httpRouteStatus(gatewayParentRef("default", "test")), Status: httpRouteStatus(gwParentRef("default", "test")),
}, },
{ {
ObjectMeta: metav1.ObjectMeta{ ObjectMeta: metav1.ObjectMeta{
@ -334,7 +333,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
Spec: v1.HTTPRouteSpec{ Spec: v1.HTTPRouteSpec{
Hostnames: hostnames("annotations-dont-match.example.internal"), Hostnames: hostnames("annotations-dont-match.example.internal"),
}, },
Status: httpRouteStatus(gatewayParentRef("default", "test")), Status: httpRouteStatus(gwParentRef("default", "test")),
}, },
}, },
endpoints: []*endpoint.Endpoint{ endpoints: []*endpoint.Endpoint{
@ -363,7 +362,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
Spec: v1.HTTPRouteSpec{ Spec: v1.HTTPRouteSpec{
Hostnames: hostnames("api.example.internal"), Hostnames: hostnames("api.example.internal"),
}, },
Status: httpRouteStatus(gatewayParentRef("default", "test")), Status: httpRouteStatus(gwParentRef("default", "test")),
}}, }},
endpoints: nil, endpoints: nil,
}, },
@ -393,8 +392,8 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
Hostnames: hostnames("test.example.internal"), Hostnames: hostnames("test.example.internal"),
}, },
Status: httpRouteStatus( Status: httpRouteStatus(
gatewayParentRef("default", "one"), gwParentRef("default", "one"),
gatewayParentRef("default", "two"), gwParentRef("default", "two"),
), ),
}}, }},
endpoints: []*endpoint.Endpoint{ endpoints: []*endpoint.Endpoint{
@ -429,7 +428,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
Hostnames: hostnames("*.example.internal"), Hostnames: hostnames("*.example.internal"),
}, },
Status: httpRouteStatus( Status: httpRouteStatus(
gatewayParentRef("default", "one"), gwParentRef("default", "one"),
), ),
}}, }},
endpoints: []*endpoint.Endpoint{ endpoints: []*endpoint.Endpoint{
@ -465,7 +464,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
Hostnames: hostnames("*.example.internal"), Hostnames: hostnames("*.example.internal"),
}, },
Status: httpRouteStatus( Status: httpRouteStatus(
gatewayParentRef("default", "test", withSectionName("foo")), gwParentRef("default", "test", withSectionName("foo")),
), ),
}}, }},
endpoints: []*endpoint.Endpoint{ endpoints: []*endpoint.Endpoint{
@ -509,7 +508,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
Hostnames: hostnames("*.example.internal"), Hostnames: hostnames("*.example.internal"),
}, },
Status: httpRouteStatus( Status: httpRouteStatus(
gatewayParentRef("default", "test", withPortNumber(80)), gwParentRef("default", "test", withPortNumber(80)),
), ),
}}, }},
endpoints: []*endpoint.Endpoint{ endpoints: []*endpoint.Endpoint{
@ -538,7 +537,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
"foo.example.internal", "foo.example.internal",
}, },
}, },
Status: httpRouteStatus(gatewayParentRef("default", "test")), Status: httpRouteStatus(gwParentRef("default", "test")),
}}, }},
endpoints: []*endpoint.Endpoint{ endpoints: []*endpoint.Endpoint{
newTestEndpoint("foo.example.internal", "A", "1.2.3.4"), newTestEndpoint("foo.example.internal", "A", "1.2.3.4"),
@ -565,7 +564,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
"*.example.internal", "*.example.internal",
}, },
}, },
Status: httpRouteStatus(gatewayParentRef("default", "test")), Status: httpRouteStatus(gwParentRef("default", "test")),
}}, }},
endpoints: []*endpoint.Endpoint{ endpoints: []*endpoint.Endpoint{
newTestEndpoint("foo.example.internal", "A", "1.2.3.4"), newTestEndpoint("foo.example.internal", "A", "1.2.3.4"),
@ -592,7 +591,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
"*.example.internal", "*.example.internal",
}, },
}, },
Status: httpRouteStatus(gatewayParentRef("default", "test")), Status: httpRouteStatus(gwParentRef("default", "test")),
}}, }},
endpoints: []*endpoint.Endpoint{ endpoints: []*endpoint.Endpoint{
newTestEndpoint("*.example.internal", "A", "1.2.3.4"), newTestEndpoint("*.example.internal", "A", "1.2.3.4"),
@ -617,7 +616,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
Spec: v1.HTTPRouteSpec{ Spec: v1.HTTPRouteSpec{
Hostnames: nil, Hostnames: nil,
}, },
Status: httpRouteStatus(gatewayParentRef("default", "test")), Status: httpRouteStatus(gwParentRef("default", "test")),
}}, }},
endpoints: []*endpoint.Endpoint{ endpoints: []*endpoint.Endpoint{
newTestEndpoint("foo.example.internal", "A", "1.2.3.4"), newTestEndpoint("foo.example.internal", "A", "1.2.3.4"),
@ -653,7 +652,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
Spec: v1.HTTPRouteSpec{ Spec: v1.HTTPRouteSpec{
Hostnames: nil, Hostnames: nil,
}, },
Status: httpRouteStatus(gatewayParentRef("default", "test")), Status: httpRouteStatus(gwParentRef("default", "test")),
}}, }},
endpoints: nil, endpoints: nil,
}, },
@ -680,7 +679,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
Spec: v1.HTTPRouteSpec{ Spec: v1.HTTPRouteSpec{
Hostnames: nil, Hostnames: nil,
}, },
Status: httpRouteStatus(gatewayParentRef("default", "test")), Status: httpRouteStatus(gwParentRef("default", "test")),
}, },
{ {
ObjectMeta: metav1.ObjectMeta{ ObjectMeta: metav1.ObjectMeta{
@ -693,7 +692,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
Spec: v1.HTTPRouteSpec{ Spec: v1.HTTPRouteSpec{
Hostnames: hostnames("with-hostname.internal"), Hostnames: hostnames("with-hostname.internal"),
}, },
Status: httpRouteStatus(gatewayParentRef("default", "test")), Status: httpRouteStatus(gwParentRef("default", "test")),
}, },
}, },
endpoints: []*endpoint.Endpoint{ endpoints: []*endpoint.Endpoint{
@ -726,7 +725,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
Spec: v1.HTTPRouteSpec{ Spec: v1.HTTPRouteSpec{
Hostnames: hostnames("with-hostname.internal"), Hostnames: hostnames("with-hostname.internal"),
}, },
Status: httpRouteStatus(gatewayParentRef("default", "test")), Status: httpRouteStatus(gwParentRef("default", "test")),
}}, }},
endpoints: []*endpoint.Endpoint{ endpoints: []*endpoint.Endpoint{
newTestEndpoint("with-hostname.internal", "A", "1.2.3.4"), newTestEndpoint("with-hostname.internal", "A", "1.2.3.4"),
@ -751,14 +750,14 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
Spec: v1.HTTPRouteSpec{ Spec: v1.HTTPRouteSpec{
Hostnames: hostnames("fqdn-with-hostnames.internal"), Hostnames: hostnames("fqdn-with-hostnames.internal"),
}, },
Status: httpRouteStatus(gatewayParentRef("default", "test")), Status: httpRouteStatus(gwParentRef("default", "test")),
}, },
{ {
ObjectMeta: objectMeta("default", "fqdn-without-hostnames"), ObjectMeta: objectMeta("default", "fqdn-without-hostnames"),
Spec: v1.HTTPRouteSpec{ Spec: v1.HTTPRouteSpec{
Hostnames: nil, Hostnames: nil,
}, },
Status: httpRouteStatus(gatewayParentRef("default", "test")), Status: httpRouteStatus(gwParentRef("default", "test")),
}, },
}, },
endpoints: []*endpoint.Endpoint{ endpoints: []*endpoint.Endpoint{
@ -787,7 +786,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
Spec: v1.HTTPRouteSpec{ Spec: v1.HTTPRouteSpec{
Hostnames: hostnames("fqdn-with-hostnames.internal"), Hostnames: hostnames("fqdn-with-hostnames.internal"),
}, },
Status: httpRouteStatus(gatewayParentRef("default", "test")), Status: httpRouteStatus(gwParentRef("default", "test")),
}}, }},
endpoints: []*endpoint.Endpoint{ endpoints: []*endpoint.Endpoint{
newTestEndpoint("fqdn-with-hostnames.internal", "A", "1.2.3.4"), newTestEndpoint("fqdn-with-hostnames.internal", "A", "1.2.3.4"),
@ -815,7 +814,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
Spec: v1.HTTPRouteSpec{ Spec: v1.HTTPRouteSpec{
Hostnames: hostnames("valid-ttl.internal"), Hostnames: hostnames("valid-ttl.internal"),
}, },
Status: httpRouteStatus(gatewayParentRef("default", "test")), Status: httpRouteStatus(gwParentRef("default", "test")),
}, },
{ {
ObjectMeta: metav1.ObjectMeta{ ObjectMeta: metav1.ObjectMeta{
@ -826,7 +825,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
Spec: v1.HTTPRouteSpec{ Spec: v1.HTTPRouteSpec{
Hostnames: hostnames("invalid-ttl.internal"), Hostnames: hostnames("invalid-ttl.internal"),
}, },
Status: httpRouteStatus(gatewayParentRef("default", "test")), Status: httpRouteStatus(gwParentRef("default", "test")),
}, },
}, },
endpoints: []*endpoint.Endpoint{ endpoints: []*endpoint.Endpoint{
@ -857,7 +856,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
Spec: v1.HTTPRouteSpec{ Spec: v1.HTTPRouteSpec{
Hostnames: hostnames("provider-annotations.com"), Hostnames: hostnames("provider-annotations.com"),
}, },
Status: httpRouteStatus(gatewayParentRef("default", "test")), Status: httpRouteStatus(gwParentRef("default", "test")),
}}, }},
endpoints: []*endpoint.Endpoint{ endpoints: []*endpoint.Endpoint{
newTestEndpoint("provider-annotations.com", "A", "1.2.3.4"). newTestEndpoint("provider-annotations.com", "A", "1.2.3.4").
@ -897,8 +896,8 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
Hostnames: hostnames("test.one.internal", "test.two.internal"), Hostnames: hostnames("test.one.internal", "test.two.internal"),
}, },
Status: httpRouteStatus( Status: httpRouteStatus(
gatewayParentRef("default", "one"), gwParentRef("default", "one"),
gatewayParentRef("default", "two"), gwParentRef("default", "two"),
), ),
}}, }},
endpoints: []*endpoint.Endpoint{ endpoints: []*endpoint.Endpoint{
@ -930,14 +929,14 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
Spec: v1.HTTPRouteSpec{ Spec: v1.HTTPRouteSpec{
Hostnames: hostnames("same-namespace.example.internal"), Hostnames: hostnames("same-namespace.example.internal"),
}, },
Status: httpRouteStatus(gatewayParentRef("same-namespace", "test")), Status: httpRouteStatus(gwParentRef("same-namespace", "test")),
}, },
{ {
ObjectMeta: objectMeta("other-namespace", "test"), ObjectMeta: objectMeta("other-namespace", "test"),
Spec: v1.HTTPRouteSpec{ Spec: v1.HTTPRouteSpec{
Hostnames: hostnames("other-namespace.example.internal"), Hostnames: hostnames("other-namespace.example.internal"),
}, },
Status: httpRouteStatus(gatewayParentRef("same-namespace", "test")), Status: httpRouteStatus(gwParentRef("same-namespace", "test")),
}, },
}, },
endpoints: []*endpoint.Endpoint{ endpoints: []*endpoint.Endpoint{
@ -989,14 +988,14 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
Spec: v1.HTTPRouteSpec{ Spec: v1.HTTPRouteSpec{
Hostnames: hostnames("foo.example.internal"), Hostnames: hostnames("foo.example.internal"),
}, },
Status: httpRouteStatus(gatewayParentRef("default", "test")), Status: httpRouteStatus(gwParentRef("default", "test")),
}, },
{ {
ObjectMeta: objectMeta("bar", "test"), ObjectMeta: objectMeta("bar", "test"),
Spec: v1.HTTPRouteSpec{ Spec: v1.HTTPRouteSpec{
Hostnames: hostnames("bar.example.internal"), Hostnames: hostnames("bar.example.internal"),
}, },
Status: httpRouteStatus(gatewayParentRef("default", "test")), Status: httpRouteStatus(gwParentRef("default", "test")),
}, },
}, },
endpoints: []*endpoint.Endpoint{ endpoints: []*endpoint.Endpoint{
@ -1030,7 +1029,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
Spec: v1.HTTPRouteSpec{ Spec: v1.HTTPRouteSpec{
Hostnames: hostnames("example.internal"), Hostnames: hostnames("example.internal"),
}, },
Status: httpRouteStatus(gatewayParentRef("default", "test")), Status: httpRouteStatus(gwParentRef("default", "test")),
}}, }},
endpoints: nil, endpoints: nil,
}, },
@ -1064,7 +1063,7 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
Hostnames: hostnames("test.example.internal"), Hostnames: hostnames("test.example.internal"),
}, },
Status: httpRouteStatus( // The route is attached to both gateways. Status: httpRouteStatus( // The route is attached to both gateways.
gatewayParentRef("gateway-namespace", "overriden-gateway"), gwParentRef("gateway-namespace", "overriden-gateway"),
), ),
}}, }},
endpoints: []*endpoint.Endpoint{ endpoints: []*endpoint.Endpoint{
@ -1111,8 +1110,8 @@ func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) {
Hostnames: hostnames("test.example.internal"), Hostnames: hostnames("test.example.internal"),
}, },
Status: httpRouteStatus( // The route is attached to both gateways. Status: httpRouteStatus( // The route is attached to both gateways.
gatewayParentRef("gateway-namespace", "overriden-gateway"), gwParentRef("gateway-namespace", "overriden-gateway"),
gatewayParentRef("gateway-namespace", "test"), gwParentRef("gateway-namespace", "test"),
), ),
}}, }},
endpoints: []*endpoint.Endpoint{ endpoints: []*endpoint.Endpoint{

View File

@ -74,7 +74,7 @@ func TestGatewayTCPRouteSourceEndpoints(t *testing.T) {
}, },
Spec: v1alpha2.TCPRouteSpec{}, Spec: v1alpha2.TCPRouteSpec{},
Status: v1alpha2.TCPRouteStatus{ Status: v1alpha2.TCPRouteStatus{
RouteStatus: v1a2RouteStatus(v1a2ParentRef("default", "internal")), RouteStatus: gwRouteStatus(gwParentRef("default", "internal")),
}, },
} }
_, err = gwClient.GatewayV1alpha2().TCPRoutes(rt.Namespace).Create(ctx, rt, metav1.CreateOptions{}) _, err = gwClient.GatewayV1alpha2().TCPRoutes(rt.Namespace).Create(ctx, rt, metav1.CreateOptions{})
@ -93,31 +93,3 @@ func TestGatewayTCPRouteSourceEndpoints(t *testing.T) {
newTestEndpoint("api-template.foobar.internal", "A", ips...), newTestEndpoint("api-template.foobar.internal", "A", ips...),
}) })
} }
func v1a2ParentRef(namespace, name string) v1alpha2.ParentReference {
group := v1alpha2.Group("gateway.networking.k8s.io")
kind := v1alpha2.Kind("Gateway")
ref := v1alpha2.ParentReference{
Group: &group,
Kind: &kind,
Name: v1alpha2.ObjectName(name),
Namespace: (*v1alpha2.Namespace)(&namespace),
}
return ref
}
func v1a2RouteStatus(refs ...v1alpha2.ParentReference) v1alpha2.RouteStatus {
var v v1alpha2.RouteStatus
for _, ref := range refs {
v.Parents = append(v.Parents, v1alpha2.RouteParentStatus{
ParentRef: ref,
Conditions: []metav1.Condition{
{
Type: string(v1alpha2.RouteConditionAccepted),
Status: metav1.ConditionTrue,
},
},
})
}
return v
}

View File

@ -73,10 +73,10 @@ func TestGatewayTLSRouteSourceEndpoints(t *testing.T) {
}, },
}, },
Spec: v1alpha2.TLSRouteSpec{ Spec: v1alpha2.TLSRouteSpec{
Hostnames: []v1alpha2.Hostname{"api-hostnames.foobar.internal"}, Hostnames: []v1.Hostname{"api-hostnames.foobar.internal"},
}, },
Status: v1alpha2.TLSRouteStatus{ Status: v1alpha2.TLSRouteStatus{
RouteStatus: v1a2RouteStatus(v1a2ParentRef("default", "internal")), RouteStatus: gwRouteStatus(gwParentRef("default", "internal")),
}, },
} }
_, err = gwClient.GatewayV1alpha2().TLSRoutes(rt.Namespace).Create(ctx, rt, metav1.CreateOptions{}) _, err = gwClient.GatewayV1alpha2().TLSRoutes(rt.Namespace).Create(ctx, rt, metav1.CreateOptions{})

View File

@ -27,7 +27,6 @@ import (
"sigs.k8s.io/external-dns/endpoint" "sigs.k8s.io/external-dns/endpoint"
v1 "sigs.k8s.io/gateway-api/apis/v1" v1 "sigs.k8s.io/gateway-api/apis/v1"
"sigs.k8s.io/gateway-api/apis/v1alpha2" "sigs.k8s.io/gateway-api/apis/v1alpha2"
"sigs.k8s.io/gateway-api/apis/v1beta1"
gatewayfake "sigs.k8s.io/gateway-api/pkg/client/clientset/versioned/fake" gatewayfake "sigs.k8s.io/gateway-api/pkg/client/clientset/versioned/fake"
) )
@ -55,7 +54,7 @@ func TestGatewayUDPRouteSourceEndpoints(t *testing.T) {
Name: "internal", Name: "internal",
Namespace: "default", Namespace: "default",
}, },
Spec: v1beta1.GatewaySpec{ Spec: v1.GatewaySpec{
Listeners: []v1.Listener{{ Listeners: []v1.Listener{{
Protocol: v1.UDPProtocolType, Protocol: v1.UDPProtocolType,
}}, }},
@ -75,7 +74,7 @@ func TestGatewayUDPRouteSourceEndpoints(t *testing.T) {
}, },
Spec: v1alpha2.UDPRouteSpec{}, Spec: v1alpha2.UDPRouteSpec{},
Status: v1alpha2.UDPRouteStatus{ Status: v1alpha2.UDPRouteStatus{
RouteStatus: v1a2RouteStatus(v1a2ParentRef("default", "internal")), RouteStatus: gwRouteStatus(gwParentRef("default", "internal")),
}, },
} }
_, err = gwClient.GatewayV1alpha2().UDPRoutes(rt.Namespace).Create(ctx, rt, metav1.CreateOptions{}) _, err = gwClient.GatewayV1alpha2().UDPRoutes(rt.Namespace).Create(ctx, rt, metav1.CreateOptions{})