51 lines
1.6 KiB
Bash
51 lines
1.6 KiB
Bash
#!/bin/bash
|
|
|
|
set +x
|
|
|
|
echo "START: install cri"
|
|
|
|
. /etc/sysconfig/heat-params
|
|
set -x
|
|
|
|
ssh_cmd="ssh -F /srv/magnum/.ssh/config root@localhost"
|
|
|
|
if [ "${CONTAINER_RUNTIME}" = "containerd" ] ; then
|
|
$ssh_cmd systemctl disable docker
|
|
if [ -z "${CONTAINERD_TARBALL_URL}" ] ; then
|
|
CONTAINERD_TARBALL_URL="https://storage.googleapis.com/cri-containerd-release/cri-containerd-${CONTAINERD_VERSION}.linux-amd64.tar.gz"
|
|
fi
|
|
i=0
|
|
until curl -o /srv/magnum/cri-containerd.tar.gz "${CONTAINERD_TARBALL_URL}"
|
|
do
|
|
i=$((i + 1))
|
|
[ $i -lt 5 ] || break;
|
|
sleep 5
|
|
done
|
|
|
|
if ! echo "${CONTAINERD_TARBALL_SHA256} /srv/magnum/cri-containerd.tar.gz" | sha256sum -c - ; then
|
|
echo "ERROR cri-containerd.tar.gz computed checksum did NOT match, exiting."
|
|
exit 1
|
|
fi
|
|
$ssh_cmd tar xzvf /srv/magnum/cri-containerd.tar.gz -C / --no-same-owner --touch --no-same-permissions
|
|
$ssh_cmd systemctl daemon-reload
|
|
$ssh_cmd systemctl enable containerd
|
|
$ssh_cmd systemctl start containerd
|
|
else
|
|
# CONTAINER_RUNTIME=host-docker
|
|
$ssh_cmd systemctl disable docker
|
|
if $ssh_cmd cat /usr/lib/systemd/system/docker.service | grep 'native.cgroupdriver'; then
|
|
$ssh_cmd cp /usr/lib/systemd/system/docker.service /etc/systemd/system/
|
|
sed -i "s/\(native.cgroupdriver=\)\w\+/\1$CGROUP_DRIVER/" \
|
|
/etc/systemd/system/docker.service
|
|
else
|
|
cat > /etc/systemd/system/docker.service.d/cgroupdriver.conf << EOF
|
|
ExecStart=---exec-opt native.cgroupdriver=$CGROUP_DRIVER
|
|
EOF
|
|
fi
|
|
|
|
$ssh_cmd systemctl daemon-reload
|
|
$ssh_cmd systemctl enable docker
|
|
fi
|
|
|
|
echo "END: install cri"
|