feat(admin-config-tool): wire xceadmin into HA deploy/test skills
deploy-ha.sh's --build-config path (task 4.2) pointed at src/xceadmin/.venv/bin/xceadmin, broken by today's meson/nix rewiring (xceadmin no longer builds a venv there). Fixed to search the meson build dir (xce.build/build.release/build.dbg), a nix-installed result/bin, then PATH. /xce-deploy-ha's SKILL.md never mentioned xceadmin or --build-config (predates task 4.2) — documented both. /xce-test-ha's run-ha-soak.sh hard-required a pre-existing cluster.bin under ha/data/, exit 2 if missing, with no xceadmin path at all. Now always builds cluster.bin fresh from src/configs/*.yaml via xceadmin before every soak run, same resolution order as deploy-ha.sh. ha/data/cluster.bin is no longer a checked-in fixture: removed from git tracking and gitignored. It was stale relative to xceadmin's output anyway (different hash from a different, older generation path) -- the xceadmin-built one matches the known-good golden-fixture hash from admin-config-tool task 5.4.
This commit is contained in:
parent
893a01db7b
commit
d5330fc976
6 changed files with 67 additions and 8 deletions
|
|
@ -32,9 +32,25 @@ BINARY=$(realpath "$BINARY")
|
|||
# Requirements 8.3/8.4/8.5: rebuild cluster.bin when --build-config is
|
||||
# passed or none exists yet; otherwise leave an existing one untouched.
|
||||
if [ "$BUILD_CONFIG" = "1" ] || [ ! -f "$DATADIR/cluster.bin" ]; then
|
||||
XCEADMIN="$SCRIPT_DIR/../xceadmin/.venv/bin/xceadmin"
|
||||
if [ ! -x "$XCEADMIN" ]; then
|
||||
echo "Error: $XCEADMIN not found -- run 'xce-build.sh xceadmin' first"
|
||||
# xceadmin is meson-built now (src/xceadmin/meson.build), not a plain
|
||||
# `pip install -e .` venv checked out under src/xceadmin/ -- its build
|
||||
# output lives under whichever meson build dir xce-build.sh's profile
|
||||
# picked, or under a nix-installed prefix's bin/. Try each in turn.
|
||||
XCEADMIN=""
|
||||
for candidate in \
|
||||
"$SCRIPT_DIR/../xce.build/xceadmin/.venv/bin/xceadmin" \
|
||||
"$SCRIPT_DIR/../build.release/xceadmin/.venv/bin/xceadmin" \
|
||||
"$SCRIPT_DIR/../build.dbg/xceadmin/.venv/bin/xceadmin" \
|
||||
"$SCRIPT_DIR/../result/bin/xceadmin" \
|
||||
"$(command -v xceadmin 2>/dev/null || true)"
|
||||
do
|
||||
if [ -n "$candidate" ] && [ -x "$candidate" ]; then
|
||||
XCEADMIN="$candidate"
|
||||
break
|
||||
fi
|
||||
done
|
||||
if [ -z "$XCEADMIN" ]; then
|
||||
echo "Error: xceadmin binary not found -- run 'xce-build.sh xceadmin' or 'nix build .#xcecore' first"
|
||||
exit 1
|
||||
fi
|
||||
"$XCEADMIN" config build "$SCRIPT_DIR/../configs" -o "$DATADIR/cluster.bin"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue