fix(gre): отклонять повреждённые и повторяющиеся native идентификаторы
This commit is contained in:
1 parent
51a579d370
commit
7a38bb36aa
19 files changed
+678
-19
No files matched your search
@@ -1,6 +1,6 @@
|
||||
# UX/UI: протокол внешней приёмки 12.5
|
||||
|
||||
Актуальное продолжение 2026-10-14: блок220 завершён. GRE catalog/config snapshots/alert source используют одну модель подтверждённых operational flags. Unknown flags не превращаются в degraded/up. Local49, profiles14+6, production30, real up→down/degraded→up/Ping3/3×2 и source/UI прошли; own objects удалены. Первичный native401104.165.244.7 после перепроверки не повторился, причина неизвестна. Backend ux-gre220/compiled1056/source488 matched, frontend ux-routing218. Следующий221 — native GRE identity/duplicate guards для каталога и snapshots. Этап12.5 открыт.
|
||||
Актуальное продолжение 2026-10-14: блок221 завершён. GRE API/config/snapshot source отклоняют missing/duplicate native ID/name и повреждённые records, fallback identity удалены. Local13/flags49, configSync7 и production22 прошли; false observed revisions не добавляются. Whole actual source2own GRE/UI passed, own tunnels/DB/roles удалены. Первичный native500104.165.244.7 сохранён; причина неизвестна. Backend ux-gre221/compiled1056/source490 matched, frontend ux-routing218. Следующий222 — общая backend регрессия в собственных PostgreSQL DB и профильный GRE UI. Этап12.5 открыт.
|
||||
|
||||
IPsec78: реальный PSK responder established, mode-config198.18.78.10 и online=true подтверждены API; точные собственные объекты удалены. Сертификатный/DN online, late failure и history restore остаются открытыми. [Отчёт](ux-ui/acceptance/ipsec-mode-config-2026-10-09.json), [журнал](ux-ui-progress.md).
|
||||
|
||||
@@ -2607,3 +2607,7 @@ BGP/OSPF contrast: baseline22/fixed104 cells0 violations; E2E22 и real UI8 pass
|
||||
## 12.5.220 — GRE operational flags (2026-10-14)
|
||||
|
||||
Общий reader catalog/config/alerts не подменяет неизвестные flags. Production30/local49 и цельный native lifecycle/Ping/source/UI прошли, own objects удалены. Первичный401 сохранён, причина неизвестна. Подробности и границы — [журнал](ux-ui-progress.md). Backend ux-gre220, frontend ux-routing218; следующий221 — GRE identity guards.
|
||||
|
||||
## 12.5.221 — GRE native identity (2026-10-14)
|
||||
|
||||
Общий identity boundary предотвращает fallback IDs/names и false config revisions. Local13/flags49, production22 и real source/API/UI passed; own objects удалены. Первичный500 сохранён, причина неизвестна. Подробности и границы — [журнал](ux-ui-progress.md). Backend ux-gre221, frontend ux-routing218; следующий222 — общая backend/профильная UI регрессия.
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
# План реализации UX/UI по пятичасовым окнам
|
||||
|
||||
Актуальное продолжение 2026-10-14: блок220 завершён. GRE catalog/config snapshots/alert source используют одну модель подтверждённых operational flags. Unknown flags не превращаются в degraded/up. Local49, profiles14+6, production30, real up→down/degraded→up/Ping3/3×2 и source/UI прошли; own objects удалены. Первичный native401104.165.244.7 после перепроверки не повторился, причина неизвестна. Backend ux-gre220/compiled1056/source488 matched, frontend ux-routing218. Следующий221 — native GRE identity/duplicate guards для каталога и snapshots. Этап12.5 открыт.
|
||||
Актуальное продолжение 2026-10-14: блок221 завершён. GRE API/config/snapshot source отклоняют missing/duplicate native ID/name и повреждённые records, fallback identity удалены. Local13/flags49, configSync7 и production22 прошли; false observed revisions не добавляются. Whole actual source2own GRE/UI passed, own tunnels/DB/roles удалены. Первичный native500104.165.244.7 сохранён; причина неизвестна. Backend ux-gre221/compiled1056/source490 matched, frontend ux-routing218. Следующий222 — общая backend регрессия в собственных PostgreSQL DB и профильный GRE UI. Этап12.5 открыт.
|
||||
|
||||
Общий план проекта MikrotikManager. Основан на согласованном плане из задачи; точка продолжения обновлена 2026-10-13. Источник фактического прогресса, проверок и ограничений — [журнал реализации](ux-ui-progress.md). Этот документ задаёт объём и критерии завершения, журнал фиксирует результат.
|
||||
|
||||
|
||||
+11
-1
@@ -1,6 +1,6 @@
|
||||
# UX/UI: журнал реализации
|
||||
|
||||
Актуальное продолжение 2026-10-14: блок220 завершён. GRE catalog/config snapshots/alert source используют одну модель подтверждённых operational flags. Unknown flags не превращаются в degraded/up. Local49, profiles14+6, production30, real up→down/degraded→up/Ping3/3×2 и source/UI прошли; own objects удалены. Первичный native401104.165.244.7 после перепроверки не повторился, причина неизвестна. Backend ux-gre220/compiled1056/source488 matched, frontend ux-routing218. Следующий221 — native GRE identity/duplicate guards для каталога и snapshots. Этап12.5 открыт.
|
||||
Актуальное продолжение 2026-10-14: блок221 завершён. GRE API/config/snapshot source отклоняют missing/duplicate native ID/name и повреждённые records, fallback identity удалены. Local13/flags49, configSync7 и production22 прошли; false observed revisions не добавляются. Whole actual source2own GRE/UI passed, own tunnels/DB/roles удалены. Первичный native500104.165.244.7 сохранён; причина неизвестна. Backend ux-gre221/compiled1056/source490 matched, frontend ux-routing218. Следующий222 — общая backend регрессия в собственных PostgreSQL DB и профильный GRE UI. Этап12.5 открыт.
|
||||
|
||||
Общий план: [UX/UI по этапам и пятичасовым окнам](ux-ui-plan.md). План задаёт объём, этот журнал фиксирует выполненные блоки и ограничения. Записи расположены от новых к старым; подробная история этапа12 также сохранена в [ux-ui-stage-12.md](ux-ui-stage-12.md).
|
||||
|
||||
@@ -38,6 +38,16 @@
|
||||
| 11Б | Оповещения, сбор данных, интеграции, релизы и настройки | Завершён в границах локальной приёмки 2026-10-03; ограничения и evidence в11Б.7 |
|
||||
| 12 | Итоговая доступность, адаптивность, производительность и регрессия | Локальная приёмка завершена в границах12.3.83; внешняя12.5 в работе, выполненные блоки1–196 и ограничения ниже. Runtime backend/frontend ux-peak196. |
|
||||
|
||||
## 12.5.221 — native identity GRE без выдуманных fallback (2026-10-14)
|
||||
|
||||
Общий readGreNativeRows валидирует коллекцию, строковые поля, native .id/name, blank/whitespace IDs, duplicate ID и duplicate normalized names. API/config mapper и alert source используют один boundary. mapGreLive больше не создаёт gre-index IDs/names для повреждённых rows. Корректные .id и имена со спецсимволами сохранены. Неполный API catalog передаёт per-device failure, snapshot source сообщает GRE error, BGP observations сохраняются.
|
||||
|
||||
Local13 malformed/duplicate cases на raw reader и mapper, flags49, configSync7 и build прошли; optional special-env disabled SQL branch skipped. Unit flags fixture сперва содержала properties со значением undefined: теперь omitted keys соответствуют native JSON; повтор passed. Baseline ux-gre220/fixed ux-gre221 по22 production SQL cases:11 вариантов через compiled collector и signed API/config path. Missing/duplicate identity в fixed не добавляет observed config revisions. Old API принимал fallback identity/duplicates; old source не замечал duplicate names/trim collisions. Native writes0, disabled Home Router calls0; own DB/roles удалены.
|
||||
|
||||
Backend ux-gre221 compiled1056/source490 matched, healthy; frontend ux-routing218 сохранён. Первая live попытка остановилась native500104.165.244.7 GET/interface/gre и выполнила own cleanup. Последующие resource/gre/services/log200 на обоих; CPU0–2%, freeRAM~800MB. В retained auth failures нет testDebian161.104.46.222; ring-buffer counts не rate и не доказательство причины500. Services/credentials не менялись, root cause неизвестен. Повтор с300ms паузой между прямыми native reads прошёл: Portal API/actual compiled collector подтвердили own disabled GRE2, UI1440/320 увидел rows без page errors/mutations, own interfaces удалены и absence API/native проверен. Прямой collector не писал scheduler history. Это не physical WAN/data-plane/SLA/full WCAG приёмка.
|
||||
|
||||
Протоколы: [baseline](ux-ui/acceptance/gre221-baseline.json), [fixed](ux-ui/acceptance/gre221-fixed.json), [build](ux-ui/acceptance/gre221-build-proof-2026-10-14.json), [deployment](ux-ui/acceptance/gre221-deployment-2026-10-14.json), [initial500/diagnostics](ux-ui/acceptance/gre221-initial-native-failure-2026-10-14.json), [whole actual source/UI/cleanup](ux-ui/acceptance/gre221-native-live-2026-10-14.json). Следующий222 — общая backend регрессия в собственных PostgreSQL DB (без main env/DB) и профильный GRE/Filters UI после общего reader.
|
||||
|
||||
## 12.5.220 — подтверждённые operational flags GRE (2026-10-14)
|
||||
|
||||
Общий readGreObservedState используется в live catalog/config snapshot и alert source. true/false/yes/no читаются одинаково; disabled=true подтверждает down независимо от running. При неизвестном disabled или running у enabled interface опрос устройства отклоняется. Достоверные up/down/degraded сохранены; главная API-envelope по-прежнему передаёт failures по устройствам, а source snapshot сообщает GRE error и сохраняет BGP. Unknown metadata больше не выдаётся за подтверждённый operational status. Другие параметры/defaults GRE этим блоком не объявляются полностью проверенными.
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
# Оставшаяся внешняя приёмка — 2026-10-13
|
||||
|
||||
Актуальное продолжение 2026-10-14: блок220 завершён. GRE catalog/config snapshots/alert source используют одну модель подтверждённых operational flags. Unknown flags не превращаются в degraded/up. Local49, profiles14+6, production30, real up→down/degraded→up/Ping3/3×2 и source/UI прошли; own objects удалены. Первичный native401104.165.244.7 после перепроверки не повторился, причина неизвестна. Backend ux-gre220/compiled1056/source488 matched, frontend ux-routing218. Следующий221 — native GRE identity/duplicate guards для каталога и snapshots. Этап12.5 открыт.
|
||||
Актуальное продолжение 2026-10-14: блок221 завершён. GRE API/config/snapshot source отклоняют missing/duplicate native ID/name и повреждённые records, fallback identity удалены. Local13/flags49, configSync7 и production22 прошли; false observed revisions не добавляются. Whole actual source2own GRE/UI passed, own tunnels/DB/roles удалены. Первичный native500104.165.244.7 сохранён; причина неизвестна. Backend ux-gre221/compiled1056/source490 matched, frontend ux-routing218. Следующий222 — общая backend регрессия в собственных PostgreSQL DB и профильный GRE UI. Этап12.5 открыт.
|
||||
|
||||
Это актуальная матрица после 12.5.220. Исторические записи сохраняют версии и ограничения на момент выполнения; поздние проверки ниже уточняют их. Этап 12.5 открыт. Успех в двух CHR и одном backend не означает приёмку всех конфигураций, интеграций или полной регрессии.
|
||||
Это актуальная матрица после 12.5.221. Исторические записи сохраняют версии и ограничения на момент выполнения; поздние проверки ниже уточняют их. Этап 12.5 открыт. Успех в двух CHR и одном backend не означает приёмку всех конфигураций, интеграций или полной регрессии.
|
||||
|
||||
Стенд: Debian13/Compose, PostgreSQL18.6, два CHR RouterOS7.24.5. Backend `ux-gre220`, frontend `ux-routing218`; production lab с195 использует AUTH_REQUIRED=true и Portal1.3.1. Подписанные JWT/RBAC проверялись в изолированных процессах. Все собственные объекты112 удалены, исходные13 коллекций×2 (включая logging/certificates/files/routes) проверены; пароли не менялись.
|
||||
Стенд: Debian13/Compose, PostgreSQL18.6, два CHR RouterOS7.24.5. Backend `ux-gre221`, frontend `ux-routing218`; production lab с195 использует AUTH_REQUIRED=true и Portal1.3.1. Подписанные JWT/RBAC проверялись в изолированных процессах. Все собственные объекты112 удалены, исходные13 коллекций×2 (включая logging/certificates/files/routes) проверены; пароли не менялись.
|
||||
|
||||
| Раздел | Подтверждено | Осталось / условие завершения |
|
||||
| --- | --- | --- |
|
||||
@@ -1525,3 +1525,7 @@ BGP/OSPF contrast: baseline22/fixed104 cells0 violations; E2E22 и real UI8 pass
|
||||
## 12.5.220 — GRE operational flags (2026-10-14)
|
||||
|
||||
Общий reader catalog/config/alerts не подменяет неизвестные flags. Production30/local49 и цельный native lifecycle/Ping/source/UI прошли, own objects удалены. Первичный401 сохранён, причина неизвестна. Подробности и границы — [журнал](ux-ui-progress.md). Backend ux-gre220, frontend ux-routing218; следующий221 — GRE identity guards.
|
||||
|
||||
## 12.5.221 — GRE native identity (2026-10-14)
|
||||
|
||||
Общий identity boundary предотвращает fallback IDs/names и false config revisions. Local13/flags49, production22 и real source/API/UI passed; own objects удалены. Первичный500 сохранён, причина неизвестна. Подробности и границы — [журнал](ux-ui-progress.md). Backend ux-gre221, frontend ux-routing218; следующий222 — общая backend/профильная UI регрессия.
|
||||
+12
-1
@@ -1,6 +1,6 @@
|
||||
# Этап 12: итоговая приёмка UX/UI
|
||||
|
||||
Актуальное продолжение 2026-10-14: блок220 завершён. GRE catalog/config snapshots/alert source используют одну модель подтверждённых operational flags. Unknown flags не превращаются в degraded/up. Local49, profiles14+6, production30, real up→down/degraded→up/Ping3/3×2 и source/UI прошли; own objects удалены. Первичный native401104.165.244.7 после перепроверки не повторился, причина неизвестна. Backend ux-gre220/compiled1056/source488 matched, frontend ux-routing218. Следующий221 — native GRE identity/duplicate guards для каталога и snapshots. Этап12.5 открыт.
|
||||
Актуальное продолжение 2026-10-14: блок221 завершён. GRE API/config/snapshot source отклоняют missing/duplicate native ID/name и повреждённые records, fallback identity удалены. Local13/flags49, configSync7 и production22 прошли; false observed revisions не добавляются. Whole actual source2own GRE/UI passed, own tunnels/DB/roles удалены. Первичный native500104.165.244.7 сохранён; причина неизвестна. Backend ux-gre221/compiled1056/source490 matched, frontend ux-routing218. Следующий222 — общая backend регрессия в собственных PostgreSQL DB и профильный GRE UI. Этап12.5 открыт.
|
||||
|
||||
План: [ux-ui-plan.md](ux-ui-plan.md). Фактические результаты: [ux-ui-progress.md](ux-ui-progress.md). Подготовлен после сводных проверок 11Б; завершение каждого блока требует локального коммита без push.
|
||||
|
||||
@@ -3991,3 +3991,14 @@ Backend ux-gre220 compiled1056/source488 matched, healthy; frontend ux-routing21
|
||||
|
||||
Протоколы: [baseline](ux-ui/acceptance/gre220-baseline.json), [fixed](ux-ui/acceptance/gre220-fixed.json), [build](ux-ui/acceptance/gre220-build-proof-2026-10-14.json), [deployment](ux-ui/acceptance/gre220-deployment-2026-10-14.json), [initial401](ux-ui/acceptance/gre220-initial-native-failure-2026-10-14.json), [whole native/UI/cleanup](ux-ui/acceptance/gre220-native-live-2026-10-14.json). Следующий221 — отклонять missing/duplicate native GRE identity в каталоге/config snapshots; сейчас mapGreLive допускает выдуманные fallback IDs/names.
|
||||
|
||||
|
||||
## 12.5.221 — native identity GRE без выдуманных fallback (2026-10-14)
|
||||
|
||||
Общий readGreNativeRows валидирует коллекцию, строковые поля, native .id/name, blank/whitespace IDs, duplicate ID и duplicate normalized names. API/config mapper и alert source используют один boundary. mapGreLive больше не создаёт gre-index IDs/names для повреждённых rows. Корректные .id и имена со спецсимволами сохранены. Неполный API catalog передаёт per-device failure, snapshot source сообщает GRE error, BGP observations сохраняются.
|
||||
|
||||
Local13 malformed/duplicate cases на raw reader и mapper, flags49, configSync7 и build прошли; optional special-env disabled SQL branch skipped. Unit flags fixture сперва содержала properties со значением undefined: теперь omitted keys соответствуют native JSON; повтор passed. Baseline ux-gre220/fixed ux-gre221 по22 production SQL cases:11 вариантов через compiled collector и signed API/config path. Missing/duplicate identity в fixed не добавляет observed config revisions. Old API принимал fallback identity/duplicates; old source не замечал duplicate names/trim collisions. Native writes0, disabled Home Router calls0; own DB/roles удалены.
|
||||
|
||||
Backend ux-gre221 compiled1056/source490 matched, healthy; frontend ux-routing218 сохранён. Первая live попытка остановилась native500104.165.244.7 GET/interface/gre и выполнила own cleanup. Последующие resource/gre/services/log200 на обоих; CPU0–2%, freeRAM~800MB. В retained auth failures нет testDebian161.104.46.222; ring-buffer counts не rate и не доказательство причины500. Services/credentials не менялись, root cause неизвестен. Повтор с300ms паузой между прямыми native reads прошёл: Portal API/actual compiled collector подтвердили own disabled GRE2, UI1440/320 увидел rows без page errors/mutations, own interfaces удалены и absence API/native проверен. Прямой collector не писал scheduler history. Это не physical WAN/data-plane/SLA/full WCAG приёмка.
|
||||
|
||||
Протоколы: [baseline](ux-ui/acceptance/gre221-baseline.json), [fixed](ux-ui/acceptance/gre221-fixed.json), [build](ux-ui/acceptance/gre221-build-proof-2026-10-14.json), [deployment](ux-ui/acceptance/gre221-deployment-2026-10-14.json), [initial500/diagnostics](ux-ui/acceptance/gre221-initial-native-failure-2026-10-14.json), [whole actual source/UI/cleanup](ux-ui/acceptance/gre221-native-live-2026-10-14.json). Следующий222 — общая backend регрессия в собственных PostgreSQL DB (без main env/DB) и профильный GRE/Filters UI после общего reader.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Тестовый сервер UX/UI — 2026-10-10
|
||||
|
||||
Актуальное продолжение 2026-10-14: блок220 завершён. GRE catalog/config snapshots/alert source используют одну модель подтверждённых operational flags. Unknown flags не превращаются в degraded/up. Local49, profiles14+6, production30, real up→down/degraded→up/Ping3/3×2 и source/UI прошли; own objects удалены. Первичный native401104.165.244.7 после перепроверки не повторился, причина неизвестна. Backend ux-gre220/compiled1056/source488 matched, frontend ux-routing218. Следующий221 — native GRE identity/duplicate guards для каталога и snapshots. Этап12.5 открыт.
|
||||
Актуальное продолжение 2026-10-14: блок221 завершён. GRE API/config/snapshot source отклоняют missing/duplicate native ID/name и повреждённые records, fallback identity удалены. Local13/flags49, configSync7 и production22 прошли; false observed revisions не добавляются. Whole actual source2own GRE/UI passed, own tunnels/DB/roles удалены. Первичный native500104.165.244.7 сохранён; причина неизвестна. Backend ux-gre221/compiled1056/source490 matched, frontend ux-routing218. Следующий222 — общая backend регрессия в собственных PostgreSQL DB и профильный GRE UI. Этап12.5 открыт.
|
||||
|
||||
| Параметр | Проверенное состояние |
|
||||
| --- | --- |
|
||||
@@ -2338,3 +2338,7 @@ BGP/OSPF contrast: baseline22/fixed104 cells0 violations; E2E22 и real UI8 pass
|
||||
## 12.5.220 — GRE operational flags (2026-10-14)
|
||||
|
||||
Общий reader catalog/config/alerts не подменяет неизвестные flags. Production30/local49 и цельный native lifecycle/Ping/source/UI прошли, own objects удалены. Первичный401 сохранён, причина неизвестна. Подробности и границы — [журнал](ux-ui-progress.md). Backend ux-gre220, frontend ux-routing218; следующий221 — GRE identity guards.
|
||||
|
||||
## 12.5.221 — GRE native identity (2026-10-14)
|
||||
|
||||
Общий identity boundary предотвращает fallback IDs/names и false config revisions. Local13/flags49, production22 и real source/API/UI passed; own objects удалены. Первичный500 сохранён, причина неизвестна. Подробности и границы — [журнал](ux-ui-progress.md). Backend ux-gre221, frontend ux-routing218; следующий222 — общая backend/профильная UI регрессия.
|
||||
@@ -0,0 +1,178 @@
|
||||
{
|
||||
"date": "2026-10-14",
|
||||
"block": "12.5.221",
|
||||
"baseline": true,
|
||||
"database": "mm_accept_166_1791917283901",
|
||||
"cases": [
|
||||
{
|
||||
"phase": "valid",
|
||||
"endpoint": "compiled collector",
|
||||
"greWritten": 2,
|
||||
"bgpWritten": 2,
|
||||
"sourceErrors": 0
|
||||
},
|
||||
{
|
||||
"phase": "valid",
|
||||
"endpoint": "signed GRE catalog",
|
||||
"status": 200,
|
||||
"tunnels": 2,
|
||||
"failures": 0,
|
||||
"observedRevisionsAdded": 1
|
||||
},
|
||||
{
|
||||
"phase": "empty",
|
||||
"endpoint": "compiled collector",
|
||||
"greWritten": 1,
|
||||
"bgpWritten": 2,
|
||||
"sourceErrors": 0
|
||||
},
|
||||
{
|
||||
"phase": "empty",
|
||||
"endpoint": "signed GRE catalog",
|
||||
"status": 200,
|
||||
"tunnels": 1,
|
||||
"failures": 0,
|
||||
"observedRevisionsAdded": 1
|
||||
},
|
||||
{
|
||||
"phase": "missing-id",
|
||||
"endpoint": "compiled collector",
|
||||
"greWritten": 0,
|
||||
"bgpWritten": 2,
|
||||
"sourceErrors": 1
|
||||
},
|
||||
{
|
||||
"phase": "missing-id",
|
||||
"endpoint": "signed GRE catalog",
|
||||
"status": 200,
|
||||
"tunnels": 2,
|
||||
"failures": 0,
|
||||
"observedRevisionsAdded": 1
|
||||
},
|
||||
{
|
||||
"phase": "missing-name",
|
||||
"endpoint": "compiled collector",
|
||||
"greWritten": 0,
|
||||
"bgpWritten": 2,
|
||||
"sourceErrors": 1
|
||||
},
|
||||
{
|
||||
"phase": "missing-name",
|
||||
"endpoint": "signed GRE catalog",
|
||||
"status": 200,
|
||||
"tunnels": 2,
|
||||
"failures": 0,
|
||||
"observedRevisionsAdded": 1
|
||||
},
|
||||
{
|
||||
"phase": "blank-id",
|
||||
"endpoint": "compiled collector",
|
||||
"greWritten": 0,
|
||||
"bgpWritten": 2,
|
||||
"sourceErrors": 1
|
||||
},
|
||||
{
|
||||
"phase": "blank-id",
|
||||
"endpoint": "signed GRE catalog",
|
||||
"status": 200,
|
||||
"tunnels": 2,
|
||||
"failures": 0,
|
||||
"observedRevisionsAdded": 1
|
||||
},
|
||||
{
|
||||
"phase": "blank-name",
|
||||
"endpoint": "compiled collector",
|
||||
"greWritten": 0,
|
||||
"bgpWritten": 2,
|
||||
"sourceErrors": 1
|
||||
},
|
||||
{
|
||||
"phase": "blank-name",
|
||||
"endpoint": "signed GRE catalog",
|
||||
"status": 200,
|
||||
"tunnels": 2,
|
||||
"failures": 0,
|
||||
"observedRevisionsAdded": 1
|
||||
},
|
||||
{
|
||||
"phase": "whitespace-id",
|
||||
"endpoint": "compiled collector",
|
||||
"greWritten": 2,
|
||||
"bgpWritten": 2,
|
||||
"sourceErrors": 0
|
||||
},
|
||||
{
|
||||
"phase": "whitespace-id",
|
||||
"endpoint": "signed GRE catalog",
|
||||
"status": 200,
|
||||
"tunnels": 2,
|
||||
"failures": 0,
|
||||
"observedRevisionsAdded": 1
|
||||
},
|
||||
{
|
||||
"phase": "number-field",
|
||||
"endpoint": "compiled collector",
|
||||
"greWritten": 0,
|
||||
"bgpWritten": 2,
|
||||
"sourceErrors": 1
|
||||
},
|
||||
{
|
||||
"phase": "number-field",
|
||||
"endpoint": "signed GRE catalog",
|
||||
"status": 200,
|
||||
"tunnels": 2,
|
||||
"failures": 0,
|
||||
"observedRevisionsAdded": 1
|
||||
},
|
||||
{
|
||||
"phase": "duplicate-id",
|
||||
"endpoint": "compiled collector",
|
||||
"greWritten": 0,
|
||||
"bgpWritten": 2,
|
||||
"sourceErrors": 1
|
||||
},
|
||||
{
|
||||
"phase": "duplicate-id",
|
||||
"endpoint": "signed GRE catalog",
|
||||
"status": 200,
|
||||
"tunnels": 3,
|
||||
"failures": 0,
|
||||
"observedRevisionsAdded": 1
|
||||
},
|
||||
{
|
||||
"phase": "duplicate-name",
|
||||
"endpoint": "compiled collector",
|
||||
"greWritten": 3,
|
||||
"bgpWritten": 2,
|
||||
"sourceErrors": 0
|
||||
},
|
||||
{
|
||||
"phase": "duplicate-name",
|
||||
"endpoint": "signed GRE catalog",
|
||||
"status": 200,
|
||||
"tunnels": 3,
|
||||
"failures": 0,
|
||||
"observedRevisionsAdded": 1
|
||||
},
|
||||
{
|
||||
"phase": "trimmed-name-collision",
|
||||
"endpoint": "compiled collector",
|
||||
"greWritten": 3,
|
||||
"bgpWritten": 2,
|
||||
"sourceErrors": 0
|
||||
},
|
||||
{
|
||||
"phase": "trimmed-name-collision",
|
||||
"endpoint": "signed GRE catalog",
|
||||
"status": 200,
|
||||
"tunnels": 3,
|
||||
"failures": 0,
|
||||
"observedRevisionsAdded": 0
|
||||
}
|
||||
],
|
||||
"scope": "Actual compiled Native GRE identity and actual API/config/snapshot paths, owned SQL/native HTTP fixture; signed reader/authenticated GRE API",
|
||||
"passed": true,
|
||||
"nativeWrites": 0,
|
||||
"disabledHomeRouterCalls": 0,
|
||||
"ownedDatabaseAndRoleRemoved": true
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"date": "2026-10-14",
|
||||
"block": "12.5.221",
|
||||
"compiled": {
|
||||
"matched": 1056,
|
||||
"missing": 0,
|
||||
"different": 0
|
||||
},
|
||||
"source": [
|
||||
{
|
||||
"kind": "backend",
|
||||
"matched": 490
|
||||
}
|
||||
],
|
||||
"configSyncScripts": 7,
|
||||
"identityCases": 13,
|
||||
"greFlagCombinations": 49,
|
||||
"productionCases": 22,
|
||||
"optionalDisabledSqlProfileSkipped": true,
|
||||
"initialUnitFixtureFailure": "Undefined-valued optional keys replaced with absent keys to represent native JSON"
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"date": "2026-10-14",
|
||||
"block": "12.5.221",
|
||||
"backendSourceMatched": 490,
|
||||
"compiledMatched": 1056,
|
||||
"frontendChanged": false,
|
||||
"services": {
|
||||
"backend": {
|
||||
"image": "mmapp-test/backend:ux-gre221",
|
||||
"imageId": "sha256:22126c3d941b0ac023ea15ff40c5fb18109853f33a4292affeca8ffcf69ec6bd",
|
||||
"running": true,
|
||||
"health": "healthy"
|
||||
},
|
||||
"frontend": {
|
||||
"image": "mmapp-test/frontend:ux-routing218",
|
||||
"imageId": "sha256:ec658b9da88c19d60987be5bfc0c15fb339a0310d7a42dc761b40a70a3428c5a",
|
||||
"running": true,
|
||||
"health": null
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,178 @@
|
||||
{
|
||||
"date": "2026-10-14",
|
||||
"block": "12.5.221",
|
||||
"baseline": false,
|
||||
"database": "mm_accept_166_1791917459099",
|
||||
"cases": [
|
||||
{
|
||||
"phase": "valid",
|
||||
"endpoint": "compiled collector",
|
||||
"greWritten": 2,
|
||||
"bgpWritten": 2,
|
||||
"sourceErrors": 0
|
||||
},
|
||||
{
|
||||
"phase": "valid",
|
||||
"endpoint": "signed GRE catalog",
|
||||
"status": 200,
|
||||
"tunnels": 2,
|
||||
"failures": 0,
|
||||
"observedRevisionsAdded": 1
|
||||
},
|
||||
{
|
||||
"phase": "empty",
|
||||
"endpoint": "compiled collector",
|
||||
"greWritten": 1,
|
||||
"bgpWritten": 2,
|
||||
"sourceErrors": 0
|
||||
},
|
||||
{
|
||||
"phase": "empty",
|
||||
"endpoint": "signed GRE catalog",
|
||||
"status": 200,
|
||||
"tunnels": 1,
|
||||
"failures": 0,
|
||||
"observedRevisionsAdded": 1
|
||||
},
|
||||
{
|
||||
"phase": "missing-id",
|
||||
"endpoint": "compiled collector",
|
||||
"greWritten": 0,
|
||||
"bgpWritten": 2,
|
||||
"sourceErrors": 1
|
||||
},
|
||||
{
|
||||
"phase": "missing-id",
|
||||
"endpoint": "signed GRE catalog",
|
||||
"status": 200,
|
||||
"tunnels": 1,
|
||||
"failures": 1,
|
||||
"observedRevisionsAdded": 0
|
||||
},
|
||||
{
|
||||
"phase": "missing-name",
|
||||
"endpoint": "compiled collector",
|
||||
"greWritten": 0,
|
||||
"bgpWritten": 2,
|
||||
"sourceErrors": 1
|
||||
},
|
||||
{
|
||||
"phase": "missing-name",
|
||||
"endpoint": "signed GRE catalog",
|
||||
"status": 200,
|
||||
"tunnels": 1,
|
||||
"failures": 1,
|
||||
"observedRevisionsAdded": 0
|
||||
},
|
||||
{
|
||||
"phase": "blank-id",
|
||||
"endpoint": "compiled collector",
|
||||
"greWritten": 0,
|
||||
"bgpWritten": 2,
|
||||
"sourceErrors": 1
|
||||
},
|
||||
{
|
||||
"phase": "blank-id",
|
||||
"endpoint": "signed GRE catalog",
|
||||
"status": 200,
|
||||
"tunnels": 1,
|
||||
"failures": 1,
|
||||
"observedRevisionsAdded": 0
|
||||
},
|
||||
{
|
||||
"phase": "blank-name",
|
||||
"endpoint": "compiled collector",
|
||||
"greWritten": 0,
|
||||
"bgpWritten": 2,
|
||||
"sourceErrors": 1
|
||||
},
|
||||
{
|
||||
"phase": "blank-name",
|
||||
"endpoint": "signed GRE catalog",
|
||||
"status": 200,
|
||||
"tunnels": 1,
|
||||
"failures": 1,
|
||||
"observedRevisionsAdded": 0
|
||||
},
|
||||
{
|
||||
"phase": "whitespace-id",
|
||||
"endpoint": "compiled collector",
|
||||
"greWritten": 0,
|
||||
"bgpWritten": 2,
|
||||
"sourceErrors": 1
|
||||
},
|
||||
{
|
||||
"phase": "whitespace-id",
|
||||
"endpoint": "signed GRE catalog",
|
||||
"status": 200,
|
||||
"tunnels": 1,
|
||||
"failures": 1,
|
||||
"observedRevisionsAdded": 0
|
||||
},
|
||||
{
|
||||
"phase": "number-field",
|
||||
"endpoint": "compiled collector",
|
||||
"greWritten": 0,
|
||||
"bgpWritten": 2,
|
||||
"sourceErrors": 1
|
||||
},
|
||||
{
|
||||
"phase": "number-field",
|
||||
"endpoint": "signed GRE catalog",
|
||||
"status": 200,
|
||||
"tunnels": 1,
|
||||
"failures": 1,
|
||||
"observedRevisionsAdded": 0
|
||||
},
|
||||
{
|
||||
"phase": "duplicate-id",
|
||||
"endpoint": "compiled collector",
|
||||
"greWritten": 0,
|
||||
"bgpWritten": 2,
|
||||
"sourceErrors": 1
|
||||
},
|
||||
{
|
||||
"phase": "duplicate-id",
|
||||
"endpoint": "signed GRE catalog",
|
||||
"status": 200,
|
||||
"tunnels": 1,
|
||||
"failures": 1,
|
||||
"observedRevisionsAdded": 0
|
||||
},
|
||||
{
|
||||
"phase": "duplicate-name",
|
||||
"endpoint": "compiled collector",
|
||||
"greWritten": 0,
|
||||
"bgpWritten": 2,
|
||||
"sourceErrors": 1
|
||||
},
|
||||
{
|
||||
"phase": "duplicate-name",
|
||||
"endpoint": "signed GRE catalog",
|
||||
"status": 200,
|
||||
"tunnels": 1,
|
||||
"failures": 1,
|
||||
"observedRevisionsAdded": 0
|
||||
},
|
||||
{
|
||||
"phase": "trimmed-name-collision",
|
||||
"endpoint": "compiled collector",
|
||||
"greWritten": 0,
|
||||
"bgpWritten": 2,
|
||||
"sourceErrors": 1
|
||||
},
|
||||
{
|
||||
"phase": "trimmed-name-collision",
|
||||
"endpoint": "signed GRE catalog",
|
||||
"status": 200,
|
||||
"tunnels": 1,
|
||||
"failures": 1,
|
||||
"observedRevisionsAdded": 0
|
||||
}
|
||||
],
|
||||
"scope": "Actual compiled Native GRE identity and actual API/config/snapshot paths, owned SQL/native HTTP fixture; signed reader/authenticated GRE API",
|
||||
"passed": true,
|
||||
"nativeWrites": 0,
|
||||
"disabledHomeRouterCalls": 0,
|
||||
"ownedDatabaseAndRoleRemoved": true
|
||||
}
|
||||
@@ -0,0 +1,117 @@
|
||||
{
|
||||
"date": "2026-10-14",
|
||||
"block": "12.5.221",
|
||||
"initialFailure": {
|
||||
"host": "104.165.244.7",
|
||||
"endpoint": "/interface/gre",
|
||||
"status": 500,
|
||||
"wholeAttemptAborted": true,
|
||||
"ownedGreCleanupReported": true,
|
||||
"rootCauseKnown": false
|
||||
},
|
||||
"subsequentDiagnostics": [
|
||||
{
|
||||
"host": "194.226.121.150",
|
||||
"path": "/system/resource",
|
||||
"status": 200,
|
||||
"cpuLoad": "0",
|
||||
"freeMemory": "817356800",
|
||||
"version": "7.24.5 (stable)"
|
||||
},
|
||||
{
|
||||
"host": "194.226.121.150",
|
||||
"path": "/interface/gre",
|
||||
"status": 200,
|
||||
"owned221Objects": 0
|
||||
},
|
||||
{
|
||||
"host": "194.226.121.150",
|
||||
"path": "/ip/service",
|
||||
"status": 200,
|
||||
"www": [
|
||||
{
|
||||
"name": "www",
|
||||
"maxSessions": "20",
|
||||
"disabled": "false"
|
||||
},
|
||||
{
|
||||
"name": "www",
|
||||
"maxSessions": null,
|
||||
"disabled": "false"
|
||||
},
|
||||
{
|
||||
"name": "www-ssl",
|
||||
"maxSessions": "20",
|
||||
"disabled": "true"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"host": "194.226.121.150",
|
||||
"path": "/log",
|
||||
"status": 200,
|
||||
"authFailureRecords": 11
|
||||
},
|
||||
{
|
||||
"host": "104.165.244.7",
|
||||
"path": "/system/resource",
|
||||
"status": 200,
|
||||
"cpuLoad": "2",
|
||||
"freeMemory": "824307712",
|
||||
"version": "7.24.5 (stable)"
|
||||
},
|
||||
{
|
||||
"host": "104.165.244.7",
|
||||
"path": "/interface/gre",
|
||||
"status": 200,
|
||||
"owned221Objects": 0
|
||||
},
|
||||
{
|
||||
"host": "104.165.244.7",
|
||||
"path": "/ip/service",
|
||||
"status": 200,
|
||||
"www": [
|
||||
{
|
||||
"name": "www",
|
||||
"maxSessions": "20",
|
||||
"disabled": "false"
|
||||
},
|
||||
{
|
||||
"name": "www",
|
||||
"maxSessions": null,
|
||||
"disabled": "false"
|
||||
},
|
||||
{
|
||||
"name": "www-ssl",
|
||||
"maxSessions": "20",
|
||||
"disabled": "true"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"host": "104.165.244.7",
|
||||
"path": "/log",
|
||||
"status": 200,
|
||||
"authFailureRecords": 883
|
||||
}
|
||||
],
|
||||
"credentialsUnchanged": true,
|
||||
"authFailureSourceSummary": [
|
||||
{
|
||||
"host": "194.226.121.150",
|
||||
"status": 200,
|
||||
"totalRetainedAuthFailures": 11,
|
||||
"fromTestDebian": 0,
|
||||
"otherSources": 11,
|
||||
"retainedLogNotCurrentRate": true
|
||||
},
|
||||
{
|
||||
"host": "104.165.244.7",
|
||||
"status": 200,
|
||||
"totalRetainedAuthFailures": 880,
|
||||
"fromTestDebian": 0,
|
||||
"otherSources": 880,
|
||||
"retainedLogNotCurrentRate": true
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
{
|
||||
"date": "2026-10-14",
|
||||
"block": "12.5.221",
|
||||
"backend": "ux-gre221",
|
||||
"frontend": "ux-routing218",
|
||||
"nativeCases": [
|
||||
{
|
||||
"host": "194.226.121.150",
|
||||
"nativeGetStatus": 200,
|
||||
"applicationStatus": "down",
|
||||
"nativeDisabled": "true",
|
||||
"nativeRunning": "false",
|
||||
"nativeIdPresent": true,
|
||||
"nativeNamePresent": true
|
||||
},
|
||||
{
|
||||
"host": "104.165.244.7",
|
||||
"nativeGetStatus": 200,
|
||||
"applicationStatus": "down",
|
||||
"nativeDisabled": "true",
|
||||
"nativeRunning": "false",
|
||||
"nativeIdPresent": true,
|
||||
"nativeNamePresent": true
|
||||
}
|
||||
],
|
||||
"source": {
|
||||
"date": "2026-10-14",
|
||||
"name": "own221-gre-1791918004179",
|
||||
"passed": true,
|
||||
"mode": "Actual compiled helper reads lab PostgreSQL and native GRE/BGP; no scheduler history write",
|
||||
"ownedGreRows": [
|
||||
{
|
||||
"targetLabel": "own221-gre-1791918004179-1 / CHR",
|
||||
"status": "down"
|
||||
},
|
||||
{
|
||||
"targetLabel": "own221-gre-1791918004179-2 / CHR",
|
||||
"status": "down"
|
||||
}
|
||||
],
|
||||
"sourceErrors": 0
|
||||
},
|
||||
"ui": [
|
||||
{
|
||||
"width": 1440,
|
||||
"ownedNativeRowVisible": true,
|
||||
"pageErrors": 0,
|
||||
"mutationRequests": 0
|
||||
},
|
||||
{
|
||||
"width": 320,
|
||||
"ownedNativeRowVisible": true,
|
||||
"pageErrors": 0,
|
||||
"mutationRequests": 0
|
||||
}
|
||||
],
|
||||
"realPortalJWT": true,
|
||||
"apiMocks": false,
|
||||
"cleanupCompleted": true,
|
||||
"scope": "Actual compiled collector reads lab DB/native disabled GRE; no durable snapshot write, fault injection or data-plane claim",
|
||||
"passwordsUnchanged": true
|
||||
}
|
||||
Reference in new issue
Block a user