| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- #!/usr/bin/env bash
- ## This script needs the 'lux' command in PATH
- ## it runs the scripts/relup-test/relup.lux script
- set -euo pipefail
- old_vsn="${1:-}"
- if [ -z "$old_vsn" ]; then
- echo "arg1 should be the upgrade base version"
- exit 1
- fi
- rebuild="${2:-no_rebuild}"
- # ensure dir
- cd -P -- "$(dirname -- "$0")/../.."
- set -x
- if [ ! -d '.git' ] && [ -z "${CUR_VSN:-}" ]; then
- echo "Unable to resolve current version, because it's not a git repo, and CUR_VSN is not set"
- exit 1
- fi
- case "$old_vsn" in
- e*)
- cur_vsn="${CUR_VSN:-$(./pkg-vsn.sh emqx-enterprise)}"
- profile='emqx-enterprise'
- ;;
- v*)
- cur_vsn="${CUR_VSN:-$(./pkg-vsn.sh emqx)}"
- profile='emqx'
- ;;
- *)
- echo "unknown old version $old_vsn"
- exit 1
- ;;
- esac
- if [ "$rebuild" = "--build" ]; then
- make "${profile}-tgz"
- fi
- # From now on, no need for the v|e prefix
- OLD_VSN="${old_vsn#[e|v]}"
- OLD_PKG="$(pwd)/_upgrade_base/${profile}-${OLD_VSN}-ubuntu20.04-amd64.tar.gz"
- CUR_PKG="$(pwd)/_packages/${profile}/${profile}-${cur_vsn}-ubuntu20.04-amd64.tar.gz"
- if [ ! -f "$OLD_PKG" ]; then
- echo "$OLD_PKG not found"
- exit 1
- fi
- if [ ! -f "$CUR_PKG" ]; then
- echo "$CUR_PKG not found"
- exit 1
- fi
- # start two nodes and their friends (webhook server and a bench) in docker
- ./scripts/relup-test/start-relup-test-cluster.sh 'ubuntu:20.04' "$OLD_PKG"
- # run relup tests
- lux \
- --progress verbose \
- --case_timeout infinity \
- --var PROJ_ROOT="$(pwd)" \
- --var VSN="$cur_vsn" \
- --var CUR_PKG="$CUR_PKG" \
- --var OLD_VSN="$OLD_VSN" \
- --var NODE1="node1.emqx.io" \
- --var NODE2="node2.emqx.io" \
- --var BENCH="bench.emqx.io" \
- ./scripts/relup-test/relup.lux
|