fix(xce-test-multihost): deploy with a fixture config set that clears limits (bug-1857)

Since bug-1790's fix (9caf1424) counts a job's full task total against
global limits, the repo's limit1 (all users except rshen share 3 slots)
pends xce_test's root-submitted 33-task job forever, so the multihost
e2e fixture failed even though the allocator is correct.

deploy-ha.sh gains an optional XCE_DEPLOY_CONFIG_DIR (default unchanged:
src/configs). run-multihost-verify.sh copies src/configs into its deploy
dir, replaces limits.yaml with an empty list, and deploys with that
override.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Rongsong Shen 2026-09-24 13:08:46 +00:00
parent 534895c5f6
commit 3cc2f6e3d8
Signed by untrusted user: rshen
GPG key ID: 80533536B0EB651C
3 changed files with 40 additions and 4 deletions

View file

@ -12,7 +12,8 @@ if [ -z "$BINARY" ] || [ -z "$TOP" ] || [ -z "$PEERS" ]; then
echo " peers: comma-separated host:port list (e.g. host1:port1,host2:port2)"
echo " TLS cert/key and cluster.bin are generated fresh into <top-dir> every"
echo " run (openssl self-signed cert; cluster.bin via xceadmin from"
echo " src/configs/*.yaml) -- no pre-existing data directory needed."
echo " src/configs/*.yaml, or \$XCE_DEPLOY_CONFIG_DIR/*.yaml if set) -- no"
echo " pre-existing data directory needed."
exit 1
fi
@ -248,8 +249,13 @@ openssl req -x509 -newkey rsa:2048 -nodes -days 3650 \
# Build cluster.bin from src/configs/*.yaml via xceadmin, straight into
# this deploy's own ctrl-1/conf/ (no intermediate data-dir copy).
# XCE_DEPLOY_CONFIG_DIR lets a test fixture supply its own config set
# (e.g. xce-test-multihost drops limits.yaml's limits, bug-1857) without
# editing the checked-in src/configs/ that every other deploy uses.
CONFIG_DIR="${XCE_DEPLOY_CONFIG_DIR:-$SCRIPT_DIR/../configs}"
[ -d "$CONFIG_DIR" ] || { echo "Error: config dir not found: $CONFIG_DIR"; exit 1; }
CLUSTER_BIN_TMP="$TOP/.cluster.bin.tmp"
"$XCEADMIN" config build "$SCRIPT_DIR/../configs" -o "$CLUSTER_BIN_TMP"
"$XCEADMIN" config build "$CONFIG_DIR" -o "$CLUSTER_BIN_TMP"
TAG=$(sha256sum "$CLUSTER_BIN_TMP" | cut -c1-12)
mv "$CLUSTER_BIN_TMP" "$TOP/controller/ctrl-1/conf/cluster.bin.$TAG"
echo "cluster.bin.$TAG" > "$TOP/controller/ctrl-1/conf/current"