Created
May 6, 2015 13:46
-
-
Save akrzos/8bad67dc4588b85ecfcb to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
if [ ! $# == 1 ]; then | |
echo "Usage: ./r71-cap-sync-testcase-v1.sh <testname>" | |
echo "Example: time ./r71-cap-sync-testcase-v1.sh tc-r7-0001" | |
exit | |
fi | |
testprefix=$1 | |
. r71-environments.sh | |
# for environment in 0 3 6 9 10 11 23 35 | |
for environment in 0 | |
do | |
# for numCapsules in 2 4 6 8 10 12 14 16 18 20 | |
for numCapsules in 20 | |
do | |
#testname="${testprefix}-${numCapsules}c-${environmentName[${environment}]}" | |
testname="${testprefix}" | |
echo "--------------------------------------------------------------------" | |
echo "[$(date -R)] Num Capsules: ${numCapsules}" | |
echo "[$(date -R)] Environment ID: ${environmentid[${environment}]}" | |
echo "[$(date -R)] Environment Name: ${environmentName[${environment}]}" | |
echo "[$(date -R)] Test Name: ${testname}" | |
echo "--------------------------------------------------------------------" | |
# Add Cap Lifecycle Env | |
for numcap in `seq 1 ${numCapsules}`; do | |
capid=`expr ${numcap} + 1` | |
echo "[$(date -R)] Adding Lifecycle Environment to Capsule: ${numcap}" | |
echo "hammer -u admin -p changeme capsule content add-lifecycle-environment --environment-id ${environmentid[${environment}]} --id ${capid}" | |
# ssh root@perfc-380g8-01 "hammer -u admin -p changeme capsule content add-lifecycle-environment --environment-id ${environmentid[${environment}]} --id ${capid}" | |
done | |
# 1 for shorter sync tests | |
toolinterval=1 | |
# Register Tools | |
echo "----------------------------------" | |
echo "[$(date -R)] Register Tools on Satellite 6 (perfc-380g8-01)" | |
register-tool --name=vmstat --group sat6 --remote=perfc-380g8-01 -- --interval ${toolinterval} | |
register-tool --name=mpstat --group sat6 --remote=perfc-380g8-01 -- --interval ${toolinterval} | |
register-tool --name=iostat --group sat6 --remote=perfc-380g8-01 -- --interval ${toolinterval} | |
register-tool --name=pidstat --group sat6 --remote=perfc-380g8-01 -- --interval ${toolinterval} | |
register-tool --name=sar --group sat6 --remote=perfc-380g8-01 -- --interval ${toolinterval} | |
register-tool --name=proc-vmstat --group sat6 --remote=perfc-380g8-01 -- --interval ${toolinterval} | |
#register-tool --name=perf --group sat6 --remote=perfc-380g8-01 -- --record-opts="record -a --freq=100" | |
for numcap in `seq -f "%03g" 1 ${numCapsules}`; do | |
echo "[$(date -R)] Starting pbench on capsule-r7-${numcap}" | |
register-tool --name=vmstat --group sat6 --remote=capsule-r7-${numcap} -- --interval ${toolinterval} | |
register-tool --name=mpstat --group sat6 --remote=capsule-r7-${numcap} -- --interval ${toolinterval} | |
register-tool --name=iostat --group sat6 --remote=capsule-r7-${numcap} -- --interval ${toolinterval} | |
register-tool --name=pidstat --group sat6 --remote=capsule-r7-${numcap} -- --interval ${toolinterval} | |
register-tool --name=sar --group sat6 --remote=capsule-r7-${numcap} -- --interval ${toolinterval} | |
register-tool --name=proc-vmstat --group sat6 --remote=capsule-r7-${numcap} -- --interval ${toolinterval} | |
#register-tool --name=perf --group sat6 --remote=capsule-r7-${numcap} -- --record-opts="record -a --freq=100" | |
done; | |
echo "[$(date -R)] Done registering pbench tools on Sat6 and capsules ..." | |
echo "----------------------------------" | |
# Time 3 tries | |
for attempt in 1 2 3 | |
do | |
nCap=`printf "%03d" ${numCapsules}` | |
iter="${nCap}c-${environmentName[${environment}]}-${attempt}" | |
# Start pbench on Sat6 and Capsules | |
# Also make the directory for pbench output on each host | |
echo "----------------------------------" | |
echo "[$(date -R)] Starting pbench..." | |
mkdir -p /var/lib/pbench/${testname}/${iter} | |
ssh root@perfc-380g8-01 "mkdir -p /var/lib/pbench/${testname}/${iter}" | |
for numcap in `seq -f "%03g" 1 ${numCapsules}`; do | |
ssh root@capsule-r7-${numcap} "mkdir -p /var/lib/pbench/${testname}/${iter}" | |
done; | |
start-tools --group=sat6 --dir=/var/lib/pbench/${testname}/${iter} --iteration=${iter} 2>&1 >/dev/null | |
echo "[$(date -R)] Done starting pbench" | |
echo "----------------------------------" | |
# Wait several seconds before kicking off workload | |
sleep 5 | |
# Perform Sync and time results | |
for numcap in `seq 1 ${numCapsules}`; do | |
nCap=`printf "%03d" ${numcap}` | |
capid=`expr ${numcap} + 1` | |
echo "[$(date -R)] Starting Capsule Synchronize: ${numcap}" | |
echo "hammer -u admin -p changeme capsule content synchronize --id ${capid}" | |
# ssh root@perfc-380g8-01 "(time hammer -u admin -p changeme capsule content synchronize --id ${capid}) >> ${testname}.${iter}.${nCap} 2>&1" & | |
done | |
echo "[$(date -R)] Waiting for Sync to finish on Capsules" | |
wait | |
echo "[$(date -R)] Syncs finished on Capsules" | |
echo "----------------------------------" | |
# Wait several seconds before stopping monitoring | |
sleep 5 | |
# Stop pbench: | |
echo "----------------------------------" | |
echo "[$(date -R)] Stopping pbench..." | |
stop-tools --group=sat6 --dir=/var/lib/pbench/${testname}/${iter} --iteration=${iter} | |
echo "[$(date -R)] Done stopping pbench" | |
echo "----------------------------------" | |
echo "----------------------------------" | |
echo "[$(date -R)] Post Process on pbench..." | |
postprocess-tools --group=sat6 --dir=/var/lib/pbench/${testname}/${iter} --iteration=${iter} | |
echo "[$(date -R)] Done waiting for pbench postprocess" | |
echo "----------------------------------" | |
# Move Results.... | |
move-results | |
# Reset DB on capsules: | |
echo "----------------------------------" | |
for numcap in `seq -f "%03g" 1 ${numCapsules}`; do | |
echo "[$(date -R)] Resetting DB on capsule-r7-${numcap}" | |
# ssh root@capsule-r7-${numcap} "./reset-capsule.sh /home/backup/last-clean" > /dev/null 2>&1 & | |
done; | |
echo "[$(date -R)] Waiting for Capsules to reset their databases..." | |
wait | |
sleep 20 | |
echo "[$(date -R)] Done waiting for Capsules to reset their databases... " | |
echo "----------------------------------" | |
done # Loop over attempts | |
# Clear Tools | |
clear-tools -g sat6 | |
# Remove Lifecycle environments: | |
for numcap in `seq 1 ${numCapsules}`; do | |
capid=`expr ${numcap} + 1` | |
echo "[$(date -R)] Removing Lifecycle Environment to Capsule: ${numcap}" | |
echo "hammer -u admin -p changeme capsule content remove-lifecycle-environment --environment-id ${environmentid[${environment}]} --id ${capid}" | |
# ssh root@perfc-380g8-01 "hammer -u admin -p changeme capsule content remove-lifecycle-environment --environment-id ${environmentid[${environment}]} --id ${capid}" | |
done | |
done # Loop over Number of Capsules | |
done # Loop over Environments to sync against. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment