2021-11-21 13:41:30 -05:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
trap 'cleanup $LINENO' ERR
|
|
|
|
|
|
|
|
# shellcheck disable=SC2120
|
|
|
|
cleanup() {
|
|
|
|
MINIO_VERSION=dev docker-compose \
|
|
|
|
-f "buildscripts/upgrade-tests/compose.yml" \
|
|
|
|
rm -s -f
|
|
|
|
docker volume prune -f
|
|
|
|
}
|
|
|
|
|
2021-11-22 12:36:29 -05:00
|
|
|
verify_checksum_after_heal() {
|
|
|
|
local sum1
|
|
|
|
sum1=$(curl -s "$2" | sha256sum);
|
|
|
|
mc admin heal --json -r "$1" >/dev/null; # test after healing
|
|
|
|
local sum1_heal
|
|
|
|
sum1_heal=$(curl -s "$2" | sha256sum);
|
|
|
|
|
|
|
|
if [ "${sum1_heal}" != "${sum1}" ]; then
|
|
|
|
echo "mismatch expected ${sum1_heal}, got ${sum1}"
|
|
|
|
exit 1;
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
verify_checksum_mc() {
|
|
|
|
local expected
|
|
|
|
expected=$(mc cat "$1" | sha256sum)
|
|
|
|
local got
|
|
|
|
got=$(mc cat "$2" | sha256sum)
|
|
|
|
|
|
|
|
if [ "${expected}" != "${got}" ]; then
|
|
|
|
echo "mismatch - expected ${expected}, got ${got}"
|
|
|
|
exit 1;
|
|
|
|
fi
|
|
|
|
echo "matches - ${expected}, got ${got}"
|
|
|
|
}
|
|
|
|
|
|
|
|
add_alias() {
|
2021-11-24 16:53:11 -05:00
|
|
|
for i in $(seq 1 4); do
|
|
|
|
echo "... attempting to add alias $i"
|
|
|
|
until (mc alias set minio http://127.0.0.1:9000 minioadmin minioadmin); do
|
|
|
|
echo "...waiting... for 5secs" && sleep 5
|
|
|
|
done
|
2021-11-22 12:36:29 -05:00
|
|
|
done
|
2021-11-26 22:22:40 -05:00
|
|
|
|
|
|
|
echo "Sleeping for nginx"
|
|
|
|
sleep 20
|
2021-11-22 12:36:29 -05:00
|
|
|
}
|
|
|
|
|
2021-11-21 13:41:30 -05:00
|
|
|
__init__() {
|
|
|
|
sudo apt install curl -y
|
|
|
|
export GOPATH=/tmp/gopath
|
|
|
|
export PATH=${PATH}:${GOPATH}/bin
|
|
|
|
|
|
|
|
go install github.com/minio/mc@latest
|
|
|
|
|
|
|
|
TAG=minio/minio:dev make docker
|
|
|
|
|
|
|
|
MINIO_VERSION=RELEASE.2019-12-19T22-52-26Z docker-compose \
|
|
|
|
-f "buildscripts/upgrade-tests/compose.yml" \
|
|
|
|
up -d --build
|
2021-11-22 12:36:29 -05:00
|
|
|
|
|
|
|
add_alias
|
2021-11-21 13:41:30 -05:00
|
|
|
|
|
|
|
mc mb minio/minio-test/
|
|
|
|
mc cp ./minio minio/minio-test/to-read/
|
|
|
|
mc cp /etc/hosts minio/minio-test/to-read/hosts
|
|
|
|
mc policy set download minio/minio-test
|
|
|
|
|
2021-11-22 12:36:29 -05:00
|
|
|
verify_checksum_mc ./minio minio/minio-test/to-read/minio
|
2021-11-21 13:41:30 -05:00
|
|
|
|
2021-11-22 12:36:29 -05:00
|
|
|
curl -s http://127.0.0.1:9000/minio-test/to-read/hosts | sha256sum
|
2021-11-21 13:41:30 -05:00
|
|
|
|
2021-11-22 12:36:29 -05:00
|
|
|
MINIO_VERSION=dev docker-compose -f "buildscripts/upgrade-tests/compose.yml" stop
|
2021-11-21 13:41:30 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
main() {
|
|
|
|
MINIO_VERSION=dev docker-compose -f "buildscripts/upgrade-tests/compose.yml" up -d --build
|
|
|
|
|
2021-11-22 12:36:29 -05:00
|
|
|
add_alias
|
2021-11-21 13:41:30 -05:00
|
|
|
|
|
|
|
verify_checksum_after_heal minio/minio-test http://127.0.0.1:9000/minio-test/to-read/hosts
|
|
|
|
|
|
|
|
verify_checksum_mc ./minio minio/minio-test/to-read/minio
|
|
|
|
|
|
|
|
verify_checksum_mc /etc/hosts minio/minio-test/to-read/hosts
|
|
|
|
|
|
|
|
cleanup
|
|
|
|
}
|
|
|
|
|
|
|
|
( __init__ "$@" && main "$@" )
|