Skip to content

Commit 2a46e99

Browse files
authored
Merge pull request kmesh-net#543 from kmesh-bot/cherry-pick-540-to-release-0.4
[release-0.4] Fix TestPodSidecarLabelChangeTriggersAddIptablesAction flake
2 parents 6aad435 + f1cfd7b commit 2a46e99

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

pkg/controller/bypass/bypass_controller.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,6 @@ func StartByPassController(client kubernetes.Interface, stopChan <-chan struct{}
5454
informerFactory := informers.NewSharedInformerFactoryWithOptions(client, DefaultInformerSyncPeriod,
5555
informers.WithTweakListOptions(func(options *metav1.ListOptions) {
5656
options.FieldSelector = fmt.Sprintf("spec.nodeName=%s", nodeName)
57-
options.LabelSelector = LabelSelectorBypass
5857
}))
5958

6059
informerFactory.Start(wait.NeverStop)
@@ -69,6 +68,9 @@ func StartByPassController(client kubernetes.Interface, stopChan <-chan struct{}
6968
log.Errorf("expected *corev1.Pod but got %T", obj)
7069
return
7170
}
71+
if !shouldEnroll(pod) {
72+
return
73+
}
7274

7375
log.Infof("%s/%s: enable bypass control", pod.GetNamespace(), pod.GetName())
7476
enableSidecar, _ := checkSidecar(client, pod)
@@ -127,6 +129,8 @@ func StartByPassController(client kubernetes.Interface, stopChan <-chan struct{}
127129
}
128130
}
129131
},
132+
// We donot need to process delete here, because in bpf mode, it will be handled by kmesh-cni.
133+
// In istio sidecar mode, we donot need to delete the iptables.
130134
}); err != nil {
131135
return fmt.Errorf("error adding event handler to podInformer: %v", err)
132136
}

pkg/controller/bypass/bypass_test.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ func TestPodSidecarLabelChangeTriggersAddIptablesAction(t *testing.T) {
172172
}
173173

174174
wg.Add(1)
175-
_, err = client.CoreV1().Pods("default").Create(context.TODO(), pod, metav1.CreateOptions{})
175+
_, err = client.CoreV1().Pods(namespaceName).Create(context.TODO(), pod, metav1.CreateOptions{})
176176
assert.NoError(t, err)
177177

178178
wg.Wait()
@@ -181,9 +181,10 @@ func TestPodSidecarLabelChangeTriggersAddIptablesAction(t *testing.T) {
181181
enabled = false
182182
disabled = false
183183

184-
delete(pod.Labels, "kmesh.net/bypass")
184+
newPod := pod.DeepCopy()
185+
delete(newPod.Labels, "kmesh.net/bypass")
185186
wg.Add(1)
186-
_, err = client.CoreV1().Pods("default").Update(context.TODO(), pod, metav1.UpdateOptions{})
187+
_, err = client.CoreV1().Pods(namespaceName).Update(context.TODO(), newPod, metav1.UpdateOptions{})
187188
assert.NoError(t, err)
188189

189190
wg.Wait()

0 commit comments

Comments
 (0)