deploy: стабильность netns-ci 5/5 и актуальный blob topology.sh (#56)

Refs #21, Refs #56
This commit is contained in:
2026-10-28 21:38:32 +03:00
parent 6c5d739cfc
commit e6ba503c20
+7 -1
View File
@@ -24,7 +24,7 @@
| `tests/deploy/test_validate_compose.py` | `fb045949848cb70a1880614201930c2d4ecd9d0a` | | `tests/deploy/test_validate_compose.py` | `fb045949848cb70a1880614201930c2d4ecd9d0a` |
| `tests/netns/lib.sh` | `806375299b7c3932d20b275d98b72f65e48940ec` | | `tests/netns/lib.sh` | `806375299b7c3932d20b275d98b72f65e48940ec` |
| `tests/netns/run.sh` | `c6797bf9c42abe7c4f72cf5402af82e2192ee867` | | `tests/netns/run.sh` | `c6797bf9c42abe7c4f72cf5402af82e2192ee867` |
| `tests/netns/topology.sh` | `16aa764264d4697750bf02c53f11d3e2a5a2dcc5` | | `tests/netns/topology.sh` | `4892f6b9f9b92c38ae058df00e7c79a692537eaa` |
| `tests/netns/netns_common.py` | `9d3bfd94cd8e8b321af92274835b3f0ebc48c842` | | `tests/netns/netns_common.py` | `9d3bfd94cd8e8b321af92274835b3f0ebc48c842` |
| `tests/netns/README.md` | `845863188ffb26c1aae7e475addc0c511e0d8f1f` | | `tests/netns/README.md` | `845863188ffb26c1aae7e475addc0c511e0d8f1f` |
| остальные файлы `tests/netns/` (5) | без изменений с раунда 1 | | остальные файлы `tests/netns/` (5) | без изменений с раунда 1 |
@@ -174,6 +174,9 @@ make test-netns # netns-харнесс сносит топологию с
| упавшие тесты | синтетический проваленный тест в контейнере | exit **1**, `[warn] netns-стенд: тесты/очистка упали (код 1)` | | упавшие тесты | синтетический проваленный тест в контейнере | exit **1**, `[warn] netns-стенд: тесты/очистка упали (код 1)` |
| гейт покрытия | `make test-deploy` | exit 0, 51 passed, coverage **98.86 %** (`deploy/api_stub.py` 98 %, `tests/deploy/validate_compose.py` 99 %) | | гейт покрытия | `make test-deploy` | exit 0, 51 passed, coverage **98.86 %** (`deploy/api_stub.py` 98 %, `tests/deploy/validate_compose.py` 99 %) |
| манифесты / shellcheck | `make test-manifests`, `make lint-shell` | exit 0 / exit 0 | | манифесты / shellcheck | `make test-manifests`, `make lint-shell` | exit 0 / exit 0 |
| стабильность в контейнере | 5 прогонов `make test-netns-ci` подряд | 5/5 exit 0, 8 ok каждый, ни одного «остался netns» |
| AC-1 после правок | `curl :8180/api/v1/health` | HTTP 200, `"stub": true`, контейнер `healthy` |
| AC-2 после правок | `make dev-verify VERIFY_ARGS="--no-up --skip-build"` | exit 0: маркеры `/config` и `/data` пережили restart и пересоздание, видны на хосте (bind mount) |
### 6.3 Что изменено для гейта покрытия ### 6.3 Что изменено для гейта покрытия
@@ -191,6 +194,9 @@ make test-netns # netns-харнесс сносит топологию с
`/dev/net/tun`, `ip_forward`, privileged netns-сервис, DEV-ONLY-метка, `--require-dockerfile`). `/dev/net/tun`, `ip_forward`, privileged netns-сервис, DEV-ONLY-метка, `--require-dockerfile`).
* `deploy/api_stub.py` — `make_server()` выделен из `main()` (тесты поднимают сервер на порту 0). * `deploy/api_stub.py` — `make_server()` выделен из `main()` (тесты поднимают сервер на порту 0).
* `make test-deploy` — гейт покрытия; `make test-netns-ci` прокидывает `AWG_NS_EXEC_MODE`. * `make test-deploy` — гейт покрытия; `make test-netns-ci` прокидывает `AWG_NS_EXEC_MODE`.
* `topology.sh`: снос топологии удаляет namespace'ы безусловно и до 5 раз проверяет
результат — в контейнере `ip netns delete` иногда «терялся» и `run.sh` отдавал код 4
на зелёных тестах (флак 1 из 5 прогонов, после правки — 5/5 зелёных).
### 6.4 Что закрыто и что осталось ### 6.4 Что закрыто и что осталось