diff --git a/src/cmd/cli_pool_cfg.cpp b/src/cmd/cli_pool_cfg.cpp index 3310b927..dd1121e5 100644 --- a/src/cmd/cli_pool_cfg.cpp +++ b/src/cmd/cli_pool_cfg.cpp @@ -44,10 +44,10 @@ std::string validate_pool_config(json11::Json::object & new_cfg, json11::Json ol new_cfg["parity_chunks"] = parity_chunks; } - if (old_cfg.is_null() && new_cfg["scheme"].string_value() == "") + if (new_cfg["scheme"].string_value() == "") { // Default scheme - new_cfg["scheme"] = "replicated"; + new_cfg["scheme"] = old_cfg.is_null() ? "replicated" : old_cfg["scheme"]; } if (new_cfg.find("pg_minsize") == new_cfg.end() && (old_cfg.is_null() || new_cfg.find("pg_size") != new_cfg.end())) { diff --git a/tests/test_failure_domain.sh b/tests/test_failure_domain.sh index 392ef18f..457f11f6 100755 --- a/tests/test_failure_domain.sh +++ b/tests/test_failure_domain.sh @@ -35,4 +35,6 @@ $ETCDCTL get --prefix /vitastor/pg/config --print-value-only | \ build/src/cmd/vitastor-cli --etcd_address $ETCD_URL create-pool size1pool -s 1 -n 1 --force wait_condition 10 "$ETCDCTL get --prefix /vitastor/pg/config --print-value-only | jq -s -e '.[0].items["'"'"2"'"'"]'" +build/src/cmd/vitastor-cli --etcd_address $ETCD_URL modify-pool size1pool -s 2 --force + format_green OK