aboutsummaryrefslogtreecommitdiffstats
path: root/integration
diff options
context:
space:
mode:
authorzhihui wu <wu.zhihui1@zte.com.cn>2017-08-16 15:56:17 +0800
committerzhihui wu <wu.zhihui1@zte.com.cn>2017-08-18 16:01:39 +0800
commit70fc96ee9d7785a46de6847cd8bbb54a26bff3eb (patch)
treeda9fedcebcffc48a9ea7373deb228f1d6c02f835 /integration
parent84ea7388ecb34034f7c6886886c46b00afc82c2c (diff)
refactor storperf scripts structure
- Run qtip and storperf containers by docker-compose - Cope the current patch changes into qtip container for verification - Run the script run_storage_qpi.sh for storperf test Change-Id: Ic140fb7531d270b9c62bcd72f5dbc13917534daf Signed-off-by: zhihui wu <wu.zhihui1@zte.com.cn>
Diffstat (limited to 'integration')
-rw-r--r--integration/storperf/README.md45
-rwxr-xr-xintegration/storperf/cleanup.sh14
-rw-r--r--integration/storperf/default_job.json15
-rw-r--r--integration/storperf/default_stack.json6
-rw-r--r--integration/storperf/docker-compose.yaml48
-rwxr-xr-xintegration/storperf/launch_containers.sh100
-rwxr-xr-xintegration/storperf/prepare.sh74
-rwxr-xr-xintegration/storperf/run_ci.sh21
-rwxr-xr-xintegration/storperf/start_job.sh109
-rw-r--r--integration/storperf/storperf_requirments.txt5
10 files changed, 0 insertions, 437 deletions
diff --git a/integration/storperf/README.md b/integration/storperf/README.md
deleted file mode 100644
index bdcc7e70..00000000
--- a/integration/storperf/README.md
+++ /dev/null
@@ -1,45 +0,0 @@
-# Usage
-
-Please make sure pip, docker and docker-compose are installer on your environment.
-
-1. Launch qtip and storperf containers.
-
- ```
- $ cd qtip/integration/storperf
- $ bash launch_containers.sh -t apex -n ""
-
- Arguments:
-
- -t : Installer type. For now only supports Apex.
- -n : Node name.
- ```
-
- Then you will get 5 containers:
-
- ```
- CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
- 2c079d5d88bc opnfv/qtip "/usr/bin/supervisord" 38 minutes ago Up 38 minutes 5000/tcp qtip
- 2032a16dab17 opnfv/storperf-httpfrontend "nginx -g 'daemon ..." 38 minutes ago Up 38 minutes 80/tcp, 0.0.0.0:5000->5000/tcp storperf-httpfrontend
- c0d3e2763d35 schickling/swagger-ui "sh run.sh" 39 minutes ago Up 38 minutes 80/tcp storperf-swaggerui
- 0e08a1968829 opnfv/storperf-reporting "python app.py" 39 minutes ago Up 38 minutes 0.0.0.0:5080->5000/tcp storperf-reporting
- b92967139d8e opnfv/storperf-master "/usr/bin/supervisord" 39 minutes ago Up 39 minutes 5000/tcp, 0.0.0.0:8000->8000/tcp storperf-master
- ```
-
-2. Prepare environment.
-
- ```
- $ docker exec qtip bash -c "/home/opnfv/repos/qtip/integration/storperf/prepare.sh"
- ```
-
- This command can create a flavor and upload a Ubuntu 16.04 image on OpenStack.
-
-3. Run storperf job.
-
- ```
- $ docker exec qtip bash -c "/home/opnfv/repos/qtip/integration/storperf/start_job.sh -s stack.json -j job.json"
-
- Arguments:
-
- -s : Stack configuration json file. If not given, default_stack.json will be used.
- -j : Storperf job configuration json file. If not given, default_job.json will be used.
- ```
diff --git a/integration/storperf/cleanup.sh b/integration/storperf/cleanup.sh
deleted file mode 100755
index 1aee1658..00000000
--- a/integration/storperf/cleanup.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-#! /bin/bash
-##############################################################################
-# Copyright (c) 2017 ZTE 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
-##############################################################################
-
-echo "Deleting image"
-openstack image delete "Ubuntu 16.04 x86_64"
-
-echo "Deteing flavor"
-openstack flavor delete storperf
diff --git a/integration/storperf/default_job.json b/integration/storperf/default_job.json
deleted file mode 100644
index d0e1516d..00000000
--- a/integration/storperf/default_job.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "block_sizes": "1024",
- "deadline": 30,
- "steady_state_samples": 2,
- "queue_depths": "1",
- "workload": "rw",
- "metadata": {
- "disk_type": "HDD",
- "scenario_name": "none",
- "storage_node_count": 2,
- "version": "",
- "build_tag": "",
- "test_case": "snia_steady_state"
- }
-}
diff --git a/integration/storperf/default_stack.json b/integration/storperf/default_stack.json
deleted file mode 100644
index 79d8fc46..00000000
--- a/integration/storperf/default_stack.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "agent_count": 2,
- "agent_image": "Ubuntu 16.04 x86_64",
- "public_network": "external",
- "volume_size": 2
-}
diff --git a/integration/storperf/docker-compose.yaml b/integration/storperf/docker-compose.yaml
deleted file mode 100644
index 8cef5bc3..00000000
--- a/integration/storperf/docker-compose.yaml
+++ /dev/null
@@ -1,48 +0,0 @@
-##############################################################################
-# Copyright (c) 2017 Dell EMC, ZTE 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
-##############################################################################
-
-version: '2'
-services:
-
-
- storperf-master:
- container_name: "storperf-master"
- image: opnfv/storperf-master
- ports:
- - "8000:8000"
- env_file: ${ENV_FILE}
- volumes:
- - ${CARBON_DIR}:/opt/graphite/storage/whisper
-
- storperf-reporting:
- container_name: "storperf-reporting"
- image: opnfv/storperf-reporting
- ports:
- - "5080:5000"
-
- storperf-swaggerui:
- container_name: "storperf-swaggerui"
- image: "schickling/swagger-ui"
-
- storperf-httpfrontend:
- container_name: "storperf-httpfrontend"
- image: opnfv/storperf-httpfrontend
- ports:
- - "5000:5000"
- links:
- - storperf-master
- - storperf-reporting
- - storperf-swaggerui
-
- qtip:
- container_name: qtip
- image: opnfv/qtip
- env_file: ${ENV_FILE}
- links:
- - storperf-httpfrontend
diff --git a/integration/storperf/launch_containers.sh b/integration/storperf/launch_containers.sh
deleted file mode 100755
index 3fcf8052..00000000
--- a/integration/storperf/launch_containers.sh
+++ /dev/null
@@ -1,100 +0,0 @@
-#! /bin/bash
-##############################################################################
-# Copyright (c) 2017 ZTE 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
-##############################################################################
-
-usage(){
- echo "usage: $0 -t <installer_type> -n <node_name>" >&2
-}
-
-#Get options
-while getopts ":t:n:he" optchar; do
- case "${optchar}" in
- t) installer_type=${OPTARG} ;;
- n) node_name=${OPTARG} ;;
- h) usage
- exit 0
- ;;
- *) echo "Non-option argument: '-${OPTARG}'" >&2
- usage
- exit 2
- ;;
- esac
-done
-
-
-#set vars from env if not provided by user as options
-installer_type=${installer_type:-$INSTALLER_TYPE}
-node_name=${node_name:-$NODE_NAME}
-
-case $installer_type in
- apex)
- installer_ip=`sudo virsh domifaddr undercloud | grep ipv4 | awk '{print $4}' | cut -d/ -f1`
- ;;
- *)
-
- echo "Unsupported $installer_type. Cannot continue!"
- exit 1
-esac
-
-if [[ -z $WORKSPACE ]];then
- WORKSPACE=`pwd`
-fi
-
-git clone --depth 1 https://gerrit.opnfv.org/gerrit/releng $WORKSPACE/releng
-
-$WORKSPACE/releng/utils/fetch_os_creds.sh -i ${installer_type} -a ${installer_ip} -d $WORKSPACE/openrc
-
-grep "export" $WORKSPACE/openrc | sed "s/export //" > $WORKSPACE/admin.rc
-echo "INSTALLER_TYPE=${installer_type}" >> $WORKSPACE/admin.rc
-echo "INSTALLER_IP=${installer_ip}" >> $WORKSPACE/admin.rc
-echo "NODE_NAME=${node_name}" >> $WORKSPACE/admin.rc
-export ENV_FILE=$WORKSPACE/admin.rc
-
-export CARBON_DIR=$WORKSPACE/carbon/
-WWW_DATA_UID=33
-WWW_DATA_GID=33
-sudo install --owner=${WWW_DATA_UID} --group=${WWW_DATA_GID} -d "${CARBON_DIR}"
-
-clean_storperf_container()
-{
- docker-compose -f docker-compose.yaml down
-
- for name in qtip storperf-master storperf-swaggerui storperf-httpfrontend storperf-reporting
- do
- container=`docker ps -a -q -f name=$name`
- if [[ ! -z $container ]];then
- echo "Stopping any existing $name container"
- docker rm -fv $container
- fi
-
- image=`docker images opnfv/$name`
- if [[ ! -z $image ]];then
- echo "Deleteing any existing opnfv/$name image"
- docker rmi -f opnfv/$container_name
- fi
- done
-}
-
-launch_storperf_container()
-{
- docker-compose pull
- docker-compose -f docker-compose.yaml up -d
-
- echo "Waiting for StorPerf to become active"
-
- while [ $(curl -s -o /dev/null -I -w "%{http_code}" -X GET http://127.0.0.1:5000/api/v1.0/configurations) != "200" ]
- do
- sleep 1
- done
-}
-
-echo "Clean existing storperf containers"
-clean_storperf_container
-
-echo "Launch new storperf containers"
-launch_storperf_container \ No newline at end of file
diff --git a/integration/storperf/prepare.sh b/integration/storperf/prepare.sh
deleted file mode 100755
index 345a80bc..00000000
--- a/integration/storperf/prepare.sh
+++ /dev/null
@@ -1,74 +0,0 @@
-#! /bin/bash
-##############################################################################
-# Copyright (c) 2017 ZTE 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
-##############################################################################
-
-# See https://stackoverflow.com/questions/59895/getting-the-source-directory-of-a-bash-script-from-within
-script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-
-pip install -r $script_dir/storperf_requirements.txt
-
-if [[ -z $WORKSPACE ]];then
- WORKSPACE=`pwd`
-fi
-
-
-delete_storperf_stack()
-{
- echo "Checking for an existing stack"
- STACK_ID=`openstack stack list | grep StorPerfAgentGroup | awk '{print $2}'`
- if [[ ! -z $STACK_ID ]];then
- openstack stack delete --yes --wait StorPerfAgentGroup
- fi
-}
-
-
-load_ubuntu_image()
-{
- echo "Checking for Ubuntu 16.04 image in Glance"
- IMAGE=`openstack image list | grep "Ubuntu 16.04 x86_64"`
- if [[ -z "$IMAGE" ]];then
- cd $WORKSPACE
- if [[ ! -f ubuntu-16.04-server-cloudimg-amd64-disk1.img ]];then
- echo "download Ubuntu 16.04 image"
- wget -q https://cloud-images.ubuntu.com/releases/16.04/release/ubuntu-16.04-server-cloudimg-amd64-disk1.img
- wget -q https://cloud-images.ubuntu.com/releases/16.04/release/MD5SUMS
- checksum=$(cat ./MD5SUMS |grep ubuntu-16.04-server-cloudimg-amd64-disk1.img | md5sum -c)
- if [[ $checksum =~ 'FAILED' ]];then
- echo "Check image md5sum failed. Exit!"
- exit 1
- fi
- fi
-
- echo "Create openstack image Ubuntu 16.04"
- openstack image create "Ubuntu 16.04 x86_64" --disk-format qcow2 --public \
- --container-format bare --file $WORKSPACE/ubuntu-16.04-server-cloudimg-amd64-disk1.img
- fi
-
- openstack image show "Ubuntu 16.04 x86_64"
-}
-
-
-create_storperf_flavor()
-{
- echo "Checking for StorPerf flavor"
- openstack flavor delete storperf
- FLAVOR=`openstack flavor list | grep "storperf"`
- if [[ -z "$FLAVOR" ]];then
- openstack flavor create storperf \
- --id auto \
- --ram 2048 \
- --disk 4 \
- --vcpus 2
- fi
- openstack flavor show storperf
-}
-
-
-delete_storperf_stack
-load_ubuntu_image
-create_storperf_flavor
diff --git a/integration/storperf/run_ci.sh b/integration/storperf/run_ci.sh
deleted file mode 100755
index ca67ac62..00000000
--- a/integration/storperf/run_ci.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#! /bin/bash
-##############################################################################
-# Copyright (c) 2017 ZTE 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
-##############################################################################
-
-
-source $WORKSPACE/integration/storperf/launch_containers.sh -t $INSTALLER_TYPE -n $NODE_NAME
-
-docker exec qtip bash -c "/home/opnfv/repos/qtip/integration/storperf/prepare.sh"
-
-docker exec qtip bash -c "/home/opnfv/repos/qtip/integration/storperf/start_job.sh"
-
-docker exec qtip bash -c "/home/opnfv/repos/qtip/integration/storperf/cleanup.sh"
-
-exit 0
-
-
diff --git a/integration/storperf/start_job.sh b/integration/storperf/start_job.sh
deleted file mode 100755
index 672dabef..00000000
--- a/integration/storperf/start_job.sh
+++ /dev/null
@@ -1,109 +0,0 @@
-#! /bin/bash
-##############################################################################
-# Copyright (c) 2017 ZTE 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
-##############################################################################
-
-usage(){
- echo "usage: $0 -s <stack_json_path> -j <job_json_path>" >&2
-}
-
-#Get options
-while getopts ":s:j:he" optchar; do
- case "${optchar}" in
- s) stack_json=${OPTARG} ;;
- j) job_json=${OPTARG} ;;
- h) usage
- exit 0
- ;;
- *) echo "Non-option argument: '-${OPTARG}'" >&2
- usage
- exit 2
- ;;
- esac
-done
-
-# See https://stackoverflow.com/questions/59895/getting-the-source-directory-of-a-bash-script-from-within
-script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-
-stack_json=${stack_json:-"$script_dir/default_stack.json"}
-job_json=${job_json:-"$script_dir/default_job.json"}
-
-if [[ -z $WORKSPACE ]];then
- WORKSPACE=`pwd`
-fi
-
-nova_vm_mapping()
-{
- rm $WORKSPACE/nova_vm.json
- openstack server list --name storperf-agent -c ID -c Host --long -f json > $WORKSPACE/nova_vm.json
-
- echo ==========================================================================
- cat $WORKSPACE/nova_vm.json
- echo ==========================================================================
-}
-
-echo ==========================================================================
-echo "Start to create storperf stack"
-cat ${stack_json} 1>&2
-echo ==========================================================================
-
-curl -X POST --header 'Content-Type: application/json' \
- --header 'Accept: application/json' -d @${stack_json} \
- 'http://storperf-httpfrontend:5000/api/v1.0/configurations'
-
-nova_vm_mapping
-
-echo
-echo ==========================================================================
-echo "Start to run storperf test"
-cat ${job_json} 1>&2
-echo ==========================================================================
-
-JOB=$(curl -s -X POST --header 'Content-Type: application/json' \
- --header 'Accept: application/json' \
- -d @${job_json} 'http://storperf-httpfrontend:5000/api/v1.0/jobs' | \
- awk '/job_id/ {print $2}' | sed 's/"//g')
-
-echo "JOB ID: $JOB"
-if [[ -z "$JOB" ]]; then
- echo "Oops, JOB ID is empty!"
-else
- echo "checking job status..."
- curl -s -X GET "http://storperf-httpfrontend:5000/api/v1.0/jobs?id=$JOB&type=status" \
- -o $WORKSPACE/status.json
-
- cat $WORKSPACE/status.json
-
- JOB_STATUS=`cat $WORKSPACE/status.json | awk '/Status/ {print $2}' | cut -d\" -f2`
-
- while [ "$JOB_STATUS" != "Completed" ]
- do
- sleep 180
- mv $WORKSPACE/status.json $WORKSPACE/old-status.json
- curl -s -X GET "http://storperf-httpfrontend:5000/api/v1.0/jobs?id=$JOB&type=status" \
- -o $WORKSPACE/status.json
- JOB_STATUS=`cat $WORKSPACE/status.json | awk '/Status/ {print $2}' | cut -d\" -f2`
- diff $WORKSPACE/status.json $WORKSPACE/old-status.json >/dev/null
- if [ $? -eq 1 ]
- then
- cat $WORKSPACE/status.json
- fi
- done
-
- echo
- echo "Storperf test completed!"
-
- echo ==========================================================================
- echo Final report
- echo ==========================================================================
- curl -s -X GET "http://storperf-httpfrontend:5000/api/v1.0/jobs?id=$JOB&type=metadata" \
- -o $WORKSPACE/report.json
- cat $WORKSPACE/report.json
-fi
-
-echo "Deleting stack for cleanup"
-curl -s -X DELETE --header 'Accept: application/json' 'http://storperf-httpfrontend:5000/api/v1.0/configurations' \ No newline at end of file
diff --git a/integration/storperf/storperf_requirments.txt b/integration/storperf/storperf_requirments.txt
deleted file mode 100644
index 4a279ae5..00000000
--- a/integration/storperf/storperf_requirments.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-functools32==3.2.3.post2
-pytz==2016.10
-osc_lib==1.3.0
-python-openstackclient==3.7.0
-python-heatclient==1.7.0