kolla/tests/setup_Debian.sh
Martin André 40b8a0243e Skip gate FS optimization if no secondary disk
This commit removes the assumption that all gate nodes have a secondary
disk, and skip tuning the filesystem if the node doesn't have one.

This fixes gate failures on OVH nodes.

Closes-Bug: #1525047

Change-Id: Ief22f34b32caf7a8b446df888fc5cc1964ad272e
2015-12-11 15:31:35 +09:00

43 lines
1.6 KiB
Bash
Executable File

#!/bin/bash
set -o xtrace
set -o errexit
DEV=$1
# (SamYaple)TODO: Remove the path overriding
export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# Setup Docker repo and add signing key
echo 'deb http://apt.dockerproject.org/repo ubuntu-trusty main' | sudo tee /etc/apt/sources.list.d/docker.list
sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
sudo apt-get update
sudo apt-get install -y --no-install-recommends docker-engine=1.8.2-0~trusty btrfs-tools
# Only do FS optimization if we have a secondary disk
if [[ -b /dev/${DEV} ]]; then
# The reason for using BTRFS is stability. There are numerous issues with the
# devicemapper backed on Ubuntu and AUFS is slow. BTRFS is very solid as a
# backend in my experince. I use ie almost exclusively.
# Format Disks and setup Docker to use BTRFS
sudo umount /dev/${DEV} || true
sudo parted /dev/${DEV} -s -- mklabel msdos
sudo service docker stop
echo 'DOCKER_OPTS="-s btrfs"' | sudo tee /etc/default/docker
sudo rm -rf /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/${DEV}
sudo mount /dev/${DEV} /var/lib/docker
sudo btrfs subvolume create /var/lib/docker/docker
sudo umount /var/lib/docker
sudo mount -o noatime,compress=lzo,space_cache,subvol=docker /dev/${DEV} /var/lib/docker
sudo service docker start
fi
sudo docker info
echo "Completed $0."