From deaaec8a07ea53070ae4581177b46dab09ad19e5 Mon Sep 17 00:00:00 2001 From: Brad Stein Date: Tue, 28 Apr 2026 02:47:46 -0300 Subject: [PATCH] chore(sync): auto-detect persisted server port --- scripts/manual/run_upstream_av_sync.sh | 32 +++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/scripts/manual/run_upstream_av_sync.sh b/scripts/manual/run_upstream_av_sync.sh index c87bc15..89116f4 100755 --- a/scripts/manual/run_upstream_av_sync.sh +++ b/scripts/manual/run_upstream_av_sync.sh @@ -11,7 +11,8 @@ REPO_ROOT="$(cd -- "${SCRIPT_DIR}/../.." >/dev/null 2>&1 && pwd)" TETHYS_HOST=${TETHYS_HOST:-tethys} LESAVKA_SERVER_HOST=${LESAVKA_SERVER_HOST:-theia} -LESAVKA_SERVER_ADDR=${LESAVKA_SERVER_ADDR:-http://38.28.125.112:50051} +LESAVKA_SERVER_CONNECT_HOST=${LESAVKA_SERVER_CONNECT_HOST:-38.28.125.112} +LESAVKA_SERVER_ADDR=${LESAVKA_SERVER_ADDR:-auto} PROBE_DURATION_SECONDS=${PROBE_DURATION_SECONDS:-10} PROBE_WARMUP_SECONDS=${PROBE_WARMUP_SECONDS:-4} LEAD_IN_SECONDS=${LEAD_IN_SECONDS:-8} @@ -48,6 +49,28 @@ STAMP="$(date +%Y%m%d-%H%M%S)" LOCAL_CAPTURE="${LOCAL_OUTPUT_DIR}/lesavka-upstream-av-sync-${STAMP}.mkv" LOCAL_ANALYSIS_JSON="${LOCAL_CAPTURE%.mkv}.json" LOCAL_CAPTURE_LOG="${LOCAL_CAPTURE%.mkv}.capture.log" +RESOLVED_LESAVKA_SERVER_ADDR="" + +resolve_server_addr() { + if [[ "${LESAVKA_SERVER_ADDR}" != "auto" ]]; then + RESOLVED_LESAVKA_SERVER_ADDR="${LESAVKA_SERVER_ADDR}" + return 0 + fi + + local bind_addr port + bind_addr="$( + ssh ${SSH_OPTS} "${LESAVKA_SERVER_HOST}" \ + "grep -E '^LESAVKA_SERVER_BIND_ADDR=' /etc/lesavka/server.env 2>/dev/null | tail -n1 | cut -d= -f2-" \ + 2>/dev/null || true + )" + port="${bind_addr##*:}" + if [[ "${port}" =~ ^[0-9]+$ ]]; then + RESOLVED_LESAVKA_SERVER_ADDR="http://${LESAVKA_SERVER_CONNECT_HOST}:${port}" + return 0 + fi + + RESOLVED_LESAVKA_SERVER_ADDR="http://${LESAVKA_SERVER_CONNECT_HOST}:50051" +} preflight_server_path() { [[ "${REMOTE_SERVER_PREFLIGHT}" != "0" ]] || return 0 @@ -115,6 +138,9 @@ if [[ ! -x "${ANALYZE_BIN}" ]]; then exit 1 fi +resolve_server_addr +echo "==> resolved Lesavka server addr: ${RESOLVED_LESAVKA_SERVER_ADDR}" + preflight_server_path echo "==> starting Tethys capture on ${TETHYS_HOST}" @@ -609,12 +635,12 @@ capture_pid=$! sleep "${LEAD_IN_SECONDS}" -echo "==> running local Lesavka sync probe against ${LESAVKA_SERVER_ADDR}" +echo "==> running local Lesavka sync probe against ${RESOLVED_LESAVKA_SERVER_ADDR}" probe_status=0 ( cd "${REPO_ROOT}" "${PROBE_BIN}" \ - --server "${LESAVKA_SERVER_ADDR}" \ + --server "${RESOLVED_LESAVKA_SERVER_ADDR}" \ --duration-seconds "${PROBE_DURATION_SECONDS}" \ --warmup-seconds "${PROBE_WARMUP_SECONDS}" ) || probe_status=$?