You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by sm...@apache.org on 2019/01/17 17:33:13 UTC

[geode-benchmarks] branch develop updated: GEODE-6276: use named cli options for scripts

This is an automated email from the ASF dual-hosted git repository.

smgoller pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode-benchmarks.git


The following commit(s) were added to refs/heads/develop by this push:
     new 8ec6dde  GEODE-6276: use named cli options for scripts
     new e4a68d8  Merge pull request #42 from balesh2/GEODE-6276
8ec6dde is described below

commit 8ec6dde1701e568db3fdbe7b9326935553a26207
Author: Helena A. Bales <hb...@pivotal.io>
AuthorDate: Wed Jan 16 15:55:11 2019 -0800

    GEODE-6276: use named cli options for scripts
    
    Name the cli options for running the benchmark. Support either a version
    number or a branch/commit ref. Use version to fetch previously built
    releases, to avoid rebuilding them every time.
    
    Signed-off-by: Jacob Barrett <jb...@pivotal.io>
---
 infrastructure/scripts/aws/run_against_baseline.sh | 69 ++++++++++++++++++---
 infrastructure/scripts/aws/run_tests.sh            | 72 ++++++++++++++++++----
 2 files changed, 121 insertions(+), 20 deletions(-)

diff --git a/infrastructure/scripts/aws/run_against_baseline.sh b/infrastructure/scripts/aws/run_against_baseline.sh
index 0e3f24b..b4be318 100755
--- a/infrastructure/scripts/aws/run_against_baseline.sh
+++ b/infrastructure/scripts/aws/run_against_baseline.sh
@@ -19,17 +19,70 @@
 
 set -e -o pipefail
 
+BENCHMARK_BRANCH='develop'
+
+TEMP=`getopt t:b::v::B::V::m::o::h "$@"`
+eval set -- "$TEMP"
+
+while true ; do
+    case "$1" in
+        -t)
+            TAG=$2 ; shift 2 ;;
+        -m)
+            BENCHMARK_BRANCH=$2 ; shift 2 ;;
+        -o)
+            OUTPUT=$2 ; shift 2 ;;
+        -b)
+            BRANCH=$2 ; shift 2 ;;
+        -v)
+            VERSION=$2 ; shift 2 ;;
+        -B)
+            BASELINE_BRANCH=$2 ; shift 2 ;;
+        -V)
+            BASELINE_VERSION=$2 ; shift 2 ;;
+        -h)
+            echo "Usage: run_test.sh -t [tag] [-v [version] | -b [branch]] [-V [baseline version] | -B [baseline branch]] <options...>"
+            echo "Options:"
+            echo "-m : Benchmark branch (optional - defaults to develop)"
+            echo "-o : Output directory (optional - defaults to ./output-<date>-<tag>"
+            echo "-v : Geode Version"
+            echo "-b : Geode Branch"
+            echo "-V : Geode Baseline Version"
+            echo "-B : Geode Baseline Branch"
+            echo "-t : Cluster tag"
+            echo "-h : This help message"
+            shift 2
+            exit 1 ;;
+        --) shift ; break ;;
+        *) echo "Internal error!" ; exit 1 ;;
+    esac
+done
+
+
+
 DATE=$(date '+%m-%d-%Y-%H-%M-%S')
-TAG=${1}
-BRANCH=${2:-develop}
-BASELINE=${3:-"rel/v1.8.0"}
-BENCHMARK_BRANCH=${4:-develop}
-DEFAULT_OUTPUT_DIR=output-${DATE}-${TAG}
-OUTPUT=${5:-${DEFAULT_OUTPUT_DIR}}
+
+if [ -z "${TAG}" ]; then
+  echo "--tag argument is required."
+  exit 1
+fi
+
+OUTPUT=${OUTPUT:-output-${DATE}-${TAG}}
+
 if ! [[ "$OUTPUT" = /* ]]; then
   OUTPUT="$(pwd)/${OUTPUT}"
 fi
 
-./run_tests.sh ${TAG} ${BRANCH} ${BENCHMARK_BRANCH} ${OUTPUT}/branch
-./run_tests.sh ${TAG} ${BASELINE} ${BENCHMARK_BRANCH} ${OUTPUT}/baseline
+if [ -z "${VERSION}" ]; then
+  ./run_tests.sh -t ${TAG} -b ${BRANCH} -m ${BENCHMARK_BRANCH} -o ${OUTPUT}/branch
+else
+  ./run_tests.sh -t ${TAG} -v ${VERSION} -m ${BENCHMARK_BRANCH} -o ${OUTPUT}/branch
+fi
+
+if [ -z "${BASELINE_VERSION}" ]; then
+./run_tests.sh -t ${TAG} -b ${BASELINE_BRANCH} -m ${BENCHMARK_BRANCH} -o ${OUTPUT}/baseline
+else
+./run_tests.sh -t ${TAG} -v ${BASELINE_VERSION} -m ${BENCHMARK_BRANCH} -o ${OUTPUT}/baseline
+fi
+
 ./analyze_tests.sh ${OUTPUT}
diff --git a/infrastructure/scripts/aws/run_tests.sh b/infrastructure/scripts/aws/run_tests.sh
index f635e84..5035462 100755
--- a/infrastructure/scripts/aws/run_tests.sh
+++ b/infrastructure/scripts/aws/run_tests.sh
@@ -17,14 +17,50 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-set -e -o pipefail
+set -x -e -o pipefail
+
+BENCHMARK_BRANCH='develop'
+
+TEMP=`getopt t:b:v:m:o:h "$@"`
+eval set -- "$TEMP"
+
+while true ; do
+    case "$1" in
+        -t)
+            TAG=$2 ; shift 2 ;;
+        -m)
+            BENCHMARK_BRANCH=$2 ; shift 2 ;;
+        -o)
+            OUTPUT=$2 ; shift 2 ;;
+        -b)
+            BRANCH=$2 ; shift 2 ;;
+        -v)
+            VERSION=$2 ; shift 2 ;;
+        -h)
+            echo "Usage: run_test.sh -t [tag] [-v [version] | -b [branch]] <options...>"
+            echo "Options:"
+            echo "-m : Benchmark branch (optional - defaults to develop)"
+            echo "-o : Output directory (optional - defaults to ./output-<date>-<tag>"
+            echo "-v : Geode Version"
+            echo "-b : Geode Branch"
+            echo "-t : Cluster tag"
+            echo "-h : This help message"
+            shift 2
+            exit 1 ;;
+        --) shift ; break ;;
+        *) echo "Internal error!" ; exit 1 ;;
+    esac
+done
+
 
 DATE=$(date '+%m-%d-%Y-%H-%M-%S')
 
-TAG=${1}
-BRANCH=${2:-develop}
-BENCHMARK_BRANCH=${3:-develop}
-OUTPUT=${4:-output-${DATE}-${TAG}}
+if [ -z "${TAG}" ]; then
+  echo "--tag argument is required."
+  exit 1
+fi
+
+OUTPUT=${OUTPUT:-output-${DATE}-${TAG}}
 PREFIX="geode-performance-${TAG}"
 
 if [[ -z "${AWS_ACCESS_KEY_ID}" ]]; then
@@ -39,22 +75,34 @@ FIRST_INSTANCE=`aws ec2 describe-instances --query 'Reservations[*].Instances[*]
 echo "FIRST_INSTANCE=${FIRST_INSTANCE}"
 echo "HOSTS=${HOSTS}"
 
-ssh ${SSH_OPTIONS} geode@$FIRST_INSTANCE "\
-  rm -rf geode-benchmarks geode && \
-  git clone https://github.com/apache/geode geode && \
-  (pushd geode && git checkout ${BRANCH}) && \
-  (pushd geode && ./gradlew install installDist)"
+if [ ! -z "${BRANCH}" ]; then
+  if [ ! -z "${VERSION}" ]; then
+    echo "Specify --version or --branch."
+    exit 1
+  fi
+
+  ssh ${SSH_OPTIONS} geode@$FIRST_INSTANCE "\
+    rm -rf geode && \
+    git clone https://github.com/apache/geode --branch ${BRANCH} && \
+    cd geode && \
+    ./gradlew install installDist"
+
 
+  VERSION=$(ssh ${SSH_OPTIONS} geode@$FIRST_INSTANCE geode/geode-assembly/build/install/apache-geode/bin/gfsh version)
+fi
 
-VERSION=$(ssh ${SSH_OPTIONS} geode@$FIRST_INSTANCE geode/geode-assembly/build/install/apache-geode/bin/gfsh version)
+if [ -z "${VERSION}" ]; then
+  echo "Either --version or --branch is required."
+  exit 1
+fi
 
 
 ssh ${SSH_OPTIONS} geode@$FIRST_INSTANCE "\
+  rm -rf geode-benchmarks && \
   git clone https://github.com/apache/geode-benchmarks --branch ${BENCHMARK_BRANCH} && \
   cd geode-benchmarks && \
   ./gradlew -PgeodeVersion=${VERSION} benchmark -Phosts=${HOSTS}"
 
-
 mkdir -p ${OUTPUT}
 
 scp ${SSH_OPTIONS} -r geode@${FIRST_INSTANCE}:geode-benchmarks/geode-benchmarks/build/reports ${OUTPUT}/reports