From a57cf4bc8303d664a74545738c519f641092c1e8 Mon Sep 17 00:00:00 2001 From: Martynas Pumputis Date: Tue, 28 Feb 2017 11:19:13 +0000 Subject: [PATCH] Ignore modprobe errors in weave-kube/launch.sh weave-kube is run by alpine image which uses busybox. modprobe of busybox will return the "module not found" error [1], if a module is built-in, which is an opposite behavior to modprobe distributed in mainstream distros (e.g. ubuntu). [1]: https://bugs.busybox.net/show_bug.cgi?id=5270 --- prog/weave-kube/launch.sh | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/prog/weave-kube/launch.sh b/prog/weave-kube/launch.sh index 16cd5d57..8a3484d7 100755 --- a/prog/weave-kube/launch.sh +++ b/prog/weave-kube/launch.sh @@ -2,6 +2,10 @@ set -e +modprobe_safe() { + modprobe $1 || echo "Ignore the error if \"$1\" is built-in in the kernel" +} + # Default if not supplied - same as weave net default IPALLOC_RANGE=${IPALLOC_RANGE:-10.32.0.0/12} HTTP_ADDR=${WEAVE_HTTP_ADDR:-127.0.0.1:6784} @@ -17,8 +21,8 @@ EXPECT_NPC=${EXPECT_NPC:-1} # Ensure we have the required modules for NPC if [ "${EXPECT_NPC}" != "0" ]; then - modprobe br_netfilter - modprobe xt_set + modprobe_safe br_netfilter + modprobe_safe xt_set fi # kube-proxy requires that bridged traffic passes through netfilter