Docker image cleanup 23/4023/8
authorJo¶rgen Karlsson <jorgen.w.karlsson@ericsson.com>
Mon, 7 Dec 2015 17:51:22 +0000 (18:51 +0100)
committerJörgen Karlsson <jorgen.w.karlsson@ericsson.com>
Tue, 8 Dec 2015 15:09:22 +0000 (15:09 +0000)
 - Renamed docker image 'opnfv/yardstick-ci' -> 'opnfv/yardstick'
   as recommended by project.
 - Added cirros image and releng repo to docker image in order to
   make it more usable in offline mode.
 - Renamed run_benchmarks to run_tests.sh
 - Moved some environment setups to a new file prepare_env.sh
 - Added daily test suites file for ericsson and LF pods.

Docker image is now built and pushed by releng script:
https://gerrit.opnfv.org/gerrit/gitweb?p=releng.git;a=blob;f=jjb/opnfv/opnfv-docker.sh

The ci/docker/Makefile file is not used by releng to build yardstick
image but the makefile can still be used to build and test docker
images locally.

Change-Id: If9d6740b39e91d145c587d8d5e2bd372d09a46a9
Signed-off-by: Jo¶rgen Karlsson <jorgen.w.karlsson@ericsson.com>
ci/docker/Makefile
ci/docker/yardstick-ci/Dockerfile
ci/docker/yardstick-ci/run_tests.sh [moved from ci/docker/yardstick-ci/run_benchmarks with 67% similarity]
ci/prepare_env.sh [new file with mode: 0755]
ci/yardstick-verify
tests/opnfv/test_suites/opnfv_ericsson_daily.yaml [new file with mode: 0644]
tests/opnfv/test_suites/opnfv_lf_daily.yaml [moved from tests/opnfv/test_suites/pod2_daily.yaml with 86% similarity]

index 8118996..036d67d 100644 (file)
@@ -9,19 +9,28 @@
 
 SHELL = /bin/bash
 
-IMAGE = opnfv/yardstick-ci
+IMAGE = opnfv/yardstick
+
+DOCKER_TAG = brahmaputra.0
 
 .PHONY: all
 all: .docker
 
 .docker:
-       /usr/bin/docker build --rm=true --no-cache=true -t $(IMAGE):14.04 yardstick-ci
-       /usr/bin/docker tag -f $(IMAGE):14.04 $(IMAGE)
+       /usr/bin/docker build --rm=true --no-cache=true -t $(IMAGE):$(DOCKER_TAG) yardstick-ci
+       /usr/bin/docker tag -f $(IMAGE):$(DOCKER_TAG) $(IMAGE):latest
        touch .docker
 
+
 .PHONY:        clean
 clean:
-       docker ps | grep $(IMAGE) | awk '{print $$1}' | xargs -r docker stop
-       docker ps -a | grep $(IMAGE) | awk '{print $$1}' | xargs -r docker rm
-       docker images -a | grep $(IMAGE) | awk '{print $$3}' | sort | uniq | xargs -r docker rmi
+       @docker ps | grep $(IMAGE) | awk '{print $$1}' | xargs -r docker stop
+       @docker ps -a | grep $(IMAGE) | awk '{print $$1}' | xargs -r docker rm
+       @echo "Docker images to remove:"
+       @docker images | head -1 && docker images | grep $(IMAGE) || true
+       @image_tags=($$(docker images | grep $(IMAGE) | awk '{print $$2}')) ; \
+       for tag in "$${image_tags[@]}"; do \
+          echo "Removing docker image $(IMAGE):$$tag..." ; \
+          docker rmi $(IMAGE):$$tag ; \
+       done
        rm -f .docker
index 9a1e832..229b912 100644 (file)
@@ -9,13 +9,14 @@
 
 FROM ubuntu:14.04
 
-LABEL image=opnfv/yardstick-ci
+LABEL image=opnfv/yardstick
 
 # GIT repo directory
 ENV REPOS_DIR /home/opnfv/repos
 
 # Yardstick repo
 ENV YARDSTICK_REPO_DIR ${REPOS_DIR}/yardstick
+ENV RELENG_REPO_DIR ${REPOS_DIR}/releng
 
 RUN apt-get update && apt-get install -y \
     wget \
@@ -37,5 +38,9 @@ RUN mkdir -p ${REPOS_DIR}
 
 RUN git config --global http.sslVerify false
 RUN git clone https://gerrit.opnfv.org/gerrit/yardstick ${YARDSTICK_REPO_DIR}
+RUN git clone https://gerrit.opnfv.org/gerrit/releng ${RELENG_REPO_DIR}
+
+ADD http://download.cirros-cloud.net/0.3.3/cirros-0.3.3-x86_64-disk.img /home/opnfv/images/
+
+COPY ./run_tests.sh /usr/local/bin/
 
-COPY ./run_benchmarks /usr/local/bin/
similarity index 67%
rename from ci/docker/yardstick-ci/run_benchmarks
rename to ci/docker/yardstick-ci/run_tests.sh
index 501b661..531feac 100755 (executable)
@@ -18,12 +18,6 @@ set -e
 : ${RELENG_REPO_DIR:='/home/opnfv/repos/releng'}
 : ${RELENG_BRANCH:='master'} # branch, tag, sha1 or refspec
 
-: ${INSTALLER_TYPE:='fuel'}
-: ${INSTALLER_IP:='10.20.0.2'}
-
-: ${POD_NAME:='opnfv-jump-2'}
-: ${EXTERNAL_NET:='net04_ext'}
-
 git_checkout()
 {
     if git cat-file -e $1^{commit} 2>/dev/null; then
@@ -54,26 +48,8 @@ cd $YARDSTICK_REPO_DIR
 git checkout master && git pull
 git_checkout $YARDSTICK_BRANCH $YARDSTICK_REPO
 
-echo
-echo "INFO: Creating openstack credentials .."
-
-# Create openstack credentials
-$RELENG_REPO_DIR/utils/fetch_os_creds.sh \
-    -d /tmp/openrc \
-    -i ${INSTALLER_TYPE} -a ${INSTALLER_IP}
-
-source /tmp/openrc
-
-# FIXME: Temporary OPNFV playground hack
-if [ "$INSTALLER_TYPE" == "fuel" ]; then
-    ssh_opts="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
-    if sshpass -p r00tme ssh 2>/dev/null $ssh_opts root@${INSTALLER_IP} \
-        fuel environment --env 1 | grep opnfv-virt; then
-        echo "INFO: applying OPNFV playground hack"
-        export OS_ENDPOINT_TYPE='publicURL'
-    fi
-fi
-
-export EXTERNAL_NET INSTALLER_TYPE POD_NAME
+# setup the environment
+source $YARDSTICK_REPO_DIR/ci/prepare_env.sh
 
+# run tests
 $YARDSTICK_REPO_DIR/ci/yardstick-verify $@
diff --git a/ci/prepare_env.sh b/ci/prepare_env.sh
new file mode 100755 (executable)
index 0000000..89d4ca7
--- /dev/null
@@ -0,0 +1,31 @@
+#!/bin/bash
+##############################################################################
+# Copyright (c) 2015 Ericsson AB and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+# Perepare the environment to run yardstick ci
+
+: ${INSTALLER_TYPE:='fuel'}
+: ${INSTALLER_IP:='10.20.0.2'}
+
+: ${POD_NAME:='opnfv-jump-2'}
+: ${EXTERNAL_NETWORK:='net04_ext'}
+
+echo
+echo "INFO: Creating openstack credentials .."
+
+# Create openstack credentials
+OPENRC=/home/opnfv/openrc
+if [ ! -f $OPENRC ]; then
+    $RELENG_REPO_DIR/utils/fetch_os_creds.sh \
+        -d $OPENRC \
+        -i ${INSTALLER_TYPE} -a ${INSTALLER_IP}
+fi
+source $OPENRC
+
+export EXTERNAL_NETWORK INSTALLER_TYPE POD_NAME
index beb2170..be1c125 100755 (executable)
@@ -127,15 +127,13 @@ load_cirros_image()
     echo
     echo "========== Loading cirros cloud image =========="
 
-    local image_file=
-
-    wget http://download.cirros-cloud.net/0.3.3/cirros-0.3.3-x86_64-disk.img -O /tmp/cirros.img
+    local image_file=/home/opnfv/images/cirros-0.3.3-x86_64-disk.img
 
     output=$(glance image-create \
         --name  cirros-0.3.3 \
         --disk-format qcow2 \
         --container-format bare \
-        --file /tmp/cirros.img)
+        --file $image_file)
     echo "$output"
 
     CIRROS_IMAGE_ID=$(echo "$output" | grep " id " | awk '{print $(NF-1)}')
diff --git a/tests/opnfv/test_suites/opnfv_ericsson_daily.yaml b/tests/opnfv/test_suites/opnfv_ericsson_daily.yaml
new file mode 100644 (file)
index 0000000..80689be
--- /dev/null
@@ -0,0 +1,10 @@
+---
+# LF POD 2 daily task suite
+
+schema: "yardstick:suite:0.1"
+
+name: "opnfv_ericsson_daily"
+test_cases_dir: "tests/opnfv/test_cases/"
+test_cases:
+-
+  file_name: opnfv_yardstick_tc002.yaml
similarity index 86%
rename from tests/opnfv/test_suites/pod2_daily.yaml
rename to tests/opnfv/test_suites/opnfv_lf_daily.yaml
index 15252be..022aeec 100644 (file)
@@ -3,7 +3,7 @@
 
 schema: "yardstick:suite:0.1"
 
-name: "opnfv_pod2_daily"
+name: "opnfv_lf_daily"
 test_cases_dir: "tests/opnfv/test_cases/"
 test_cases:
 -