Skip to content

Commit 6710dd2

Browse files
committed
make httproute works.
1 parent 9892eb4 commit 6710dd2

File tree

6 files changed

+302
-231
lines changed

6 files changed

+302
-231
lines changed

controllers/gateway_controller.go

Lines changed: 30 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -59,13 +59,14 @@ func (r *GatewayReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ct
5959
if client.IgnoreNotFound(err) == nil {
6060
// delete resources
6161
gw := pkg.ActiveSIGs.GetGateway(req.NamespacedName.String())
62-
if ocfgs, err := pkg.ParseRelatedForClass(string(gw.Spec.GatewayClassName), []*gatewayv1beta1.Gateway{gw}, nil, nil); err != nil {
62+
// Only when we know all the gateways can we know exactly which routes need to be cleared because of this gateway event.
63+
gws := pkg.ActiveSIGs.GetNeighborGateways(gw)
64+
if ocfgs, err := pkg.ParseGatewayRelatedForClass(string(gw.Spec.GatewayClassName), append(gws, gw)); err != nil {
6365
return ctrl.Result{}, err
6466
} else {
6567
zlog.V(1).Info("handling + deleting " + req.NamespacedName.String())
66-
hrs := pkg.ActiveSIGs.AttachedHTTPRoutes(gw)
6768
pkg.ActiveSIGs.UnsetGateway(req.NamespacedName.String())
68-
if ncfgs, err := pkg.ParseRelatedForClass(string(gw.Spec.GatewayClassName), nil, hrs, nil); err != nil {
69+
if ncfgs, err := pkg.ParseGatewayRelatedForClass(string(gw.Spec.GatewayClassName), gws); err != nil {
6970
return ctrl.Result{}, err
7071
} else {
7172
pkg.PendingDeploys <- pkg.DeployRequest{
@@ -93,15 +94,14 @@ func (r *GatewayReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ct
9394
pkg.ActiveSIGs.SetGateway(obj.DeepCopy())
9495
}
9596

96-
ohrs := pkg.ActiveSIGs.AttachedHTTPRoutes(ogw)
97-
if ocfgs, err := pkg.ParseRelatedForClass(string(ogw.Spec.GatewayClassName), []*gatewayv1beta1.Gateway{ogw}, nil, nil); err != nil {
97+
if ocfgs, err := pkg.ParseGatewayRelatedForClass(string(ogw.Spec.GatewayClassName), []*gatewayv1beta1.Gateway{ogw}); err != nil {
9898
zlog.Error(err, "handling + upserting + parse related ocfgs "+req.NamespacedName.String())
9999
return ctrl.Result{}, err
100100
} else {
101101
ngw := obj.DeepCopy()
102102
if ngw.Spec.GatewayClassName == ogw.Spec.GatewayClassName {
103103
pkg.ActiveSIGs.SetGateway(ngw)
104-
if ncfgs, err := pkg.ParseRelatedForClass(string(ngw.Spec.GatewayClassName), []*gatewayv1beta1.Gateway{ngw}, nil, nil); err != nil {
104+
if ncfgs, err := pkg.ParseGatewayRelatedForClass(string(ngw.Spec.GatewayClassName), []*gatewayv1beta1.Gateway{ngw}); err != nil {
105105
zlog.Error(err, "handling + upserting + parse related ncfgs "+req.NamespacedName.String())
106106
return ctrl.Result{}, err
107107
} else {
@@ -118,40 +118,48 @@ func (r *GatewayReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ct
118118
}
119119
} else {
120120
// original state of new gatewayclass env
121-
ocfgsN, err := pkg.ParseRelatedForClass(string(ngw.Spec.GatewayClassName), nil, ohrs, nil)
121+
// gateway is go away
122+
ngs := pkg.ActiveSIGs.GetNeighborGateways(ogw)
123+
124+
ocfgs, err := pkg.ParseGatewayRelatedForClass(string(ngw.Spec.GatewayClassName), append(ngs, ogw))
122125
if err != nil {
123126
return ctrl.Result{}, err
124127
}
125-
pkg.ActiveSIGs.SetGateway(ngw)
126128

127-
// gateway is go away
128-
if ncfgsO, err := pkg.ParseRelatedForClass(string(ogw.Spec.GatewayClassName), nil, ohrs, nil); err != nil {
129+
if ncfgs, err := pkg.ParseGatewayRelatedForClass(string(ogw.Spec.GatewayClassName), ngs); err != nil {
129130
return ctrl.Result{}, err
130131
} else {
131132
pkg.PendingDeploys <- pkg.DeployRequest{
132133
Meta: fmt.Sprintf("upserting gateway '%s'", req.NamespacedName.String()),
133134
From: &ocfgs,
134-
To: &ncfgsO,
135+
To: &ncfgs,
135136
StatusFunc: func() {
136137
// do something
137138
},
138139
Partition: string(ogw.Spec.GatewayClassName),
139140
}
140141
}
141142

142-
if ncfgs, err := pkg.ParseRelatedForClass(string(ngw.Spec.GatewayClassName), []*gatewayv1beta1.Gateway{ngw}, nil, nil); err != nil {
143+
pkg.ActiveSIGs.SetGateway(ngw)
144+
145+
ocfgs, err = pkg.ParseGatewayRelatedForClass(string(ngw.Spec.GatewayClassName), ngs)
146+
if err != nil {
143147
return ctrl.Result{}, err
144-
} else {
145-
pkg.PendingDeploys <- pkg.DeployRequest{
146-
Meta: fmt.Sprintf("upserting gateway '%s'", req.NamespacedName.String()),
147-
From: &ocfgsN,
148-
To: &ncfgs,
149-
StatusFunc: func() {
150-
// do something
151-
},
152-
Partition: string(ngw.Spec.GatewayClassName),
153-
}
154148
}
149+
ncfgs, err := pkg.ParseGatewayRelatedForClass(string(ogw.Spec.GatewayClassName), append(ngs, ngw))
150+
if err != nil {
151+
return ctrl.Result{}, err
152+
}
153+
pkg.PendingDeploys <- pkg.DeployRequest{
154+
Meta: fmt.Sprintf("upserting gateway '%s'", req.NamespacedName.String()),
155+
From: &ocfgs,
156+
To: &ncfgs,
157+
StatusFunc: func() {
158+
// do something
159+
},
160+
Partition: string(ngw.Spec.GatewayClassName),
161+
}
162+
155163
return ctrl.Result{}, nil
156164
}
157165
}

controllers/gatewayclass_controller.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ func (r *GatewayClassReconciler) Reconcile(ctx context.Context, req ctrl.Request
6565
zlog.V(1).Info("deleting gatewayclass " + req.Name)
6666
if gwc := pkg.ActiveSIGs.GetGatewayClass(req.Name); gwc != nil {
6767
gws := pkg.ActiveSIGs.AttachedGateways(gwc)
68-
if ocfgs, err := pkg.ParseGatewayRelated(gws); err != nil {
68+
if ocfgs, err := pkg.ParseGatewayRelatedForClass(gwc.Name, gws); err != nil {
6969
return ctrl.Result{}, err
7070
} else {
7171
pkg.PendingDeploys <- pkg.DeployRequest{
@@ -100,13 +100,13 @@ func (r *GatewayClassReconciler) Reconcile(ctx context.Context, req ctrl.Request
100100
var err error
101101
if ogwc != nil {
102102
gws := pkg.ActiveSIGs.AttachedGateways(ogwc)
103-
if ocfgs, err = pkg.ParseGatewayRelated(gws); err != nil {
103+
if ocfgs, err = pkg.ParseGatewayRelatedForClass(ogwc.Name, gws); err != nil {
104104
return ctrl.Result{}, err
105105
}
106106
}
107107
pkg.ActiveSIGs.SetGatewayClass(ngwc)
108108
gws := pkg.ActiveSIGs.AttachedGateways(ngwc)
109-
if ncfgs, err = pkg.ParseGatewayRelated(gws); err != nil {
109+
if ncfgs, err = pkg.ParseGatewayRelatedForClass(ngwc.Name, gws); err != nil {
110110
return ctrl.Result{}, err
111111
}
112112
// TODO: add logic more here. but don't want to compare configmap modifications and execute each time?

controllers/httproute_controller.go

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ import (
2222
"time"
2323

2424
"gitee.com/zongzw/bigip-kubernetes-gateway/pkg"
25-
v1 "k8s.io/api/core/v1"
2625
"k8s.io/apimachinery/pkg/runtime"
2726
ctrl "sigs.k8s.io/controller-runtime"
2827
"sigs.k8s.io/controller-runtime/pkg/client"
@@ -59,27 +58,26 @@ func (r *HttpRouteReconciler) Reconcile(ctx context.Context, req ctrl.Request) (
5958
if client.IgnoreNotFound(err) == nil {
6059
// delete resources
6160
hr := pkg.ActiveSIGs.GetHTTPRoute(req.NamespacedName.String())
62-
gwmap, hrmap, svcmap := map[string]*gatewayv1beta1.Gateway{}, map[string]*gatewayv1beta1.HTTPRoute{}, map[string]*v1.Service{}
63-
pkg.ActiveSIGs.GetRelatedObjs(nil, []*gatewayv1beta1.HTTPRoute{hr}, nil, &gwmap, &hrmap, &svcmap)
6461

62+
gws := pkg.ActiveSIGs.GatewayRefsOf(hr)
6563
drs := map[string]pkg.DeployRequest{}
66-
for _, gw := range gwmap {
64+
for _, gw := range gws {
6765
if _, f := drs[string(gw.Spec.GatewayClassName)]; !f {
6866
drs[string(gw.Spec.GatewayClassName)] = pkg.DeployRequest{
6967
Meta: fmt.Sprintf("deleting httproute '%s'", req.NamespacedName.String()),
7068
Partition: string(gw.Spec.GatewayClassName),
7169
}
7270
}
7371
dr := drs[string(gw.Spec.GatewayClassName)]
74-
if ocfgs, err := pkg.ParseRelatedForClass(string(gw.Spec.GatewayClassName), nil, []*gatewayv1beta1.HTTPRoute{hr}, nil); err != nil {
72+
if ocfgs, err := pkg.ParseGatewayRelatedForClass(string(gw.Spec.GatewayClassName), gws); err != nil {
7573
return ctrl.Result{}, err
7674
} else {
7775
dr.From = &ocfgs
7876
}
7977
}
80-
gws := pkg.ActiveSIGs.GatewayRefsOf(hr)
78+
8179
pkg.ActiveSIGs.UnsetHTTPRoute(req.NamespacedName.String())
82-
for _, gw := range gwmap {
80+
for _, gw := range gws {
8381

8482
if _, f := drs[string(gw.Spec.GatewayClassName)]; !f {
8583
drs[string(gw.Spec.GatewayClassName)] = pkg.DeployRequest{
@@ -88,7 +86,7 @@ func (r *HttpRouteReconciler) Reconcile(ctx context.Context, req ctrl.Request) (
8886
}
8987
}
9088
dr := drs[string(gw.Spec.GatewayClassName)]
91-
if ncfgs, err := pkg.ParseRelatedForClass(string(gw.Spec.GatewayClassName), gws, nil, nil); err != nil {
89+
if ncfgs, err := pkg.ParseGatewayRelatedForClass(string(gw.Spec.GatewayClassName), gws); err != nil {
9290
return ctrl.Result{}, err
9391
} else {
9492
dr.To = &ncfgs
@@ -113,35 +111,35 @@ func (r *HttpRouteReconciler) Reconcile(ctx context.Context, req ctrl.Request) (
113111
// upsert resources
114112
zlog.V(1).Info("upserting " + req.NamespacedName.String())
115113
hr := pkg.ActiveSIGs.GetHTTPRoute(req.NamespacedName.String())
116-
gwmap, hrmap, svcmap := map[string]*gatewayv1beta1.Gateway{}, map[string]*gatewayv1beta1.HTTPRoute{}, map[string]*v1.Service{}
117-
pkg.ActiveSIGs.GetRelatedObjs(nil, []*gatewayv1beta1.HTTPRoute{hr}, nil, &gwmap, &hrmap, &svcmap)
114+
115+
gws := pkg.ActiveSIGs.GatewayRefsOf(hr)
118116
drs := map[string]pkg.DeployRequest{}
119117

120-
for _, gw := range gwmap {
118+
for _, gw := range gws {
121119
if _, f := drs[string(gw.Spec.GatewayClassName)]; !f {
122120
drs[string(gw.Spec.GatewayClassName)] = pkg.DeployRequest{
123121
Meta: fmt.Sprintf("upserting httproute '%s'", req.NamespacedName.String()),
124122
Partition: string(gw.Spec.GatewayClassName),
125123
}
126124
}
127125
dr := drs[string(gw.Spec.GatewayClassName)]
128-
if ocfgs, err := pkg.ParseRelatedForClass(string(gw.Spec.GatewayClassName), nil, []*gatewayv1beta1.HTTPRoute{hr}, nil); err != nil {
126+
if ocfgs, err := pkg.ParseGatewayRelatedForClass(string(gw.Spec.GatewayClassName), gws); err != nil {
129127
return ctrl.Result{}, err
130128
} else {
131129
dr.From = &ocfgs
132130
}
133131
}
134-
nhr := obj.DeepCopy()
135-
pkg.ActiveSIGs.SetHTTPRoute(nhr)
136-
for _, gw := range gwmap {
132+
133+
pkg.ActiveSIGs.SetHTTPRoute(obj.DeepCopy())
134+
for _, gw := range gws {
137135
if _, f := drs[string(gw.Spec.GatewayClassName)]; !f {
138136
drs[string(gw.Spec.GatewayClassName)] = pkg.DeployRequest{
139137
Meta: fmt.Sprintf("upserting httproute '%s'", req.NamespacedName.String()),
140138
Partition: string(gw.Spec.GatewayClassName),
141139
}
142140
}
143141
dr := drs[string(gw.Spec.GatewayClassName)]
144-
if ncfgs, err := pkg.ParseRelatedForClass(string(gw.Spec.GatewayClassName), nil, []*gatewayv1beta1.HTTPRoute{nhr}, nil); err != nil {
142+
if ncfgs, err := pkg.ParseGatewayRelatedForClass(string(gw.Spec.GatewayClassName), gws); err != nil {
145143
return ctrl.Result{}, err
146144
} else {
147145
dr.To = &ncfgs

controllers/v1_controller.go

Lines changed: 22 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,6 @@ import (
2828
"sigs.k8s.io/controller-runtime/pkg/log"
2929

3030
v1 "k8s.io/api/core/v1"
31-
32-
gatewayv1beta1 "sigs.k8s.io/gateway-api/apis/v1beta1"
3331
)
3432

3533
type EndpointsReconciler struct {
@@ -56,35 +54,33 @@ func (r *EndpointsReconciler) Reconcile(ctx context.Context, req ctrl.Request) (
5654
if err := r.Get(ctx, req.NamespacedName, &obj); err != nil {
5755
if client.IgnoreNotFound(err) == nil {
5856
svc := pkg.ActiveSIGs.GetService(req.NamespacedName.String())
59-
gwmap, hrmap, svcmap := map[string]*gatewayv1beta1.Gateway{}, map[string]*gatewayv1beta1.HTTPRoute{}, map[string]*v1.Service{}
60-
pkg.ActiveSIGs.GetRelatedObjs(nil, nil, []*v1.Service{svc}, &gwmap, &hrmap, &svcmap)
57+
gws := pkg.ActiveSIGs.GetRootGateways(svc)
6158
drs := map[string]pkg.DeployRequest{}
6259

63-
for _, gw := range gwmap {
60+
for _, gw := range gws {
6461
if _, f := drs[string(gw.Spec.GatewayClassName)]; !f {
6562
drs[string(gw.Spec.GatewayClassName)] = pkg.DeployRequest{
6663
Meta: fmt.Sprintf("deleting endpoints '%s'", req.NamespacedName.String()),
6764
Partition: string(gw.Spec.GatewayClassName),
6865
}
6966
}
7067
dr := drs[string(gw.Spec.GatewayClassName)]
71-
if ocfgs, err := pkg.ParseRelatedForClass(string(gw.Spec.GatewayClassName), nil, nil, []*v1.Service{svc}); err != nil {
68+
if ocfgs, err := pkg.ParseGatewayRelatedForClass(string(gw.Spec.GatewayClassName), gws); err != nil {
7269
return ctrl.Result{}, err
7370
} else {
7471
dr.From = &ocfgs
7572
}
7673
}
77-
hrs := pkg.ActiveSIGs.HTTPRoutesRefsOf(svc)
7874
pkg.ActiveSIGs.UnsetEndpoints(req.NamespacedName.String())
79-
for _, gw := range gwmap {
75+
for _, gw := range gws {
8076
if _, f := drs[string(gw.Spec.GatewayClassName)]; !f {
8177
drs[string(gw.Spec.GatewayClassName)] = pkg.DeployRequest{
8278
Meta: fmt.Sprintf("deleting endpoints '%s'", req.NamespacedName.String()),
8379
Partition: string(gw.Spec.GatewayClassName),
8480
}
8581
}
8682
dr := drs[string(gw.Spec.GatewayClassName)]
87-
if ncfgs, err := pkg.ParseRelatedForClass(string(gw.Spec.GatewayClassName), nil, hrs, nil); err != nil {
83+
if ncfgs, err := pkg.ParseGatewayRelatedForClass(string(gw.Spec.GatewayClassName), gws); err != nil {
8884
return ctrl.Result{}, err
8985
} else {
9086
dr.To = &ncfgs
@@ -106,35 +102,34 @@ func (r *EndpointsReconciler) Reconcile(ctx context.Context, req ctrl.Request) (
106102
}
107103
} else {
108104
svc := pkg.ActiveSIGs.GetService(req.NamespacedName.String())
109-
gwmap, hrmap, svcmap := map[string]*gatewayv1beta1.Gateway{}, map[string]*gatewayv1beta1.HTTPRoute{}, map[string]*v1.Service{}
110-
pkg.ActiveSIGs.GetRelatedObjs(nil, nil, []*v1.Service{svc}, &gwmap, &hrmap, &svcmap)
105+
gws := pkg.ActiveSIGs.GetRootGateways(svc)
111106

112107
drs := map[string]pkg.DeployRequest{}
113108

114-
for _, gw := range gwmap {
109+
for _, gw := range gws {
115110
if _, f := drs[string(gw.Spec.GatewayClassName)]; !f {
116111
drs[string(gw.Spec.GatewayClassName)] = pkg.DeployRequest{
117112
Meta: fmt.Sprintf("upserting endpoints '%s'", req.NamespacedName.String()),
118113
Partition: string(gw.Spec.GatewayClassName),
119114
}
120115
}
121116
dr := drs[string(gw.Spec.GatewayClassName)]
122-
if ocfgs, err := pkg.ParseRelatedForClass(string(gw.Spec.GatewayClassName), nil, nil, []*v1.Service{svc}); err != nil {
117+
if ocfgs, err := pkg.ParseGatewayRelatedForClass(string(gw.Spec.GatewayClassName), gws); err != nil {
123118
return ctrl.Result{}, err
124119
} else {
125120
dr.From = &ocfgs
126121
}
127122
}
128123
pkg.ActiveSIGs.SetEndpoints(obj.DeepCopy())
129-
for _, gw := range gwmap {
124+
for _, gw := range gws {
130125
if _, f := drs[string(gw.Spec.GatewayClassName)]; !f {
131126
drs[string(gw.Spec.GatewayClassName)] = pkg.DeployRequest{
132127
Meta: fmt.Sprintf("upserting endpoints '%s'", req.NamespacedName.String()),
133128
Partition: string(gw.Spec.GatewayClassName),
134129
}
135130
}
136131
dr := drs[string(gw.Spec.GatewayClassName)]
137-
if ncfgs, err := pkg.ParseRelatedForClass(string(gw.Spec.GatewayClassName), nil, nil, []*v1.Service{svc}); err != nil {
132+
if ncfgs, err := pkg.ParseGatewayRelatedForClass(string(gw.Spec.GatewayClassName), gws); err != nil {
138133
return ctrl.Result{}, err
139134
} else {
140135
dr.To = &ncfgs
@@ -162,36 +157,35 @@ func (r *ServiceReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ct
162157
if err := r.Get(ctx, req.NamespacedName, &obj); err != nil {
163158
if client.IgnoreNotFound(err) == nil {
164159
svc := pkg.ActiveSIGs.GetService(req.NamespacedName.String())
165-
166-
gwmap, hrmap, svcmap := map[string]*gatewayv1beta1.Gateway{}, map[string]*gatewayv1beta1.HTTPRoute{}, map[string]*v1.Service{}
167-
pkg.ActiveSIGs.GetRelatedObjs(nil, nil, []*v1.Service{svc}, &gwmap, &hrmap, &svcmap)
160+
gws := pkg.ActiveSIGs.GetRootGateways(svc)
168161
drs := map[string]pkg.DeployRequest{}
169162

170-
for _, gw := range gwmap {
163+
for _, gw := range gws {
171164
if _, f := drs[string(gw.Spec.GatewayClassName)]; !f {
172165
drs[string(gw.Spec.GatewayClassName)] = pkg.DeployRequest{
173166
Meta: fmt.Sprintf("deleting service '%s'", req.NamespacedName.String()),
174167
Partition: string(gw.Spec.GatewayClassName),
175168
}
176169
}
177170
dr := drs[string(gw.Spec.GatewayClassName)]
178-
if ocfgs, err := pkg.ParseRelatedForClass(string(gw.Spec.GatewayClassName), nil, nil, []*v1.Service{svc}); err != nil {
171+
if ocfgs, err := pkg.ParseGatewayRelatedForClass(string(gw.Spec.GatewayClassName), gws); err != nil {
179172
return ctrl.Result{}, err
180173
} else {
181174
dr.From = &ocfgs
182175
}
183176
}
184-
hrs := pkg.ActiveSIGs.HTTPRoutesRefsOf(svc)
177+
185178
pkg.ActiveSIGs.UnsetService(req.NamespacedName.String())
186-
for _, gw := range gwmap {
179+
180+
for _, gw := range gws {
187181
if _, f := drs[string(gw.Spec.GatewayClassName)]; !f {
188182
drs[string(gw.Spec.GatewayClassName)] = pkg.DeployRequest{
189183
Meta: fmt.Sprintf("deleting service '%s'", req.NamespacedName.String()),
190184
Partition: string(gw.Spec.GatewayClassName),
191185
}
192186
}
193187
dr := drs[string(gw.Spec.GatewayClassName)]
194-
if ncfgs, err := pkg.ParseRelatedForClass(string(gw.Spec.GatewayClassName), nil, hrs, nil); err != nil {
188+
if ncfgs, err := pkg.ParseGatewayRelatedForClass(string(gw.Spec.GatewayClassName), gws); err != nil {
195189
return ctrl.Result{}, err
196190
} else {
197191
dr.To = &ncfgs
@@ -214,35 +208,34 @@ func (r *ServiceReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ct
214208
}
215209
} else {
216210
svc := pkg.ActiveSIGs.GetService(req.NamespacedName.String())
217-
gwmap, hrmap, svcmap := map[string]*gatewayv1beta1.Gateway{}, map[string]*gatewayv1beta1.HTTPRoute{}, map[string]*v1.Service{}
218-
pkg.ActiveSIGs.GetRelatedObjs(nil, nil, []*v1.Service{svc}, &gwmap, &hrmap, &svcmap)
211+
gws := pkg.ActiveSIGs.GetRootGateways(svc)
219212

220213
drs := map[string]pkg.DeployRequest{}
221214

222-
for _, gw := range gwmap {
215+
for _, gw := range gws {
223216
if _, f := drs[string(gw.Spec.GatewayClassName)]; !f {
224217
drs[string(gw.Spec.GatewayClassName)] = pkg.DeployRequest{
225218
Meta: fmt.Sprintf("upserting service '%s'", req.NamespacedName.String()),
226219
Partition: string(gw.Spec.GatewayClassName),
227220
}
228221
}
229222
dr := drs[string(gw.Spec.GatewayClassName)]
230-
if ocfgs, err := pkg.ParseRelatedForClass(string(gw.Spec.GatewayClassName), nil, nil, []*v1.Service{svc}); err != nil {
223+
if ocfgs, err := pkg.ParseGatewayRelatedForClass(string(gw.Spec.GatewayClassName), gws); err != nil {
231224
return ctrl.Result{}, err
232225
} else {
233226
dr.From = &ocfgs
234227
}
235228
}
236229
pkg.ActiveSIGs.SetService(obj.DeepCopy())
237-
for _, gw := range gwmap {
230+
for _, gw := range gws {
238231
if _, f := drs[string(gw.Spec.GatewayClassName)]; !f {
239232
drs[string(gw.Spec.GatewayClassName)] = pkg.DeployRequest{
240233
Meta: fmt.Sprintf("upserting service '%s'", req.NamespacedName.String()),
241234
Partition: string(gw.Spec.GatewayClassName),
242235
}
243236
}
244237
dr := drs[string(gw.Spec.GatewayClassName)]
245-
if ncfgs, err := pkg.ParseRelatedForClass(string(gw.Spec.GatewayClassName), nil, nil, []*v1.Service{svc}); err != nil {
238+
if ncfgs, err := pkg.ParseGatewayRelatedForClass(string(gw.Spec.GatewayClassName), gws); err != nil {
246239
return ctrl.Result{}, err
247240
} else {
248241
dr.To = &ncfgs

0 commit comments

Comments
 (0)