snapshot before legacy cleanup

This commit is contained in:
Naeel
2026-04-27 07:36:06 +03:00
parent 9461026546
commit 7cfe20bf76
25 changed files with 1430 additions and 261 deletions
Regular → Executable
+33 -6
View File
@@ -13,12 +13,36 @@
set -uo pipefail
SSH="ssh -i /home/naeel/remote_dev/common/id_ed25519.txt -o StrictHostKeyChecking=no naeel@5.172.178.213"
if [ "${KUBECTL_DIRECT:-0}" = "1" ]; then
EXECUTOR_LOGS_CMD() {
kubectl logs -n fission deployment/executor 2>/dev/null
}
else
SSH="ssh -i ~/.ssh/naeel_vm_id_ed25519 -o StrictHostKeyChecking=no -o ConnectTimeout=10 naeel@5.172.178.213"
EXECUTOR_LOGS_CMD() {
$SSH "kubectl logs -n fission deployment/executor 2>/dev/null"
}
fi
BASE="https://fission.kube5s.ru/console/api"
COUNT=${1:-10}
RUN_ID="mt$(date +%s | tail -c 6)"
ROOT_DIR=$(cd "$(dirname "$0")" && pwd)
NS_CLEANUP_SCRIPT="${ROOT_DIR}/cleanup_test_namespaces.sh"
PASS=0; FAIL=0
declare -a CREATED_USERS=()
cleanup_namespaces() {
rm -rf "${TMPDIR_RESULTS:-}" 2>/dev/null || true
if [ -x "$NS_CLEANUP_SCRIPT" ] && [ "${#CREATED_USERS[@]}" -gt 0 ]; then
echo ""
echo ">>> Cleanup test namespaces..."
"$NS_CLEANUP_SCRIPT" "${CREATED_USERS[@]}" || true
fi
}
trap cleanup_namespaces EXIT
green() { echo -e "\033[32m PASS: $1\033[0m"; PASS=$((PASS+1)); }
red() { echo -e "\033[31m FAIL: $1\033[0m"; FAIL=$((FAIL+1)); }
@@ -40,6 +64,7 @@ TMPDIR_RESULTS=$(mktemp -d)
for i in $(seq 1 $COUNT); do
USER="${RUN_ID}-user${i}@test.local"
CREATED_USERS+=("$USER")
(
CODE=$(curl -s -o /dev/null -w "%{http_code}" --max-time 30 \
-X GET "${BASE}/functions" \
@@ -77,13 +102,13 @@ echo ">>> [2/4] Проверяем регистрацию NS в executor..."
# Ждём немного — informer почти мгновенный, но логи могут задержаться
sleep 5
EXEC_LOGS=$($SSH "kubectl logs -n fission deployment/executor 2>/dev/null | grep 'registered namespace'" 2>/dev/null || echo "")
EXEC_LOGS=$(EXECUTOR_LOGS_CMD | grep 'registered namespace' 2>/dev/null || echo "")
REGISTERED=0
for i in $(seq 1 $COUNT); do
USER="${USERS[$i]:-}"
# NS имя формируется консолью как hash от email
# Ищем любые новые registered namespace в логах после старта теста
REGISTERED=$($SSH "kubectl logs -n fission deployment/executor 2>/dev/null | grep 'registered namespace' | wc -l" 2>/dev/null || echo 0)
REGISTERED=$(EXECUTOR_LOGS_CMD | grep 'registered namespace' | wc -l 2>/dev/null || echo 0)
done
echo " Всего registered namespace событий в executor: $REGISTERED"
@@ -103,6 +128,10 @@ echo ">>> [3/4] Создаём функции для каждого пользо
PYTHON_CODE='def main():
return "ok-'"${RUN_ID}"'"'
json_escape() {
python3 -c 'import json,sys; print(json.dumps(sys.stdin.read()))'
}
for i in $(seq 1 $COUNT); do
USER="${USERS[$i]:-${RUN_ID}-user${i}@test.local}"
FN_NAME="testfn-${RUN_ID}"
@@ -112,7 +141,7 @@ for i in $(seq 1 $COUNT); do
-X POST "${BASE}/functions" \
-H "X-Test-Sub: ${USER}" \
-H "Content-Type: application/json" \
-d "{\"name\":\"${FN_NAME}\",\"language\":\"python\",\"code\":\"${PYTHON_CODE}\"}" \
-d "{\"name\":\"${FN_NAME}\",\"language\":\"python\",\"code\":$(printf '%s' \"${PYTHON_CODE}\" | json_escape)}" \
2>/dev/null)
CODE=$(echo "$CREATE" | tail -1)
echo "$i:$CODE" > "${TMPDIR_RESULTS}/create-${i}"
@@ -177,8 +206,6 @@ else
red "$INVOKE_FAIL / $COUNT функций не ответили (возможно cold start — повторить тест)"
fi
rm -rf "$TMPDIR_RESULTS"
# ── Итог ─────────────────────────────────────────────────────────────────────
echo ""
echo "========================================"