fix(alerts): исключить переходы между неоднозначными BGP peers
This commit is contained in:
1 parent
22b0e8ae8e
commit
c557a8c8cb
11 files changed
+1142
-15
No files matched your search
@@ -1,8 +1,8 @@
|
||||
# Оставшаяся внешняя приёмка — 2026-10-12
|
||||
|
||||
Это актуальная матрица после 12.5.162. Исторические записи сохраняют версии и ограничения на момент выполнения; поздние проверки ниже уточняют их. Этап 12.5 открыт. Успех в двух CHR и одном backend не означает приёмку всех конфигураций, интеграций или полной регрессии.
|
||||
Это актуальная матрица после 12.5.163. Исторические записи сохраняют версии и ограничения на момент выполнения; поздние проверки ниже уточняют их. Этап 12.5 открыт. Успех в двух CHR и одном backend не означает приёмку всех конфигураций, интеграций или полной регрессии.
|
||||
|
||||
Стенд: Debian13/Compose, PostgreSQL18.6, два CHR RouterOS7.24.5. Backend `ux-bgp161b`, frontend `ux-bfd158`; production lab использует AUTH_REQUIRED=false. Подписанные JWT/RBAC проверялись в изолированных процессах. Все собственные объекты112 удалены, исходные13 коллекций×2 (включая logging/certificates/files/routes) проверены; пароли не менялись.
|
||||
Стенд: Debian13/Compose, PostgreSQL18.6, два CHR RouterOS7.24.5. Backend `ux-bgp163`, frontend `ux-bfd158`; production lab использует AUTH_REQUIRED=false. Подписанные JWT/RBAC проверялись в изолированных процессах. Все собственные объекты112 удалены, исходные13 коллекций×2 (включая logging/certificates/files/routes) проверены; пароли не менялись.
|
||||
|
||||
| Раздел | Подтверждено | Осталось / условие завершения |
|
||||
| --- | --- | --- |
|
||||
@@ -18,7 +18,7 @@
|
||||
| Recursive routes | Production PUT/change/own history restore88, disabled guards, partial/unknown/applied outcomes, live формы/контекст | Автоматический rollback/retry, durable receipts и несколько экземпляров отсутствуют; PUT не является idempotent noop. Полная произвольная legacy catalog миграция не принята |
|
||||
| Diagnostics/terminal | Allowlist/native reads, Ping/trace/route/MTU/DNS, actual avg-rtt, disabled guards, JWT/live PC/mobile89; real default memory tail/log limits/API/UI133 | DNS использует backend resolver; MTU — ограниченная оценка, не гарантированный максимум. Stop ожидания не доказывает остановку RouterOS команды; arbitrary CLI и physical disconnect не приняты |
|
||||
| Portal/интеграции | Локальные и isolated JWT guards; UI/API error states в границах журналов | Настоящий Portal issuer/login/отзыв прав; RIPE SDK two-IP/no-fetch passed140, native IPv6 ULA flow pipeline passed145 (IPv4 transport), public IPv6 WAN/local licensed MaxMind/S3/container/certificate jobs и Gitea delivery требуют отдельных тестовых endpoints/аккаунтов. Не отправлять сообщения и не публиковать релиз без соответствующего поручения |
|
||||
| Общая приёмка | Локальная12.3.83; UI1244/context221/compiled984 parity139; профильные build/E2E/live проверки последующих блоков | Traffic initial live mock-id gate passed141; IPv6 special ranges/cache passed142; unknown RIPE coordinates passed143; IPv6 synthetic UDP/worker/SQL passed144; native CHR ULA/IPFIX/API/UI passed145; ICMPv6/IPv6 endpoint labels passed146; HTTP DTO validation passed147; scoped flow catalog/serverId guards passed148; strict monthly calendar passed149; Sessions labels passed150; application GRE static IPv6 lifecycle151 passed; WireGuard static IPv6 lifecycle152 и disabled SQL/API gates passed; OSPF/BFD boundary/warning153 passed; OSPFv3 routes154 accepted in recorded bounds; BGP IPv6 basic155 passed; bigint ID/SQL guards156 passed; общая UI1260/context221/backend24 regression157 passed; IPv6 BFD correlation158 profile/deployed passed; native OSPFv3/BFDv6 boundary/recovery159 passed; BGP IPv6/BFD withdrawal/recovery160 passed; selected BGP/alert unknown guards161 replay/profiles/deployed passed (SQL stability skipped); private4-byte ASN162 native/API/UI passed; последующие изменения проверять отдельно; scoped axe не означает полную WCAG сертификацию |
|
||||
| Общая приёмка | Локальная12.3.83; UI1244/context221/compiled984 parity139; профильные build/E2E/live проверки последующих блоков | Traffic initial live mock-id gate passed141; IPv6 special ranges/cache passed142; unknown RIPE coordinates passed143; IPv6 synthetic UDP/worker/SQL passed144; native CHR ULA/IPFIX/API/UI passed145; ICMPv6/IPv6 endpoint labels passed146; HTTP DTO validation passed147; scoped flow catalog/serverId guards passed148; strict monthly calendar passed149; Sessions labels passed150; application GRE static IPv6 lifecycle151 passed; WireGuard static IPv6 lifecycle152 и disabled SQL/API gates passed; OSPF/BFD boundary/warning153 passed; OSPFv3 routes154 accepted in recorded bounds; BGP IPv6 basic155 passed; bigint ID/SQL guards156 passed; общая UI1260/context221/backend24 regression157 passed; IPv6 BFD correlation158 profile/deployed passed; native OSPFv3/BFDv6 boundary/recovery159 passed; BGP IPv6/BFD withdrawal/recovery160 passed; selected BGP/alert unknown guards161 replay/profiles/deployed passed (SQL stability skipped); private4-byte ASN162 native/API/UI passed; duplicate BGP alert keys163 replay/profiles/deployed passed; последующие изменения проверять отдельно; scoped axe не означает полную WCAG сертификацию |
|
||||
|
||||
Доказательства и точные ограничения: [полная история этапа12](ux-ui-stage-12.md), [внешний протокол](ux-ui-external-acceptance.md), [BGP93](ux-ui/acceptance/bgp-failover-2026-10-10.json), [паспорт стенда](ux-ui-test-server.md). Невыполненные пункты не являются все блокерами данного лабораторного сценария: для выпуска необходимо явно определить требуемые конфигурации и принять их либо согласовать ограничение.
|
||||
|
||||
@@ -708,3 +708,13 @@ Own connections/instances/routing filters/address-list/IPv6/bridge/GRE удал
|
||||
Протоколы: [native/as4/withdrawal/recovery/cleanup](ux-ui/acceptance/bgp-four-byte-asn-native-2026-10-12.json), [2 live UI](ux-ui/acceptance/bgp-ipv6-162-live-ui-2026-10-12.json), [ПК](ux-ui/screens/bgp-ipv6-162-1440-2026-10-12.png), [телефон](ux-ui/screens/bgp-ipv6-162-320-2026-10-12.png). Live UI162 использует отдельный файл bgp-ipv6-162-live-ui, протокол160 сохранён отдельно.
|
||||
|
||||
Границы: private four-byte ASN между двумя RouterOS, single-path IPv6 внутри IPv4 GRE, не interop со сторонними peers, IPv6 public outer/WAN, scale/physical redundancy. Следующий163 — проверка duplicate legacy alert keys serverName:peerName: два разных устройства с одинаковыми именами не должны создавать ложные state transitions внутри одного snapshot.12.5 открыт.
|
||||
|
||||
## 12.5.163 — неоднозначные ключи BGP-оповещений (2026-10-12)
|
||||
|
||||
Два CHR в native162 имели одинаковые legacy alert keys CHR:peerName. Раньше второй peer внутри того же snapshot мог стать previous state первого. Collector теперь сначала группирует строки одного run: повторный key становится current Unknown, а ambiguous history не используется для поиска previous known state через разные identities. Даже одинаковые states не доказывают уникальное соответствие configured target конкретному peer. Distinct keys и last-known переходы161 сохранены; stable server/peer ID target migration не выполнена. Для legacy ambiguous targets события подавляются консервативно.
|
||||
|
||||
Unit assertions проверили duplicate same/different/unknown states и исторический barrier. Compiled replay46 real native160 snapshot pairs подтвердил одинаковые ключи,46 Unknown/46 suppressed problem/46 suppressed recovery. Это сохранённые RouterOS payloads, не новая native mutation. Alert groups/evaluate и controlled outbox/HTTP/JWT profiles прошли; SQL stability снова skipped из-за отсутствующего PG подключения и не считается pass. Backend build/988 emitted parity passed, ux-bgp163 развёрнут с rollback env; backend/PG healthy, frontend ux-bfd158 сохранён.3 readonly catalog/selected GET и2 live UI1440/320 passed/no errors/overflow после fixture cleanup. Образы/сборка отражают эту delta, полная1481 UI/context regression157 повторно не запускалась.
|
||||
|
||||
Протоколы: [replay46](ux-ui/acceptance/bgp-ambiguous-replay-2026-10-12.json), [compiled988](ux-ui/acceptance/bgp-ambiguous-compiled-2026-10-12.json), [deployed API/UI](ux-ui/acceptance/bgp-ambiguous-deployed-2026-10-12.json). ReUI/Frame/base-nova UI primitives сохранены; RouterOS/пароли/объекты не менялись, сообщения не отправлялись.
|
||||
|
||||
Следующий164 — strict nullable selected BGP counters/AS/timers: legacy selected API ещё подменяет отсутствующие значения default numbers и UPDATE messages количеством prefixes.12.5 открыт.
|
||||
Reference in new issue
Block a user