Skip to content

Commit

Permalink
Merge pull request #543 from kmesh-bot/cherry-pick-540-to-release-0.4
Browse files Browse the repository at this point in the history
[release-0.4] Fix TestPodSidecarLabelChangeTriggersAddIptablesAction flake
  • Loading branch information
kmesh-bot authored Jul 10, 2024
2 parents 6aad435 + f1cfd7b commit 2a46e99
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 4 deletions.
6 changes: 5 additions & 1 deletion pkg/controller/bypass/bypass_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,6 @@ func StartByPassController(client kubernetes.Interface, stopChan <-chan struct{}
informerFactory := informers.NewSharedInformerFactoryWithOptions(client, DefaultInformerSyncPeriod,
informers.WithTweakListOptions(func(options *metav1.ListOptions) {
options.FieldSelector = fmt.Sprintf("spec.nodeName=%s", nodeName)
options.LabelSelector = LabelSelectorBypass
}))

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

log.Infof("%s/%s: enable bypass control", pod.GetNamespace(), pod.GetName())
enableSidecar, _ := checkSidecar(client, pod)
Expand Down Expand Up @@ -127,6 +129,8 @@ func StartByPassController(client kubernetes.Interface, stopChan <-chan struct{}
}
}
},
// We donot need to process delete here, because in bpf mode, it will be handled by kmesh-cni.
// In istio sidecar mode, we donot need to delete the iptables.
}); err != nil {
return fmt.Errorf("error adding event handler to podInformer: %v", err)
}
Expand Down
7 changes: 4 additions & 3 deletions pkg/controller/bypass/bypass_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ func TestPodSidecarLabelChangeTriggersAddIptablesAction(t *testing.T) {
}

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

wg.Wait()
Expand All @@ -181,9 +181,10 @@ func TestPodSidecarLabelChangeTriggersAddIptablesAction(t *testing.T) {
enabled = false
disabled = false

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

wg.Wait()
Expand Down

0 comments on commit 2a46e99

Please sign in to comment.