mirror of
https://github.com/k3s-io/k3s.git
synced 2024-06-07 19:41:36 +00:00
ba70c41cce
This attempts to update logging statements to make them consistent through out the code base. It also adds additional context to messages where possible, simplifies messages, and updates level where necessary.
45 lines
1.3 KiB
Go
45 lines
1.3 KiB
Go
// +build !windows
|
|
|
|
package syssetup
|
|
|
|
import (
|
|
"io/ioutil"
|
|
"os"
|
|
"os/exec"
|
|
|
|
"github.com/sirupsen/logrus"
|
|
)
|
|
|
|
func loadKernelModule(moduleName string) {
|
|
if _, err := os.Stat("/sys/module/" + moduleName); err == nil {
|
|
logrus.Info("Module " + moduleName + " was already loaded")
|
|
return
|
|
}
|
|
|
|
if err := exec.Command("modprobe", moduleName).Run(); err != nil {
|
|
logrus.Warn("Failed to start " + moduleName + " module")
|
|
}
|
|
}
|
|
|
|
func enableSystemControl(file string) {
|
|
if err := ioutil.WriteFile(file, []byte("1"), 0640); err != nil {
|
|
logrus.Warnf("Failed to write value 1 at "+file+": %v", err)
|
|
}
|
|
}
|
|
|
|
func Configure() {
|
|
loadKernelModule("overlay")
|
|
loadKernelModule("nf_conntrack")
|
|
loadKernelModule("br_netfilter")
|
|
|
|
// Kernel is inconsistent about how devconf is configured for
|
|
// new network namespaces between ipv4 and ipv6. Make sure to
|
|
// enable forwarding on all and default for both ipv4 and ipv8.
|
|
enableSystemControl("/proc/sys/net/ipv4/conf/all/forwarding")
|
|
enableSystemControl("/proc/sys/net/ipv4/conf/default/forwarding")
|
|
enableSystemControl("/proc/sys/net/ipv6/conf/all/forwarding")
|
|
enableSystemControl("/proc/sys/net/ipv6/conf/default/forwarding")
|
|
enableSystemControl("/proc/sys/net/bridge/bridge-nf-call-iptables")
|
|
enableSystemControl("/proc/sys/net/bridge/bridge-nf-call-ip6tables")
|
|
}
|