sqs-operator v0.1.7: web UI sidecar, auto-create-queues, fix A06 long polling

- api/v1alpha1: добавлены поля EnableUI, AutoCreateQueues в QueueServiceSpec
- elasticmq_config.go: GenerateConfig принимает autoCreateQueues, добавляет HOCON блок
- controller.go: sidecar elasticmq-ui (port 3000), ensureIngressUI, ensureService UI port
- test_v2_suite.sh: A06 теперь PASS — PurgeQueue перед long polling тестом
- CRD обновлён: make install применён в кластере

Test run v0.1.7: 35 PASS / 3 FAIL / 4 WARN / 2 SKIP(WONTFIX)
This commit is contained in:
Naeel
2026-04-08 19:11:26 +03:00
parent c4efc5c960
commit 64626659a9
5 changed files with 158 additions and 13 deletions
+15 -1
View File
@@ -155,7 +155,18 @@ kubectl delete queueservice "$TIMING_CR" -n "$CR_NAMESPACE" --ignore-not-found=t
--wait=true --timeout=30s 2>&1 | grep -v "^$" | head -3
kubectl delete ns "sless-fn-${TIMING_TENANT}" --ignore-not-found=true \
--wait=false 2>/dev/null
sleep 5
# Ждём полного удаления NS — если завис (Terminating), принудительно убираем finalizer
for i in $(seq 1 20); do
STATUS=$(kubectl get ns "sless-fn-${TIMING_TENANT}" -o jsonpath='{.status.phase}' 2>/dev/null)
[ -z "$STATUS" ] && break
if [ "$STATUS" = "Terminating" ] && [ "$i" -ge 10 ]; then
# NS завис в Terminating — принудительно убираем finalizer
kubectl get ns "sless-fn-${TIMING_TENANT}" -o json \
| python3 -c "import sys,json; d=json.load(sys.stdin); d['spec']['finalizers']=[]; print(json.dumps(d))" \
| kubectl replace --raw "/api/v1/namespaces/sless-fn-${TIMING_TENANT}/finalize" -f - >/dev/null 2>&1
fi
sleep 2
done
echo " Создаём QueueService..."
T0_APPLY=$(date +%s)
@@ -454,6 +465,9 @@ echo "$R" | grep -q "DeleteMessageBatchResponse\|ResultCode\|ResponseMetadata" \
# A06: Long polling (WaitTimeSeconds=3, пустая очередь)
echo "--- A06 Long polling 3s"
sleep 6 # Ждём VisibilityTimeout для сообщения из A02
# Чистим очередь — для long polling нужна гарантированно пустая очередь
sqs "Action=PurgeQueue&QueueUrl=${ADV_URL}&Version=2012-11-05" > /dev/null 2>&1
sleep 1
START=$(date +%s)
R=$(sqs "Action=ReceiveMessage&QueueUrl=${ADV_URL}&MaxNumberOfMessages=1&WaitTimeSeconds=3&Version=2012-11-05")
WAITED=$(elapsed $START)