From 38a63e388d434af3bbb2d3f4fcedd75345d64480 Mon Sep 17 00:00:00 2001 From: Dawn Chen Date: Fri, 2 Dec 2016 16:09:16 -0800 Subject: [PATCH] Set kernel.softlockup_panic =1 based on the flag. --- cluster/common.sh | 1 + cluster/gce/config-default.sh | 4 ++++ cluster/gce/config-test.sh | 4 ++++ cluster/gce/configure-vm.sh | 1 + cluster/saltbase/salt/docker/init.sls | 14 ++++++++++++++ 5 files changed, 24 insertions(+) diff --git a/cluster/common.sh b/cluster/common.sh index e9bfc21f20d..3e338f5a43f 100755 --- a/cluster/common.sh +++ b/cluster/common.sh @@ -627,6 +627,7 @@ NETWORK_PROVIDER: $(yaml-quote ${NETWORK_PROVIDER:-}) NETWORK_POLICY_PROVIDER: $(yaml-quote ${NETWORK_POLICY_PROVIDER:-}) PREPULL_E2E_IMAGES: $(yaml-quote ${PREPULL_E2E_IMAGES:-}) HAIRPIN_MODE: $(yaml-quote ${HAIRPIN_MODE:-}) +SOFTLOCKUP_PANIC: $(yaml-quote ${SOFTLOCKUP_PANIC:-}) OPENCONTRAIL_TAG: $(yaml-quote ${OPENCONTRAIL_TAG:-}) OPENCONTRAIL_KUBERNETES_TAG: $(yaml-quote ${OPENCONTRAIL_KUBERNETES_TAG:-}) OPENCONTRAIL_PUBLIC_SUBNET: $(yaml-quote ${OPENCONTRAIL_PUBLIC_SUBNET:-}) diff --git a/cluster/gce/config-default.sh b/cluster/gce/config-default.sh index e6cbcbef2fc..83d2ead3068 100755 --- a/cluster/gce/config-default.sh +++ b/cluster/gce/config-default.sh @@ -173,3 +173,7 @@ SCHEDULING_ALGORITHM_PROVIDER="${SCHEDULING_ALGORITHM_PROVIDER:-}" # Optional: install a default StorageClass ENABLE_DEFAULT_STORAGE_CLASS="${ENABLE_DEFAULT_STORAGE_CLASS:-true}" + +# TODO(dawn1107): Remove this once the flag is built into CVM image. +# Kernel panic upon soft lockup issue +SOFTLOCKUP_PANIC="${SOFTLOCKUP_PANIC:-false}" # true, false diff --git a/cluster/gce/config-test.sh b/cluster/gce/config-test.sh index 606cfb7ff33..7f10e91b15b 100755 --- a/cluster/gce/config-test.sh +++ b/cluster/gce/config-test.sh @@ -210,3 +210,7 @@ SCHEDULING_ALGORITHM_PROVIDER="${SCHEDULING_ALGORITHM_PROVIDER:-}" # Optional: install a default StorageClass ENABLE_DEFAULT_STORAGE_CLASS="${ENABLE_DEFAULT_STORAGE_CLASS:-true}" + +# TODO(dawn1107): Remove this once the flag is built into CVM image. +# Kernel panic upon soft lockup issue +SOFTLOCKUP_PANIC="${SOFTLOCKUP_PANIC:-true}" # true, false diff --git a/cluster/gce/configure-vm.sh b/cluster/gce/configure-vm.sh index 5a46260e46c..03afb0b9c11 100755 --- a/cluster/gce/configure-vm.sh +++ b/cluster/gce/configure-vm.sh @@ -446,6 +446,7 @@ admission_control: '$(echo "$ADMISSION_CONTROL" | sed -e "s/'/''/g")' network_provider: '$(echo "$NETWORK_PROVIDER" | sed -e "s/'/''/g")' prepull_e2e_images: '$(echo "$PREPULL_E2E_IMAGES" | sed -e "s/'/''/g")' hairpin_mode: '$(echo "$HAIRPIN_MODE" | sed -e "s/'/''/g")' +softlockup_panic: '$(echo "$SOFTLOCKUP_PANIC" | sed -e "s/'/''/g")' opencontrail_tag: '$(echo "$OPENCONTRAIL_TAG" | sed -e "s/'/''/g")' opencontrail_kubernetes_tag: '$(echo "$OPENCONTRAIL_KUBERNETES_TAG")' opencontrail_public_subnet: '$(echo "$OPENCONTRAIL_PUBLIC_SUBNET")' diff --git a/cluster/saltbase/salt/docker/init.sls b/cluster/saltbase/salt/docker/init.sls index 6af992ddf7b..e14f0e35930 100644 --- a/cluster/saltbase/salt/docker/init.sls +++ b/cluster/saltbase/salt/docker/init.sls @@ -261,6 +261,20 @@ net.ipv4.ip_forward: sysctl.present: - value: 1 +{% if pillar.get('softlockup_panic', '').lower() == 'true' %} +# TODO(dchen1107) Remove this once kernel.softlockup_panic is built into the CVM image. +/etc/sysctl.conf: + file.append: + - text: + - "kernel.softlockup_panic = 1" + - "kernel.softlockup_all_cpu_backtrace = 1" + +'sysctl-reload': + cmd.run: + - name: 'sysctl --system' + - unless: 'sysctl -a | grep "kernel.softlockup_panic = 1"' +{% endif %} + {{ environment_file }}: file.managed: - source: salt://docker/docker-defaults