Skip to content

Commit a60e264

Browse files
authored
Merge pull request #9932 from kubernetes/br_netfilter2
wsl2: log warning if br_netfilter cannot be enabled rather than fatally exit
2 parents 947749a + 789610b commit a60e264

File tree

2 files changed

+20
-19
lines changed

2 files changed

+20
-19
lines changed

pkg/minikube/cruntime/crio.go

+20
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,26 @@ func (r *CRIO) Active() bool {
109109
return r.Init.Active("crio")
110110
}
111111

112+
// enableIPForwarding configures IP forwarding, which is handled normally by Docker
113+
// Context: https://github.com/kubernetes/kubeadm/issues/1062
114+
func enableIPForwarding(cr CommandRunner) error {
115+
// The bridge-netfilter module enables iptables rules to work on Linux bridges
116+
// NOTE: br_netfilter isn't available in WSL2, but forwarding works fine there anyways
117+
c := exec.Command("sudo", "sysctl", "net.bridge.bridge-nf-call-iptables")
118+
if rr, err := cr.RunCmd(c); err != nil {
119+
klog.Infof("couldn't verify netfilter by %q which might be okay. error: %v", rr.Command(), err)
120+
c = exec.Command("sudo", "modprobe", "br_netfilter")
121+
if _, err := cr.RunCmd(c); err != nil {
122+
klog.Warningf("%q failed, which may be ok: %v", rr.Command(), err)
123+
}
124+
}
125+
c = exec.Command("sudo", "sh", "-c", "echo 1 > /proc/sys/net/ipv4/ip_forward")
126+
if _, err := cr.RunCmd(c); err != nil {
127+
return errors.Wrapf(err, "ip_forward")
128+
}
129+
return nil
130+
}
131+
112132
// Enable idempotently enables CRIO on a host
113133
func (r *CRIO) Enable(disOthers, _ bool) error {
114134
if disOthers {

pkg/minikube/cruntime/cruntime.go

-19
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ import (
2222
"os/exec"
2323

2424
"github.com/blang/semver"
25-
"github.com/pkg/errors"
2625
"k8s.io/klog/v2"
2726
"k8s.io/minikube/pkg/minikube/assets"
2827
"k8s.io/minikube/pkg/minikube/command"
@@ -210,21 +209,3 @@ func disableOthers(me Manager, cr CommandRunner) error {
210209
}
211210
return nil
212211
}
213-
214-
// enableIPForwarding configures IP forwarding, which is handled normally by Docker
215-
// Context: https://github.com/kubernetes/kubeadm/issues/1062
216-
func enableIPForwarding(cr CommandRunner) error {
217-
c := exec.Command("sudo", "sysctl", "net.bridge.bridge-nf-call-iptables")
218-
if rr, err := cr.RunCmd(c); err != nil {
219-
klog.Infof("couldn't verify netfilter by %q which might be okay. error: %v", rr.Command(), err)
220-
c = exec.Command("sudo", "modprobe", "br_netfilter")
221-
if _, err := cr.RunCmd(c); err != nil {
222-
return errors.Wrapf(err, "br_netfilter")
223-
}
224-
}
225-
c = exec.Command("sudo", "sh", "-c", "echo 1 > /proc/sys/net/ipv4/ip_forward")
226-
if _, err := cr.RunCmd(c); err != nil {
227-
return errors.Wrapf(err, "ip_forward")
228-
}
229-
return nil
230-
}

0 commit comments

Comments
 (0)