3d373e9812
There were a few issues blocking Kolla from going up to the latest version of Docker which is 1.13. Most of these issues seem to have been addressed by 1.13.1. This patch updates the version installed by Kolla to 1.13.1 for the testing infrastructure to prevent the following bug which is causing gate failures: https://github.com/docker/docker/issues/28336 Change-Id: I0d3569b589ee792c9aa6eaa7c539219fcc784271
84 lines
2.6 KiB
Bash
Executable File
84 lines
2.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -o xtrace
|
|
set -o errexit
|
|
|
|
function add_key {
|
|
local counter=0
|
|
|
|
while :; do
|
|
if [[ "${counter}" -gt 5 ]]; then
|
|
echo "Failed to add Docker keyring"
|
|
exit 1
|
|
fi
|
|
# hkp://pool.sks-keyservers.net intermittently doesn't have the correct
|
|
# keyring. p80 is what the docker script pulls from and what we should
|
|
# use for reliability too
|
|
sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D && break || :
|
|
sleep 5
|
|
done
|
|
}
|
|
|
|
function setup_disk {
|
|
if [ ! -f /swapfile ]; then
|
|
sudo swapoff -a
|
|
sudo dd if=/dev/zero of=/swapfile bs=1M count=4096
|
|
sudo chmod 0600 /swapfile
|
|
sudo mkswap /swapfile
|
|
sudo /sbin/swapon /swapfile
|
|
fi
|
|
|
|
if [ ! -f /docker ]; then
|
|
sudo dd if=/dev/zero of=/docker bs=1M count=10240
|
|
sudo losetup -f /docker
|
|
DEV=$(losetup -a | awk -F: '/\/docker/ {print $1}')
|
|
fi
|
|
|
|
# Format Disks and setup Docker to use BTRFS
|
|
sudo parted ${DEV} -s -- mklabel msdos
|
|
sudo rm -rf /var/lib/docker
|
|
sudo mkdir /var/lib/docker
|
|
|
|
# We want to snapshot the entire docker directory so we have to first create a
|
|
# subvolume and use that as the root for the docker directory.
|
|
sudo mkfs.btrfs -f ${DEV}
|
|
sudo mount ${DEV} /var/lib/docker
|
|
sudo btrfs subvolume create /var/lib/docker/docker
|
|
sudo umount /var/lib/docker
|
|
sudo mount -o noatime,subvol=docker ${DEV} /var/lib/docker
|
|
}
|
|
|
|
# (SamYaple)TODO: Remove the path overriding
|
|
export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
|
|
|
|
source /etc/lsb-release
|
|
|
|
# Setup Docker repo and add signing key
|
|
echo "deb http://apt.dockerproject.org/repo ubuntu-${DISTRIB_CODENAME} main" | sudo tee /etc/apt/sources.list.d/docker.list
|
|
add_key
|
|
sudo apt-get update
|
|
sudo apt-get -y install --no-install-recommends 'docker-engine=1.13.1*'
|
|
|
|
sudo service docker stop
|
|
if [[ ${DISTRIB_CODENAME} == "trusty" ]]; then
|
|
sudo apt-get -y install --no-install-recommends btrfs-tools
|
|
setup_disk
|
|
echo "DOCKER_OPTS=\"-s btrfs --insecure-registry $(cat /etc/nodepool/primary_node_private):4000\"" | sudo tee /etc/default/docker
|
|
sudo mount --make-shared /run
|
|
sudo service docker start
|
|
else
|
|
sudo mkdir /etc/systemd/system/docker.service.d
|
|
sudo tee /etc/systemd/system/docker.service.d/kolla.conf << EOF
|
|
[Service]
|
|
ExecStart=
|
|
ExecStart=/usr/bin/dockerd --storage-driver overlay2 --insecure-registry $(cat /etc/nodepool/primary_node_private):4000
|
|
MountFlags=shared
|
|
EOF
|
|
sudo systemctl daemon-reload
|
|
sudo systemctl start docker
|
|
fi
|
|
|
|
sudo docker info
|
|
|
|
echo "Completed $0."
|