From 47c3b05fa356b691137b1eda03686559df63dee9 Mon Sep 17 00:00:00 2001 From: Yu-Ju Hong Date: Mon, 28 Nov 2016 14:26:32 -0800 Subject: [PATCH] GCI: Remove /var/lib/docker/network This avoids running into corrupt network checkpoint issues. --- cluster/gce/gci/configure-helper.sh | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/cluster/gce/gci/configure-helper.sh b/cluster/gce/gci/configure-helper.sh index 9be184154c1..013ab4fd11e 100644 --- a/cluster/gce/gci/configure-helper.sh +++ b/cluster/gce/gci/configure-helper.sh @@ -409,9 +409,22 @@ function assemble-docker-flags { fi echo "DOCKER_OPTS=\"${docker_opts} ${EXTRA_DOCKER_OPTS:-}\"" > /etc/default/docker - # If using a network plugin, we need to explicitly restart docker daemon, because - # kubelet will not do it. + if [[ "${use_net_plugin}" == "true" ]]; then + # If using a network plugin, extend the docker configuration to always remove + # the network checkpoint to avoid corrupt checkpoints. + # (https://github.com/docker/docker/issues/18283). + echo "Extend the default docker.service configuration" + mkdir -p /etc/systemd/system/docker.service.d + cat </etc/systemd/system/docker.service.d/01network.conf +[Service] +ExecStartPre=/bin/sh -x -c "rm -rf /var/lib/docker/network" +EOF + + systemctl daemon-reload + + # If using a network plugin, we need to explicitly restart docker daemon, because + # kubelet will not do it. echo "Docker command line is updated. Restart docker to pick it up" systemctl restart docker fi