diff --git a/v2/controllers/egress_watcher.go b/v2/controllers/egress_watcher.go index 1e178cdb..082a6161 100644 --- a/v2/controllers/egress_watcher.go +++ b/v2/controllers/egress_watcher.go @@ -90,8 +90,10 @@ func (r *EgressWatcher) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.R return ctrl.Result{}, nil } -func (r *EgressWatcher) reconcileEgressClient(ctx context.Context, eg *coilv2.Egress, pod *corev1.Pod, logger *logr.Logger) error { - hook, err := r.getHook(ctx, eg, logger) +func (r *EgressWatcher) reconcileEgressClient(ctx context.Context, eg *coilv2.Egress, pod *corev1.Pod, l *logr.Logger) error { + logger := l.WithValues("pod_name", pod.Name, "pod_namespace", pod.Namespace) + logger.Info("reconcile egress client") + hook, err := r.getHook(ctx, eg, &logger) if err != nil { return fmt.Errorf("failed to setup NAT hook: %w", err) } @@ -183,6 +185,7 @@ func (r *EgressWatcher) hook(gwn gwNets, log *logr.Logger) func(ipv4, ipv6 net.I return fmt.Errorf("natClient hasn't been initialized: %w", err) } + log.Info("add a fou device by EgressWatcher", "gateway", gwn.gateway.String()) link, err := ft.AddPeer(gwn.gateway, gwn.sportAuto) if errors.Is(err, founat.ErrIPFamilyMismatch) { // ignore unsupported IP family link diff --git a/v2/pkg/founat/fou.go b/v2/pkg/founat/fou.go index bc1ae154..d78ded73 100644 --- a/v2/pkg/founat/fou.go +++ b/v2/pkg/founat/fou.go @@ -100,6 +100,9 @@ func (t *fouTunnel) Init() error { if err := modProbe("fou"); err != nil { return fmt.Errorf("failed to load fou module: %w", err) } + if t.logFunc != nil { + t.logFunc("add FoU devide for IPv4") + } err := netlink.FouAdd(netlink.Fou{ Family: netlink.FAMILY_V4, Protocol: 4, // IPv4 over IPv4 (so-called IPIP) diff --git a/v2/pkg/nodenet/pod.go b/v2/pkg/nodenet/pod.go index 0dfd50d8..5cfb5629 100644 --- a/v2/pkg/nodenet/pod.go +++ b/v2/pkg/nodenet/pod.go @@ -441,6 +441,7 @@ func (pn *podNetwork) Update(podIPv4, podIPv6 net.IP, hook SetupHook) error { defer containerNS.Close() err = containerNS.Do(func(ns.NetNS) error { + pn.log.Info("do the hook function", "netns", netNsPath, "pod_address", podIPv4) if hook != nil { return hook(podIPv4, podIPv6) } diff --git a/v2/runners/coild_server.go b/v2/runners/coild_server.go index df0ec583..74e1b71a 100644 --- a/v2/runners/coild_server.go +++ b/v2/runners/coild_server.go @@ -358,6 +358,7 @@ func (s *coildServer) getHook(ctx context.Context, pod *corev1.Pod) (nodenet.Set } if len(gwlist) > 0 { + logger = logger.With(zap.String("pod_name", pod.Name), zap.String("pod_namespace", pod.Namespace)) return s.natSetup.Hook(gwlist, logger), nil } return nil, nil