From 69316556d17eb5acc580c1354be1f18c49b24935 Mon Sep 17 00:00:00 2001
From: Chen Zhiwei <zhiwchen@cn.ibm.com>
Date: Tue, 28 Apr 2015 13:48:30 +0800
Subject: [PATCH] Add setup Docker script

This script will setup Docker environment for Kolla functional test.
This script will not affect the users exist Docker environment, only
added a new Docker binary to /usr/local/bin directory.

Change-Id: I9669461df198d9192e220b51cba1e034040d7ed3
---
 tests/setup_docker.sh | 47 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)
 create mode 100755 tests/setup_docker.sh

diff --git a/tests/setup_docker.sh b/tests/setup_docker.sh
new file mode 100755
index 0000000000..ba84a35e79
--- /dev/null
+++ b/tests/setup_docker.sh
@@ -0,0 +1,47 @@
+#!/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 -xeu
+
+DOCKER_MIN_VERSION=1.6.0
+
+function check_platform() {
+    if [ "$OSTYPE" != "linux-gnu" ]; then
+        echo Platform not supported
+        exit 255
+    fi
+}
+
+function check_docker_version() {
+    local docker_version
+    local result
+    if which 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 -9 docker || true
+    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
+}
+
+## Check platfrom
+check_platfrom
+
+## Start Docker service
+start_docker