From 7722d645d7cc649aa28cfff6b551e4f700ccfae4 Mon Sep 17 00:00:00 2001 From: bdchatham Date: Tue, 19 May 2026 14:43:35 -0700 Subject: [PATCH] fix(scenarios): use -internal aggregate Service for TM RPC/REST endpoints The major-upgrade scenario's bash steps (compute-target-height, resolve-proposal-id, wait-for-proposal-to-pass) curl Tendermint endpoints at \${SEI_DEPLOYMENT}-0.\${SEI_NAMESPACE}.svc.cluster.local on ports 26657 (RPC) and 1317 (REST). This dies with: curl: (7) Failed to connect to bench-major-upgrade-X-0.nightly.svc:26657: Could not connect to server Root cause: per-pod Services on a SeiNodeDeployment expose ONLY the EVM ports (8545/8546). Tendermint RPC (26657) and REST (1317) are surfaced ONLY via the deployment-scoped \`-internal\` aggregate Service (see SeiNodeDeployment.status.internalService + .endpoints.{tendermintRpc, tendermintRest}). Concretely from a recent SND status: tendermintRpc: http://-internal.nightly.svc:26657 tendermintRest: http://-internal.nightly.svc:1317 Change all three bash steps to use the -internal aggregate Service. TM RPC/REST are stateless query endpoints so the aggregate (any healthy validator) is the right target. Symptom chain on the live harbor run that caught this: - compute-target-height failed with curl rc=7 (connection refused) - workflow-vars ConfigMap never got created - downstream submit-upgrade-proposal step waited as a CreateContainerConfigError because its \`envFrom: configMapRef\` pointed at a ConfigMap that didn't exist Single fix at the source resolves the whole cascade. --- scenarios/major-upgrade.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scenarios/major-upgrade.yaml b/scenarios/major-upgrade.yaml index a0aa08d..7aa5714 100644 --- a/scenarios/major-upgrade.yaml +++ b/scenarios/major-upgrade.yaml @@ -140,7 +140,7 @@ spec: echo "TARGET_HEIGHT=${EXISTING} already set; short-circuiting" exit 0 fi - RPC="http://${SEI_DEPLOYMENT}-0.${SEI_NAMESPACE}.svc.cluster.local:26657" + RPC="http://${SEI_DEPLOYMENT}-internal.${SEI_NAMESPACE}.svc.cluster.local:26657" CUR=$(curl -fsS "${RPC}/status" | sed -n 's/.*"latest_block_height":"\([0-9]*\)".*/\1/p') if [ -z "${CUR}" ]; then echo "failed to parse latest_block_height from ${RPC}/status" >&2 @@ -233,7 +233,7 @@ spec: args: - | set -eu - REST="http://${SEI_DEPLOYMENT}-0.${SEI_NAMESPACE}.svc.cluster.local:1317" + REST="http://${SEI_DEPLOYMENT}-internal.${SEI_NAMESPACE}.svc.cluster.local:1317" # gov v1beta1 voting_period = 2 for i in $(seq 1 150); do BODY=$(curl -fsS "${REST}/cosmos/gov/v1beta1/proposals?proposal_status=2" || true) @@ -382,7 +382,7 @@ spec: args: - | set -eu - REST="http://${SEI_DEPLOYMENT}-0.${SEI_NAMESPACE}.svc.cluster.local:1317" + REST="http://${SEI_DEPLOYMENT}-internal.${SEI_NAMESPACE}.svc.cluster.local:1317" for i in $(seq 1 300); do STATUS=$(curl -fsS "${REST}/cosmos/gov/v1beta1/proposals/${PROPOSAL_ID}" \ | sed -n 's/.*"status":"\([A-Z_]*\)".*/\1/p' | head -1)