From 83ede8a9758998e14e0fa3841c28ba453bd001c3 Mon Sep 17 00:00:00 2001 From: Yoav Katz Date: Sun, 28 Jun 2026 16:13:30 +0300 Subject: [PATCH 1/2] fix: fail fast on deployment errors and add pyyaml dependency Replace dead post-command `if [ $? -ne 0 ]` checks (killed by set -e before they run) with `|| fail "..."` pattern, and convert warnings on unexpected API responses to hard failures to avoid proceeding with a broken backend. Add pyyaml as an explicit dependency for authbridge/pipeline-merge.py. Co-Authored-By: Claude Sonnet 4.6 (1M context) Signed-off-by: Yoav Katz --- exgentic_a2a_runner/deploy-and-evaluate.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/exgentic_a2a_runner/deploy-and-evaluate.sh b/exgentic_a2a_runner/deploy-and-evaluate.sh index 02309fa..1b618fa 100755 --- a/exgentic_a2a_runner/deploy-and-evaluate.sh +++ b/exgentic_a2a_runner/deploy-and-evaluate.sh @@ -288,7 +288,7 @@ else "${CLUSTER_FLAG[@]}" \ $MCP_GATEWAY_FLAG \ $LOCAL_IMAGE_FLAG \ - || fail "deploy benchmark failed" + || fail "Benchmark deployment failed (step 1/3)" echo "" echo "✓ Benchmark deployed successfully" @@ -326,7 +326,7 @@ else $MCP_GATEWAY_FLAG \ $LOCAL_IMAGE_FLAG \ "${PLUGIN_FLAGS[@]}" \ - || fail "deploy agent failed" + || fail "Agent deployment failed (step 2/3)" echo "" echo "✓ Agent deployed successfully" @@ -370,7 +370,7 @@ else fi "$SCRIPT_DIR/evaluate-benchmark.sh" "${EVALUATE_ARGS[@]}" \ - || fail "evaluate failed" + || fail "Evaluation failed (step 3/3)" fi if [ "$DRY_RUN" = "true" ]; then From 4b01eff76cf07b55061b26c029f79dd3a673a905 Mon Sep 17 00:00:00 2001 From: Yoav Katz Date: Thu, 16 Jul 2026 10:51:47 +0300 Subject: [PATCH 2/2] feat(deploy-benchmark): add --action-timeout flag and extend MCP wait time Adds a --action-timeout CLI argument that sets EXGENTIC_SET_BENCHMARK_ACTION_TIMEOUT env var on the deployed pod, and extends MCP readiness wait from 180s to 300s. Co-Authored-By: Claude Sonnet 4.6 (1M context) Signed-off-by: Yoav Katz --- exgentic_a2a_runner/deploy-benchmark.sh | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/exgentic_a2a_runner/deploy-benchmark.sh b/exgentic_a2a_runner/deploy-benchmark.sh index 82a3117..72624a6 100755 --- a/exgentic_a2a_runner/deploy-benchmark.sh +++ b/exgentic_a2a_runner/deploy-benchmark.sh @@ -15,6 +15,7 @@ BENCHMARK_NAME="" USE_MCP_GATEWAY="false" USE_LOCAL_IMAGE="false" CLUSTER_MODE="" +ACTION_TIMEOUT="1000" # Parse arguments while [[ $# -gt 0 ]]; do @@ -43,6 +44,10 @@ while [[ $# -gt 0 ]]; do USE_LOCAL_IMAGE="true" shift ;; + --action-timeout) + ACTION_TIMEOUT="$2" + shift 2 + ;; --kind) CLUSTER_MODE="kind" shift @@ -64,6 +69,7 @@ while [[ $# -gt 0 ]]; do echo "" echo "Optional Arguments:" echo " --model MODEL Model name (default: Azure/gpt-4.1)" + echo " --action-timeout SECONDS Per-action step timeout in seconds (default: 30)" echo " --keycloak-user USER Keycloak username (default: admin)" echo " --keycloak-pass PASS Keycloak password (auto-detected from cluster if not provided)" echo " --use-mcp-gateway Register MCP server with the MCP Gateway" @@ -420,6 +426,11 @@ if [[ "$BENCHMARK_NAME" == "gsm8k" ]]; then ENV_VARS=$(echo "$ENV_VARS" | jq ". + [{\"name\": \"EXGENTIC_SET_BENCHMARK_RUNNER\", \"value\": \"direct\"}]") fi +if [ -n "$ACTION_TIMEOUT" ]; then + echo "Adding EXGENTIC_SET_BENCHMARK_ACTION_TIMEOUT=$ACTION_TIMEOUT" + ENV_VARS=$(echo "$ENV_VARS" | jq ". + [{\"name\": \"EXGENTIC_SET_BENCHMARK_ACTION_TIMEOUT\", \"value\": \"$ACTION_TIMEOUT\"}]") +fi + echo "✓ Environment variables prepared for deployment" echo "" @@ -513,7 +524,7 @@ MCP_URL="$(tool_http_url "$TOOL_NAME" "$NAMESPACE")" echo " MCP URL: $MCP_URL" MCP_READY=false -MCP_MAX_WAIT=180 +MCP_MAX_WAIT=300 for i in $(seq 1 $MCP_MAX_WAIT); do MCP_HTTP_CODE=$(curl -s -o /tmp/mcp_health_response.txt -w "%{http_code}" --max-time 3 \ -X POST "$MCP_URL/mcp" \ @@ -672,6 +683,9 @@ echo "Benchmark configuration:" echo " Deployment: $TOOL_NAME" echo " Namespace: $NAMESPACE" echo " Model: $MODEL_NAME" +if [ -n "$ACTION_TIMEOUT" ]; then + echo " Action Timeout: ${ACTION_TIMEOUT}s" +fi if [ -n "$OPENAI_API_BASE" ]; then echo " Memory Limit: 3Gi" echo " OPENAI_API_BASE: $OPENAI_API_BASE"