From 789610bbafab75340c873bf623e4a49b5c9b6460 Mon Sep 17 00:00:00 2001 From: Thomas Stromberg Date: Fri, 11 Dec 2020 10:58:46 -0800 Subject: [PATCH] Log warning if br_netfilter cannot be enabled rather than fatally exiting --- pkg/minikube/cruntime/crio.go | 20 ++++++++++++++++++++ pkg/minikube/cruntime/cruntime.go | 19 ------------------- 2 files changed, 20 insertions(+), 19 deletions(-) diff --git a/pkg/minikube/cruntime/crio.go b/pkg/minikube/cruntime/crio.go index 6169ad910..8483752d8 100644 --- a/pkg/minikube/cruntime/crio.go +++ b/pkg/minikube/cruntime/crio.go @@ -109,6 +109,26 @@ func (r *CRIO) Active() bool { return r.Init.Active("crio") } +// enableIPForwarding configures IP forwarding, which is handled normally by Docker +// Context: https://github.com/kubernetes/kubeadm/issues/1062 +func enableIPForwarding(cr CommandRunner) error { + // The bridge-netfilter module enables iptables rules to work on Linux bridges + // NOTE: br_netfilter isn't available in WSL2, but forwarding works fine there anyways + c := exec.Command("sudo", "sysctl", "net.bridge.bridge-nf-call-iptables") + if rr, err := cr.RunCmd(c); err != nil { + klog.Infof("couldn't verify netfilter by %q which might be okay. error: %v", rr.Command(), err) + c = exec.Command("sudo", "modprobe", "br_netfilter") + if _, err := cr.RunCmd(c); err != nil { + klog.Warningf("%q failed, which may be ok: %v", rr.Command(), err) + } + } + c = exec.Command("sudo", "sh", "-c", "echo 1 > /proc/sys/net/ipv4/ip_forward") + if _, err := cr.RunCmd(c); err != nil { + return errors.Wrapf(err, "ip_forward") + } + return nil +} + // Enable idempotently enables CRIO on a host func (r *CRIO) Enable(disOthers, _ bool) error { if disOthers { diff --git a/pkg/minikube/cruntime/cruntime.go b/pkg/minikube/cruntime/cruntime.go index 332dc1be4..b6c67c8a1 100644 --- a/pkg/minikube/cruntime/cruntime.go +++ b/pkg/minikube/cruntime/cruntime.go @@ -22,7 +22,6 @@ import ( "os/exec" "github.com/blang/semver" - "github.com/pkg/errors" "k8s.io/klog/v2" "k8s.io/minikube/pkg/minikube/assets" "k8s.io/minikube/pkg/minikube/command" @@ -210,21 +209,3 @@ func disableOthers(me Manager, cr CommandRunner) error { } return nil } - -// enableIPForwarding configures IP forwarding, which is handled normally by Docker -// Context: https://github.com/kubernetes/kubeadm/issues/1062 -func enableIPForwarding(cr CommandRunner) error { - c := exec.Command("sudo", "sysctl", "net.bridge.bridge-nf-call-iptables") - if rr, err := cr.RunCmd(c); err != nil { - klog.Infof("couldn't verify netfilter by %q which might be okay. error: %v", rr.Command(), err) - c = exec.Command("sudo", "modprobe", "br_netfilter") - if _, err := cr.RunCmd(c); err != nil { - return errors.Wrapf(err, "br_netfilter") - } - } - c = exec.Command("sudo", "sh", "-c", "echo 1 > /proc/sys/net/ipv4/ip_forward") - if _, err := cr.RunCmd(c); err != nil { - return errors.Wrapf(err, "ip_forward") - } - return nil -} -- GitLab