magnum/contrib/drivers/k8s_opensuse_v1/templates/fragments/configure-docker.sh

59 lines
1.3 KiB
Bash

#!/bin/sh
. /etc/sysconfig/heat-params
echo "stopping docker"
systemctl stop docker
ip link del docker0
if [ "$NETWORK_DRIVER" == "flannel" ]; then
FLANNEL_ENV=/run/flannel/subnet.env
attempts=60
while [[ ! -f $FLANNEL_ENV && $attempts != 0 ]]; do
echo "waiting for file $FLANNEL_ENV"
sleep 1
let attempts--
done
source $FLANNEL_ENV
if ! [ "\$FLANNEL_SUBNET" ] && [ "\$FLANNEL_MTU" ] ; then
echo "ERROR: missing required environment variables." >&2
exit 1
fi
sed -i '
/^DOCKER_OPTS=/ s/=.*/="--storage-driver=btrfs"/
/^DOCKER_NETWORK_OPTIONS=/ s|=.*|="--bip='"$FLANNEL_SUBNET"' --mtu='"$FLANNEL_MTU"'"|
' /etc/sysconfig/docker
fi
DOCKER_DEV=/dev/disk/by-id/virtio-${DOCKER_VOLUME:0:20}
attempts=60
while [[ ! -b $DOCKER_DEV && $attempts != 0 ]]; do
echo "waiting for disk $DOCKER_DEV"
sleep 0.5
udevadm trigger
let attempts--
done
if ! [ -b $DOCKER_DEV ]; then
echo "ERROR: device $DOCKER_DEV does not exist" >&2
exit 1
fi
mkfs.btrfs $DOCKER_DEV
mount $DOCKER_DEV /var/lib/docker
# make sure we pick up any modified unit files
systemctl daemon-reload
echo "activating docker service"
systemctl enable docker
echo "starting docker service"
systemctl --no-block start docker