diff options
| author | Jenkins <jenkins@review.openstack.org> | 2015-05-27 13:49:54 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2015-05-27 13:49:55 +0000 |
| commit | c59b94a1fea62ca0c69c658a14e03be08149539c (patch) | |
| tree | 1a5ec78926680e6d581609b46f7805cda808b7a7 /tools/setup_docker.sh | |
| parent | 1061cc7692bfa99ac201044b73bb8a272f903f4f (diff) | |
| parent | 78b27e3e6017ceda4e15c5b2c87516ec3750fd98 (diff) | |
| download | kolla-c59b94a1fea62ca0c69c658a14e03be08149539c.tar.gz kolla-c59b94a1fea62ca0c69c658a14e03be08149539c.zip | |
Merge "Clean up the image functional test"
Diffstat (limited to 'tools/setup_docker.sh')
| -rwxr-xr-x | tools/setup_docker.sh | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/tools/setup_docker.sh b/tools/setup_docker.sh new file mode 100755 index 000000000..6be1ebeec --- /dev/null +++ b/tools/setup_docker.sh @@ -0,0 +1,73 @@ +#!/bin/bash +# +# This script is used to setup Kolla Docker environment, +# after running this script, you can run Kolla functional test. +# NOTE: This script was only tested on redhat/debian/suse platform families. +# + +set -xu + +DOCKER_MIN_VERSION=1.6.0 + +function check_prerequisites() { + if [[ $EUID -ne 0 ]]; then + echo "You must execute this script as root." 1>&2 + exit 1 + fi + if [ "$OSTYPE" != "linux-gnu" ]; then + echo Platform not supported + exit 255 + fi + if [ "$HOSTTYPE" != "x86_64" ]; then + echo Machine type not supported + exit 255 + fi +} + +function check_docker_version() { + local docker_version + local result + if type docker &>/dev/null; then + docker_version=$(docker --version 2>/dev/null | awk -F"[ ,]" '{print $3}') + result=$(awk 'BEGIN{print '$docker_version' >= '$DOCKER_MIN_VERSION'}') + if [ $result = 1 ]; then + return 0 + fi + fi + return 1 +} + +function start_docker() { + pkill -x -9 docker + if check_docker_version; then + docker -d &>/dev/null & + else + curl -sSL https://get.docker.com/builds/Linux/x86_64/docker-$DOCKER_MIN_VERSION -o /usr/local/bin/docker + chmod +x /usr/local/bin/docker + /usr/local/bin/docker -d &>/dev/null & + fi +} + +function create_group() { + getent group docker + result=$? + if [ $result -eq 0 ]; then # 0: key already exists, nothing to do + return + elif [ $result -eq 2 ]; then # 2: key could not be found in database + groupadd docker + chown root:docker /var/run/docker.sock + usermod -a -G docker ${SUDO_USER:-$USER} + else + echo Unexpected failure: $result + exit + fi +} + +# Check for root privileges and correct platform +check_prerequisites + +# Start Docker service +start_docker + +# Ensure executing user is placed in the docker group +create_group |
