diff --git a/tests/run_3osds.sh b/tests/run_3osds.sh index a91827ab..9c99db21 100644 --- a/tests/run_3osds.sh +++ b/tests/run_3osds.sh @@ -5,6 +5,7 @@ OSD_SIZE=${OSD_SIZE:-1024} PG_COUNT=${PG_COUNT:-1} PG_SIZE=${PG_SIZE:-3} +PG_MINSIZE=${PG_MINSIZE:-2} OSD_COUNT=${OSD_COUNT:-3} SCHEME=${SCHEME:-ec} @@ -25,9 +26,9 @@ if [ -n "$GLOBAL_CONF" ]; then fi if [ "$SCHEME" = "replicated" ]; then - $ETCDCTL put /vitastor/config/pools '{"1":{"name":"testpool","scheme":"replicated","pg_size":'$PG_SIZE',"pg_minsize":'$((PG_SIZE-1))',"pg_count":'$PG_COUNT',"failure_domain":"osd"}}' + $ETCDCTL put /vitastor/config/pools '{"1":{"name":"testpool","scheme":"replicated","pg_size":'$PG_SIZE',"pg_minsize":'$PG_MINSIZE',"pg_count":'$PG_COUNT',"failure_domain":"osd"}}' else - $ETCDCTL put /vitastor/config/pools '{"1":{"name":"testpool","scheme":"xor","pg_size":'$PG_SIZE',"pg_minsize":'$((PG_SIZE-1))',"parity_chunks":1,"pg_count":'$PG_COUNT',"failure_domain":"osd"}}' + $ETCDCTL put /vitastor/config/pools '{"1":{"name":"testpool","scheme":"xor","pg_size":'$PG_SIZE',"pg_minsize":'$PG_MINSIZE',"parity_chunks":1,"pg_count":'$PG_COUNT',"failure_domain":"osd"}}' fi sleep 2 diff --git a/tests/test_minsize_1.sh b/tests/test_minsize_1.sh new file mode 100755 index 00000000..82ec02c2 --- /dev/null +++ b/tests/test_minsize_1.sh @@ -0,0 +1,17 @@ +#!/bin/bash -ex + +PG_MINSIZE=1 +SCHEME=replicated + +. `dirname $0`/run_3osds.sh + +kill -INT $OSD1_PID +kill -INT $OSD2_PID + +sleep 5 + +if ! ($ETCDCTL get /vitastor/pg/state/1/ --prefix --print-value-only | jq -s -e '[ .[] | select(.state == ["active", "degraded"]) ] | length == '$PG_COUNT); then + format_error "FAILED: $PG_COUNT PG(s) NOT ACTIVE+DEGRADED" +fi + +format_green OK