|
2 | 2 |
|
3 | 3 | set -e
|
4 | 4 |
|
5 |
| -SCRIPT="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" |
| 5 | +[ -n "$SCRIPT" ] || SCRIPT="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" |
6 | 6 |
|
7 |
| -if [ ! -e "$DEPLOYMENT_CONFIGURATION" ] |
8 |
| -then |
9 |
| - pushd "$SCRIPT"/../deployment_configurations &> /dev/null |
10 |
| - shopt -s nullglob |
11 |
| - deployment_configurations=( *.yml ) |
12 |
| - if [ ${#deployment_configurations[@]} != 0 ] |
13 |
| - then |
14 |
| - echo "Which configuration do you want to deploy?" |
15 |
| - select deployment_configuration in "${deployment_configurations[@]}" |
16 |
| - do |
17 |
| - DEPLOYMENT_CONFIGURATION="$SCRIPT"/../deployment_configurations/"$deployment_configuration" |
18 |
| - break |
19 |
| - done |
20 |
| - else |
21 |
| - echo "There are no deployment configurations, you can create one by running: deploy" |
22 |
| - exit 1 |
23 |
| - fi |
24 |
| - popd &> /dev/null |
25 |
| -fi |
| 7 | +echo "Select which RabbitMQ deployment to run diagnostics against:" |
| 8 | +select RMQ_DEPLOYMENT in $("$SCRIPT"/_rabbitmq-server_deployments) |
| 9 | +do |
| 10 | + export RMQ_DEPLOYMENT |
| 11 | + break |
| 12 | +done |
26 | 13 |
|
27 |
| -_BOSH_DEPLOYMENT="${DEPLOYMENT_CONFIGURATION/.yml}" |
28 |
| -BOSH_DEPLOYMENT="${_BOSH_DEPLOYMENT##*/}" |
| 14 | +RMQ_INSTANCE_COUNT=$(bosh -d "$RMQ_DEPLOYMENT" instances | grep -c rmq) |
29 | 15 |
|
30 |
| -RMQ_INSTANCE_COUNT=$(bosh -d $BOSH_DEPLOYMENT instances | grep rmq | wc -l) |
31 |
| - |
32 |
| -if [[ $1 = "--recent" ]]; then |
33 |
| - echo "Displaying diagnostics on ${BOSH_DEPLOYMENT} ..." |
34 |
| - for (( i=0; i<$RMQ_INSTANCE_COUNT; i++ )) ; do |
| 16 | +if [[ $1 = --recent ]] |
| 17 | +then |
| 18 | + echo "Displaying diagnostics on $RMQ_DEPLOYMENT ..." |
| 19 | + for (( i=0; i<RMQ_INSTANCE_COUNT; i++ )) |
| 20 | + do |
35 | 21 | echo "Displaying tests on rmq/$i ..."
|
36 |
| - bosh -d $BOSH_DEPLOYMENT ssh rmq/$i -r -c "sudo -i bash -c 'cat \$(ls -rt /var/vcap/sys/log/diagnostics/diagnostics-*.report | tail -1)'" |
| 22 | + bosh -d "$RMQ_DEPLOYMENT" ssh rmq/$i -r -c "sudo -i bash -c 'cat \$(ls -rt /var/vcap/sys/log/diagnostics/diagnostics-*.report | tail -1)'" |
37 | 23 | done
|
38 | 24 | else
|
39 |
| - echo "Running diagnostics on ${BOSH_DEPLOYMENT} ..." |
40 |
| - LOG_FILE="/tmp/$BOSH_DEPLOYMENT-$(date -u +'%Y-%m-%dT%H:%M:%SZ').log" |
| 25 | + echo "Running diagnostics on $RMQ_DEPLOYMENT ..." |
| 26 | + LOG_FILE="/tmp/$RMQ_DEPLOYMENT-$(date -u +'%Y-%m-%dT%H:%M:%SZ').log" |
41 | 27 | echo "Check out output at $LOG_FILE"
|
42 | 28 |
|
43 |
| - for (( i=0; i<$RMQ_INSTANCE_COUNT; i++ )) ; do |
| 29 | + for (( i=0; i<RMQ_INSTANCE_COUNT; i++ )) |
| 30 | + do |
44 | 31 | echo "Running tests on rmq/$i ..."
|
45 |
| - bosh -d $BOSH_DEPLOYMENT ssh rmq/$i -c "sudo -i bash -c 'DEBUG=false diagnostics'" 2>&1 | tee -a $LOG_FILE | awk '/^--- (FAIL|PASS|::)/ { print $5 " " $6 }' |
| 32 | + bosh -d "$RMQ_DEPLOYMENT" ssh rmq/$i -c "sudo -i bash -c 'DEBUG=false diagnostics'" 2>&1 | |
| 33 | + tee -a "$LOG_FILE" | |
| 34 | + awk '/^--- (FAIL|PASS|::)/ { print $5 " " $6 }' |
46 | 35 | done
|
47 | 36 |
|
48 | 37 | # exit 0 -> no failures
|
49 | 38 | # exit 5 -> 5 tests failed
|
50 |
| - exit "$(grep '\| FAIL' $LOG_FILE | wc -l)" |
| 39 | + exit "$(grep -c '\| FAIL' "$LOG_FILE" )" |
51 | 40 | fi
|
0 commit comments