# Yardstick repo
ENV YARDSTICK_REPO_DIR ${REPOS_DIR}/yardstick
ENV RELENG_REPO_DIR ${REPOS_DIR}/releng
+ENV STORPERF_REPO_DIR ${REPOS_DIR}/storperf
RUN apt-get update && apt-get install -y git python-setuptools python-pip
RUN easy_install -U setuptools==30.0.0
RUN git config --global http.sslVerify false
RUN git clone --depth 1 -b $BRANCH https://gerrit.opnfv.org/gerrit/yardstick ${YARDSTICK_REPO_DIR}
RUN git clone --depth 1 https://gerrit.opnfv.org/gerrit/releng ${RELENG_REPO_DIR}
+RUN git clone --depth 1 -b $BRANCH https://gerrit.opnfv.org/gerrit/storperf ${STORPERF_REPO_DIR}
WORKDIR ${YARDSTICK_REPO_DIR}
RUN ${YARDSTICK_REPO_DIR}/install.sh
# copy a admin-rc file for StorPerf integration to the deployment location
if [ "$NODE_NAME" == "huawei-pod1" ]; then
- bash $YARDSTICK_REPO_DIR/tests/ci/scp_storperf_admin-rc.sh
+ bash $YARDSTICK_REPO_DIR/tests/ci/scp_storperf_files.sh
fi
# Fetching id_rsa file from jump_server..."
ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
sshpass -p root scp 2>/dev/null $ssh_options ~/storperf_admin-rc \
root@192.168.200.1:/root/ &> /dev/null
+sshpass -p root scp 2>/dev/null $ssh_options /home/opnfv/repos/storperf/docker-compose/docker-compose.yaml \
+ root@192.168.200.1:/root/ &> /dev/null
+sshpass -p root scp 2>/dev/null $ssh_options /home/opnfv/repos/storperf/docker-compose/nginx.conf \
+ root@192.168.200.1:/root/ &> /dev/null
# StorPerf plugin installation script
# After installation, it will run StorPerf container on Jump Host
# Requirements:
-# 1. docker has been installed on the Jump Host
-# 2. Openstack environment file for storperf, '~/storperf_admin-rc', is ready.
+# 1. docker and docker-compose have been installed on the Jump Host
+# 2. Openstack environment file for storperf, '~/storperf_admin-rc', is ready
+# 3. Jump Host must have internet connectivity for downloading docker image
+# 4. Jump Host has access to the OpenStack Controller API
+# 5. Enough OpenStack floating IPs must be available to match your agent count
+# 6. The following ports are exposed if you use the supplied docker-compose.yaml file:
+# * 5000 for StorPerf ReST API and Swagger UI
+# * 8000 for StorPerf's Graphite Web Server
set -e
-mkdir -p /tmp/storperf-yardstick
+WWW_DATA_UID=33
+WWW_DATA_GID=33
-docker pull opnfv/storperf
+export TAG=${DOCKER_TAG:-latest}
+export ENV_FILE=~/storperf_admin-rc
+export CARBON_DIR=~/carbon
-STORPERF_DIR=/tmp/storperf-yardstick/carbon
-docker run -t \
---env-file ~/storperf_admin-rc \
--p 5000:5000 -p 8000:8000 \
--v $STORPERF_DIR:/opt/graphite/storage/whisper \
---name storperf-yardstick opnfv/storperf &
+sudo install --owner=${WWW_DATA_UID} --group=${WWW_DATA_GID} -d "${CARBON_DIR}"
-chown www-data:www-data $STORPERF_DIR
+docker-compose -f ~/docker-compose.yaml pull
+docker-compose -f ~/docker-compose.yaml up -d
set -e
-docker stop storperf-yardstick
-docker rm -f storperf-yardstick
-docker rmi opnfv/storperf
+export TAG=${DOCKER_TAG:-latest}
+export ENV_FILE=~/storperf_admin-rc
+export CARBON_DIR=~/carbon
-rm -rf /tmp/storperf-yardstick
+rm -rf "${CARBON_DIR}"
+
+docker-compose down
+
+for container_name in storperf swagger-ui http-front-end
+do
+ container=$(docker ps -a -q -f name=$container_name)
+ if [[ ! -z $container ]]
+ then
+ echo "Stopping any existing $container_name container"
+ docker rm -fv $container
+ fi
+done