diff options
author | Jo¶rgen Karlsson <jorgen.w.karlsson@ericsson.com> | 2015-12-07 18:51:22 +0100 |
---|---|---|
committer | Jörgen Karlsson <jorgen.w.karlsson@ericsson.com> | 2015-12-08 15:09:22 +0000 |
commit | 70c27f24d07411103fb63090d17390f5ea249ebc (patch) | |
tree | 8e831abdde3f7d0c3bc67b79e8358d0d120cb71f /ci | |
parent | 7dcceb89768b2ab2de9d88718978c850afd092dd (diff) |
Docker image cleanup
- 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>
Diffstat (limited to 'ci')
-rw-r--r-- | ci/docker/Makefile | 21 | ||||
-rw-r--r-- | ci/docker/yardstick-ci/Dockerfile | 9 | ||||
-rwxr-xr-x | ci/docker/yardstick-ci/run_tests.sh (renamed from ci/docker/yardstick-ci/run_benchmarks) | 30 | ||||
-rwxr-xr-x | ci/prepare_env.sh | 31 | ||||
-rwxr-xr-x | ci/yardstick-verify | 6 |
5 files changed, 58 insertions, 39 deletions
diff --git a/ci/docker/Makefile b/ci/docker/Makefile index 81189960d..036d67db3 100644 --- a/ci/docker/Makefile +++ b/ci/docker/Makefile @@ -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 diff --git a/ci/docker/yardstick-ci/Dockerfile b/ci/docker/yardstick-ci/Dockerfile index 9a1e83262..229b91227 100644 --- a/ci/docker/yardstick-ci/Dockerfile +++ b/ci/docker/yardstick-ci/Dockerfile @@ -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/ diff --git a/ci/docker/yardstick-ci/run_benchmarks b/ci/docker/yardstick-ci/run_tests.sh index 501b661be..531feacc2 100755 --- a/ci/docker/yardstick-ci/run_benchmarks +++ b/ci/docker/yardstick-ci/run_tests.sh @@ -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 index 000000000..89d4ca74d --- /dev/null +++ b/ci/prepare_env.sh @@ -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 diff --git a/ci/yardstick-verify b/ci/yardstick-verify index beb2170d3..be1c1250e 100755 --- a/ci/yardstick-verify +++ b/ci/yardstick-verify @@ -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)}') |