snapshot before legacy cleanup
This commit is contained in:
Regular → Executable
+33
-6
@@ -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 "========================================"
|
||||
|
||||
Reference in New Issue
Block a user