diff --git a/operator_survival_test.sh b/operator_survival_test.sh index e17f39c..2a081e7 100644 --- a/operator_survival_test.sh +++ b/operator_survival_test.sh @@ -257,6 +257,7 @@ deploy_ns_has() { # cleanup NAME — удалить сервис (teardown) cleanup() { local name="$1" + [[ -z "$name" ]] && return 0 # пустое имя — пропускаем api_code DELETE "$API/services/$name" > /dev/null 2>&1 || true sleep 2 } @@ -267,6 +268,7 @@ teardown() { if [[ ${#CLEANUP_NAMES[@]} -gt 0 ]]; then echo -e "\n${CYAN}[TEARDOWN]${RESET} удаляю тестовые сервисы..." for name in "${CLEANUP_NAMES[@]}"; do + [[ -z "$name" ]] && continue # пропускаем пустые элементы cleanup "$name" echo -e " ${CYAN}[TEARDOWN]${RESET} удалён: $name" done @@ -306,12 +308,14 @@ info "5.1 CREATE + UPLOAD 6 функций параллельно (3 Python / 3 (set +e; create_node_deploy "$FB6" 256 '{"GRP_VAR":"nd3"}') & wait -info "5.2 Проверяем что все 6 CRD созданы..." +info "5.2 Проверяем что все 6 CRD созданы (GET → 200)..." +# Небольшая пауза — контроллер устанавливает phase асинхронно после create +sleep 5 all_created=true for name in "${FB_ALL[@]}"; do - ph=$(svc_phase "$name") - if [[ -z "$ph" ]]; then - fail "CRD $name не существует (create/upload провалился)" + http_check=$(api_code GET "$API/services/$name") + if [[ "$http_check" != "200" ]]; then + fail "CRD $name не существует → HTTP $http_check (create/upload провалился)" all_created=false fi done @@ -416,11 +420,15 @@ for name in "${FB_ALL[@]}"; do [[ "$code" == "404" ]] || { fail "$name: GET после DELETE → $code (ожидали 404)"; del_ok=false; } done $del_ok && pass "все 6 функций удалены, GET → 404" -# Убираем из cleanup (уже удалены) -CLEANUP_NAMES=( "${CLEANUP_NAMES[@]}" ) -for name in "${FB_ALL[@]}"; do - CLEANUP_NAMES=( "${CLEANUP_NAMES[@]/$name}" ) +# Убираем из cleanup (уже удалены) — фильтруем пустые и fb-имена +new_cleanup=() +for e in "${CLEANUP_NAMES[@]}"; do + skip=false + for fn in "${FB_ALL[@]}"; do [[ "$e" == "$fn" ]] && skip=true; done + [[ -z "$e" ]] && skip=true + $skip || new_cleanup+=("$e") done +CLEANUP_NAMES=( "${new_cleanup[@]}" ) # Ждём очистки k8s sleep 15