Skip to content

Commit b242938

Browse files
cheina97adamjensenbot
authored andcommitted
fix: wggateway controllers pod watch
1 parent 373dc94 commit b242938

File tree

5 files changed

+33
-1
lines changed

5 files changed

+33
-1
lines changed

deployments/liqo/templates/_helpers.tpl

+2
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,8 @@ helm.sh/chart: {{ quote (include "liqo.chart" .) }}
9797
app.kubernetes.io/version: {{ quote (include "liqo.version" .) }}
9898
app.kubernetes.io/managed-by: {{ quote .Release.Service }}
9999
networking.liqo.io/component: "gateway"
100+
networking.liqo.io/gateway-name: "{{"{{ .Name }}"}}"
101+
networking.liqo.io/gateway-namespace: "{{"{{ .Namespace }}"}}"
100102
{{- if .isService }}
101103
networking.liqo.io/active: "true"
102104
{{- end }}

pkg/liqo-controller-manager/networking/external-network/wireguard/utils.go

+28
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,34 @@ func clusterRoleBindingEnquerer(_ context.Context, obj client.Object) []ctrl.Req
9797
}
9898
}
9999

100+
func podEnquerer(_ context.Context, obj client.Object) []ctrl.Request {
101+
pod, ok := obj.(*corev1.Pod)
102+
if !ok {
103+
return nil
104+
}
105+
106+
if pod.Labels == nil {
107+
return nil
108+
}
109+
gwName, ok := pod.Labels[consts.GatewayNameLabel]
110+
if !ok {
111+
return nil
112+
}
113+
gwNs, ok := pod.Labels[consts.GatewayNamespaceLabel]
114+
if !ok {
115+
return nil
116+
}
117+
118+
return []ctrl.Request{
119+
{
120+
NamespacedName: types.NamespacedName{
121+
Namespace: gwNs,
122+
Name: gwName,
123+
},
124+
},
125+
}
126+
}
127+
100128
// ensureKeysSecret ensure the presence of the private and public keys for the Wireguard interface and save them inside a Secret resource and Options.
101129
func ensureKeysSecret(ctx context.Context, cl client.Client, wgObj metav1.Object, mode gateway.Mode) error {
102130
var controllerRef metav1.OwnerReference

pkg/liqo-controller-manager/networking/external-network/wireguard/wggatewayclient_controller.go

+1
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,7 @@ func (r *WgGatewayClientReconciler) SetupWithManager(mgr ctrl.Manager) error {
208208
For(&networkingv1beta1.WgGatewayClient{}).
209209
Owns(&appsv1.Deployment{}).
210210
Owns(&corev1.ServiceAccount{}).
211+
Watches(&corev1.Pod{}, handler.EnqueueRequestsFromMapFunc(podEnquerer)).
211212
Watches(&rbacv1.ClusterRoleBinding{},
212213
handler.EnqueueRequestsFromMapFunc(clusterRoleBindingEnquerer)).
213214
Watches(&corev1.Secret{},

pkg/liqo-controller-manager/networking/external-network/wireguard/wggatewayserver_controller.go

+1
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,7 @@ func (r *WgGatewayServerReconciler) SetupWithManager(mgr ctrl.Manager) error {
224224
Owns(&appsv1.Deployment{}).
225225
Owns(&corev1.Service{}).
226226
Owns(&corev1.ServiceAccount{}).
227+
Watches(&corev1.Pod{}, handler.EnqueueRequestsFromMapFunc(podEnquerer)).
227228
Watches(&rbacv1.ClusterRoleBinding{},
228229
handler.EnqueueRequestsFromMapFunc(clusterRoleBindingEnquerer)).
229230
Watches(&corev1.Secret{},

test/e2e/cruise/network/network_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ import (
4444

4545
const (
4646
// clustersRequired is the number of clusters required in this E2E test.
47-
clustersRequired = 3
47+
clustersRequired = 2
4848
// testName is the name of this E2E test.
4949
testName = "NETWORK"
5050
// StressMax is the maximum number of stress iterations.

0 commit comments

Comments
 (0)