From 8a1c36f358c0498df77de378faccb5d57f9c89c9 Mon Sep 17 00:00:00 2001 From: Denozordec Date: Thu, 8 Oct 2026 10:29:34 +0700 Subject: [PATCH] =?UTF-8?q?chore(test):=20=D1=81=D0=BE=D0=BF=D0=BE=D1=81?= =?UTF-8?q?=D1=82=D0=B0=D0=B2=D0=B8=D1=82=D1=8C=20CLI=20=D0=B8=20REST=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B8=20=D0=BE=D1=82=D0=BA=D0=B0=D0=B7=D0=B5=20?= =?UTF-8?q?=D0=B4=D0=BE=D1=81=D1=82=D1=83=D0=BF=D0=B0=20CHR2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/ux-ui-external-acceptance.md | 4 + docs/ux-ui-plan.md | 4 +- docs/ux-ui-progress.md | 14 +++- docs/ux-ui-stage-12.md | 14 +++- docs/ux-ui-test-server.md | 4 + .../ux-ui/acceptance/cli-rest-2026-10-08.json | 83 +++++++++++++++++++ 6 files changed, 119 insertions(+), 4 deletions(-) create mode 100644 docs/ux-ui/acceptance/cli-rest-2026-10-08.json diff --git a/docs/ux-ui-external-acceptance.md b/docs/ux-ui-external-acceptance.md index f1fa2bf3..2f819b95 100644 --- a/docs/ux-ui-external-acceptance.md +++ b/docs/ux-ui-external-acceptance.md @@ -161,3 +161,7 @@ BGP-prefix evaluator, отдельное live GRE расписание и recove ## Read-only forward диагностика — 2026-10-08 12.5.30 [settings/state](ux-ui/acceptance/chr-bandwidth-diagnostics-2026-10-08.json), [jobs](ux-ui/acceptance/chr-job-classification-2026-10-08.json), [TCP2000 сDebian](ux-ui/acceptance/tcp-2000-2026-10-08.json). Server enabled/authtrue/session0, filter/NAT/mangle0, active main default routes, CPU0; TCP2000 reachable сDebian. ПричинаCHR1→CHR2timeout не установлена. Поздние REST401/CHR2-500 ограничивают дополнительные чтения. Native0/configchanges0, temporarycontainers завершены, mainruntimebackend8782054/frontendf194e72/history5 сохранены. Следующий12.5.31 — CLI/REST/соединения1→2, без изменения адресов и маршрутов. + +## Текущий доступ CHR2 требует проверки — 2026-10-08 + +12.5.31 [CLI/REST/SSH comparison](ux-ui/acceptance/cli-rest-2026-10-08.json): CLI3.5s/REST3.0s nativeauthenticationfailed; GETconnections401, SSH2AuthenticationException. Main/testcredentials совпадают, значения не раскрыты. Текущий отказ авторизации подтверждён; причина прежнегоtimeout не доказана. Запрошены актуальные данные или проверкаadmin на104.165.244.7, зависимаяприёмка ожидает ответа. RouterOSconfiguration не менялась, mainruntimebackend8782054/frontendf194e72/history5 сохранён. Независимые12.5 сценарии остаются открытыми. diff --git a/docs/ux-ui-plan.md b/docs/ux-ui-plan.md index 5019cded..9d330fec 100644 --- a/docs/ux-ui-plan.md +++ b/docs/ux-ui-plan.md @@ -1,12 +1,12 @@ # План реализации UX/UI по пятичасовым окнам -Актуальное продолжение 2026-10-08: 12.5.30 read-only диагностика завершена: bandwidth-server enabled/authtrue/sessions0, filter-NAT-mangle0/default routesactive/CPU0; TCP2000 сDebian доступен наобоихCHR. Дополнительные RESTчтения401/500, причинаforwardtimeout неустановлена. Конфигурация не менялась/native0; runtimebackend8782054/frontendf194e72 прежний. Следующий12.5.31 — CLI противREST и наблюдение соединений для1→2, без изменения адресов/маршрутов. +Актуальное продолжение 2026-10-08: 12.5.31 сравнениеCLI/REST завершено — оба native tests1→2 authentication failed, наблюдениеCHR2 REST401, SSHauthтакжеотклонена. Сохранённые credentials main/test совпадают; конфигурация не менялась. Запрошены актуальные данные или проверка admin наCHR2. Runtimebackend8782054/frontendf194e72/history5 сохранены. Аутентифицированная приёмкаCHR2 ожидает ответа пользователя; остальные12.5 остаются открытыми. Общий план проекта MikrotikManager. Основан на согласованном плане из задачи; точка продолжения обновлена 2026-10-08. Источник фактического прогресса, проверок и ограничений — [журнал реализации](ux-ui-progress.md). Этот документ задаёт объём и критерии завершения, журнал фиксирует результат. ## Актуальная точка продолжения — 2026-10-08 -Этапы0–11 завершены в описанных локальных границах. Этап12 остаётся открытым. На161.104.46.222 развёрнуты backend/frontend8782054; два CHR подключены. PG backup/restore/rollback, single-instance quiescence, JWT/RBAC и browser restore приняты в границах журнала. PG-8 проверен с настоящими PG/native и введённой после COMMIT ошибкой подтверждения; новый browser UI сохраняет snapshot и сверяет историю. ROS-8/9 API/SQL/native приняты в описанных границах. Browser-смена пары/длительности и удаление во время native-теста приняты в12.5.24. Реальный отказ bandwidth-аутентификации принят в12.5.25. 12.5.26 обнаружил и локально исправил30s timeout Next proxy. Исправленный frontendaa7dbdf развёрнут и проверен в12.5.27; backend8782054 прежний. ROS-3 reverse2→1/native-afterping принят в12.5.28; forward timeout открыт. Форма frontendf194e72 проверена без моков и развёрнута в12.5.29. Read-only диагностика12.5.30 не установила причину. Следующий12.5.31 — CLI противREST и наблюдение соединений1→2 без изменения конфигурации. [Протокол](ux-ui-external-acceptance.md) и [журнал](ux-ui-stage-12.md) сохраняют точные доказательства и ограничения. +Этапы0–11 завершены в описанных локальных границах. Этап12 остаётся открытым. На161.104.46.222 развёрнуты backend/frontend8782054; два CHR подключены. PG backup/restore/rollback, single-instance quiescence, JWT/RBAC и browser restore приняты в границах журнала. PG-8 проверен с настоящими PG/native и введённой после COMMIT ошибкой подтверждения; новый browser UI сохраняет snapshot и сверяет историю. ROS-8/9 API/SQL/native приняты в описанных границах. Browser-смена пары/длительности и удаление во время native-теста приняты в12.5.24. Реальный отказ bandwidth-аутентификации принят в12.5.25. 12.5.26 обнаружил и локально исправил30s timeout Next proxy. Исправленный frontendaa7dbdf развёрнут и проверен в12.5.27; backend8782054 прежний. ROS-3 reverse2→1/native-afterping принят в12.5.28; forward timeout открыт. Форма frontendf194e72 проверена без моков и развёрнута в12.5.29. Read-only диагностика12.5.30 не установила причину. 12.5.31 выявил текущий отказ авторизацииCHR2 вCLI/REST/SSH. Для аутентифицированнойприёмкиCHR2 ожидаются актуальные данные или проверкаadmin-доступа пользователем. Независимые сценарии12.5 можно продолжать отдельно. [Протокол](ux-ui-external-acceptance.md) и [журнал](ux-ui-stage-12.md) сохраняют точные доказательства и ограничения. Реальные pg_dump/pg_restore, PG rollback и остановка UDP worker требуют внешней приёмки. Датированные продолжения ниже — история; точный следующий шаг также указан в начале [журнала](ux-ui-progress.md). diff --git a/docs/ux-ui-progress.md b/docs/ux-ui-progress.md index f5be1147..fd3a0a78 100644 --- a/docs/ux-ui-progress.md +++ b/docs/ux-ui-progress.md @@ -1,6 +1,6 @@ # UX/UI: журнал реализации -Актуальное продолжение 2026-10-08: 12.5.30 read-only диагностика завершена: bandwidth-server enabled/authtrue/sessions0, filter-NAT-mangle0/default routesactive/CPU0; TCP2000 сDebian доступен наобоихCHR. Дополнительные RESTчтения401/500, причинаforwardtimeout неустановлена. Конфигурация не менялась/native0; runtimebackend8782054/frontendf194e72 прежний. Следующий12.5.31 — CLI противREST и наблюдение соединений для1→2, без изменения адресов/маршрутов. +Актуальное продолжение 2026-10-08: 12.5.31 сравнениеCLI/REST завершено — оба native tests1→2 authentication failed, наблюдениеCHR2 REST401, SSHauthтакжеотклонена. Сохранённые credentials main/test совпадают; конфигурация не менялась. Запрошены актуальные данные или проверка admin наCHR2. Runtimebackend8782054/frontendf194e72/history5 сохранены. Аутентифицированная приёмкаCHR2 ожидает ответа пользователя; остальные12.5 остаются открытыми. Общий план: [UX/UI по этапам и пятичасовым окнам](ux-ui-plan.md). План задаёт объём, этот журнал фиксирует выполненные блоки и ограничения. Записи расположены от новых к старым; подробная история этапа12 также сохранена в [ux-ui-stage-12.md](ux-ui-stage-12.md). @@ -34,6 +34,18 @@ | 11Б | Оповещения, сбор данных, интеграции, релизы и настройки | Завершён в границах локальной приёмки 2026-10-03; ограничения и evidence в11Б.7 | | 12 | Итоговая доступность, адаптивность, производительность и регрессия | Локальная приёмка завершена в описанных границах:12.3.83,main1186/1186,context221/221. Этап остаётся в работе: стенд12.5.1–3 развёрнут,bootstrap/smoke проверены;остальные сценарии12.5 не выполнены. | +## 12.5.31 — сравнение native CLI/REST и отказ авторизации CHR2 (2026-10-08) + +[Sanitized evidence](ux-ui/acceptance/cli-rest-2026-10-08.json): Debiantesthost, sourceCHR1→destinationCHR2. Для SSH1 проверен ранее сохранённый host key. Учётные данные считаны из основной app DB только в память; строки паролей и CLI-команда не печатались/не сохранялись. На временный Debian установлен python3-paramiko для диагностического SSH-клиента; конфигурацияRouterOS не менялась. + +Один native CLI TCPtransmit/duration3s завершился за3.5s со statuses connecting/authentication failed. Один непосредственный REST/tool/bandwidth-test с теми же параметрами завершился за3.0s,HTTP200/native connecting/authentication failed; HTTP200 не принят за success. Ни один тест не подтвердил native done. CLI имел15s предел канала, REST35s; автоповтора не было. Эти nativeкоманды не проходили через app speed-route, история app не изменялась. + +Наблюдение TCP2000 наназначении не удалось: пять GETconnections вернули401, данныеpackets отсутствуют. Сравнениеmain/testБД без раскрытиязначений подтвердило равенство username/password для обоих устройств, fixture-prefix отсутствует. Отдельный SSH2 со сохранёнными данными получил AuthenticationException; его публичный hostkey впервые считан по указанномуIP и сохранён, независимая проверка ключа внеэтого соединения не выполнена. CLI/REST/SSH подтверждают текущую проблемуавторизации наCHR2; не доказывают, кто или что изменило доступ, и не объясняют предыдущийtransporttimeout. + +У пользователя запрошены актуальные данные или проверка текущего admin-доступаCHR104.165.244.7. До ответа аутентифицированная приёмкаCHR2 не продолжается. Пароль в БД или наустройстве не изменялся/не сбрасывался. Остальные сценарии, не зависящие отCHR2, можно продолжать отдельно. + +Временные диагностические процессы завершены; root SSH-сессия закрыта. Основнойbackend8782054healthok/frontendf194e72 сохранён, основнаяspeedHistory5 без изменений. Продуктовый код/UI/deployment не менялись. Следующий шаг после полученияданных — проверить доступ, затем native1→2/appreceipt/history без автоповтора. План/паспорт/протокол обновлены; локальный коммит без push. + ## 12.5.30 — read-only диагностика направленного bandwidth timeout (2026-10-08) [RouterOS snapshot](ux-ui/acceptance/chr-bandwidth-diagnostics-2026-10-08.json): реальные GET двух CHR через сохранённые app credentials, backend8782054, SQL-read только выделеннойБД. Bandwidth-server enabledtrue/authenticatetrue/maxsessions100, sessions0; local filter/NAT/mangle пусты, main default routes активны, CPU0/freeMemory около827MB, licensep-unlimited. IPv4/source-address конфигурация сохранена как очищенные поля; script contents/passwords/license IDs не выводились. NativeBandwidthCommands0/configurationChanges0. Не читались raw-table/routing rules и не снималась трасса во время failing run, поэтому этот снимок не исключает остальные причины. diff --git a/docs/ux-ui-stage-12.md b/docs/ux-ui-stage-12.md index 6275726d..11d127a1 100644 --- a/docs/ux-ui-stage-12.md +++ b/docs/ux-ui-stage-12.md @@ -1,6 +1,6 @@ # Этап 12: итоговая приёмка UX/UI -Актуальное продолжение 2026-10-08: 12.5.30 read-only диагностика завершена: bandwidth-server enabled/authtrue/sessions0, filter-NAT-mangle0/default routesactive/CPU0; TCP2000 сDebian доступен наобоихCHR. Дополнительные RESTчтения401/500, причинаforwardtimeout неустановлена. Конфигурация не менялась/native0; runtimebackend8782054/frontendf194e72 прежний. Следующий12.5.31 — CLI противREST и наблюдение соединений для1→2, без изменения адресов/маршрутов. +Актуальное продолжение 2026-10-08: 12.5.31 сравнениеCLI/REST завершено — оба native tests1→2 authentication failed, наблюдениеCHR2 REST401, SSHauthтакжеотклонена. Сохранённые credentials main/test совпадают; конфигурация не менялась. Запрошены актуальные данные или проверка admin наCHR2. Runtimebackend8782054/frontendf194e72/history5 сохранены. Аутентифицированная приёмкаCHR2 ожидает ответа пользователя; остальные12.5 остаются открытыми. План: [ux-ui-plan.md](ux-ui-plan.md). Фактические результаты: [ux-ui-progress.md](ux-ui-progress.md). Подготовлен после сводных проверок 11Б; завершение каждого блока требует локального коммита без push. @@ -1278,3 +1278,15 @@ NativeCalls0/commandPOSTs[]: bandwidth-test в этом блоке не запу Все temporary --rm containers завершены; основной backend8782054healthy/frontendf194e72 сохранены, main speedHistory5. Продуктовый код не менялся, UI/deployment не выполнялись. Этот диагностический блок завершён; ROS forward success не принят, причина1→2 timeout не установлена. Следующий12.5.31 — сопоставить короткий native CLI наCHR1 сREST и наблюдением TCP2000; предварительно дочитать raw/routing rules при стабильном доступе. Существующие адреса/маршруты/учётные записи сохраняются. План/паспорт/протокол обновлены, локальный коммит без push. + +## 12.5.31 — сравнение native CLI/REST и отказ авторизации CHR2 (2026-10-08) + +[Sanitized evidence](ux-ui/acceptance/cli-rest-2026-10-08.json): Debiantesthost, sourceCHR1→destinationCHR2. Для SSH1 проверен ранее сохранённый host key. Учётные данные считаны из основной app DB только в память; строки паролей и CLI-команда не печатались/не сохранялись. На временный Debian установлен python3-paramiko для диагностического SSH-клиента; конфигурацияRouterOS не менялась. + +Один native CLI TCPtransmit/duration3s завершился за3.5s со statuses connecting/authentication failed. Один непосредственный REST/tool/bandwidth-test с теми же параметрами завершился за3.0s,HTTP200/native connecting/authentication failed; HTTP200 не принят за success. Ни один тест не подтвердил native done. CLI имел15s предел канала, REST35s; автоповтора не было. Эти nativeкоманды не проходили через app speed-route, история app не изменялась. + +Наблюдение TCP2000 наназначении не удалось: пять GETconnections вернули401, данныеpackets отсутствуют. Сравнениеmain/testБД без раскрытиязначений подтвердило равенство username/password для обоих устройств, fixture-prefix отсутствует. Отдельный SSH2 со сохранёнными данными получил AuthenticationException; его публичный hostkey впервые считан по указанномуIP и сохранён, независимая проверка ключа внеэтого соединения не выполнена. CLI/REST/SSH подтверждают текущую проблемуавторизации наCHR2; не доказывают, кто или что изменило доступ, и не объясняют предыдущийtransporttimeout. + +У пользователя запрошены актуальные данные или проверка текущего admin-доступаCHR104.165.244.7. До ответа аутентифицированная приёмкаCHR2 не продолжается. Пароль в БД или наустройстве не изменялся/не сбрасывался. Остальные сценарии, не зависящие отCHR2, можно продолжать отдельно. + +Временные диагностические процессы завершены; root SSH-сессия закрыта. Основнойbackend8782054healthok/frontendf194e72 сохранён, основнаяspeedHistory5 без изменений. Продуктовый код/UI/deployment не менялись. Следующий шаг после полученияданных — проверить доступ, затем native1→2/appreceipt/history без автоповтора. План/паспорт/протокол обновлены; локальный коммит без push. diff --git a/docs/ux-ui-test-server.md b/docs/ux-ui-test-server.md index 4a5a64de..8220efb4 100644 --- a/docs/ux-ui-test-server.md +++ b/docs/ux-ui-test-server.md @@ -169,3 +169,7 @@ ssh -N -L 3000:127.0.0.1:3000 -L 8000:127.0.0.1:8000 root@161.104.46.222 ## Read-only forward диагностика — 2026-10-08 12.5.30 [settings/state](ux-ui/acceptance/chr-bandwidth-diagnostics-2026-10-08.json), [jobs](ux-ui/acceptance/chr-job-classification-2026-10-08.json), [TCP2000 сDebian](ux-ui/acceptance/tcp-2000-2026-10-08.json). Server enabled/authtrue/session0, filter/NAT/mangle0, active main default routes, CPU0; TCP2000 reachable сDebian. ПричинаCHR1→CHR2timeout не установлена. Поздние REST401/CHR2-500 ограничивают дополнительные чтения. Native0/configchanges0, temporarycontainers завершены, mainruntimebackend8782054/frontendf194e72/history5 сохранены. Следующий12.5.31 — CLI/REST/соединения1→2, без изменения адресов и маршрутов. + +## Текущий доступ CHR2 требует проверки — 2026-10-08 + +12.5.31 [CLI/REST/SSH comparison](ux-ui/acceptance/cli-rest-2026-10-08.json): CLI3.5s/REST3.0s nativeauthenticationfailed; GETconnections401, SSH2AuthenticationException. Main/testcredentials совпадают, значения не раскрыты. Текущий отказ авторизации подтверждён; причина прежнегоtimeout не доказана. Запрошены актуальные данные или проверкаadmin на104.165.244.7, зависимаяприёмка ожидает ответа. RouterOSconfiguration не менялась, mainruntimebackend8782054/frontendf194e72/history5 сохранён. Независимые12.5 сценарии остаются открытыми. diff --git a/docs/ux-ui/acceptance/cli-rest-2026-10-08.json b/docs/ux-ui/acceptance/cli-rest-2026-10-08.json new file mode 100644 index 00000000..97bcf856 --- /dev/null +++ b/docs/ux-ui/acceptance/cli-rest-2026-10-08.json @@ -0,0 +1,83 @@ +{ + "date": "2026-10-08", + "source": "backend8782054/frontendf194e72", + "direction": "CHR1→CHR2", + "configurationChanges": 0, + "observations": [ + { + "phase": "cli", + "readError": "HTTPError", + "httpStatus": 401 + }, + { + "phase": "cli", + "readError": "HTTPError", + "httpStatus": 401 + }, + { + "phase": "rest", + "readError": "HTTPError", + "httpStatus": 401 + }, + { + "phase": "rest", + "readError": "HTTPError", + "httpStatus": 401 + }, + { + "phase": "rest", + "readError": "HTTPError", + "httpStatus": 401 + } + ], + "cli": { + "elapsedSec": 3.5, + "exitReady": true, + "statuses": [ + "connecting", + "authentication failed" + ], + "completed": false + }, + "rest": { + "elapsedSec": 3.0, + "httpStatus": 200, + "statuses": [ + "connecting", + "connecting", + "connecting", + "authentication failed" + ], + "completed": false + }, + "limits": [ + "CLI channel closed after at most15s; no configuration change", + "REST timeout35s, one command; no application history write", + "Connection observations from destination, no packet capture", + "Credentials and command text kept only in memory, raw SSH output omitted" + ], + "credentialComparison": [ + { + "id": "1", + "usernameMatchesTest": true, + "passwordMatchesTest": true, + "mainUsernameIsFixture": false, + "testUsernameIsFixture": false + }, + { + "id": "2", + "usernameMatchesTest": true, + "passwordMatchesTest": true, + "mainUsernameIsFixture": false, + "testUsernameIsFixture": false + } + ], + "chr2SshAuth": { + "deviceId": 2, + "firstObservedHostKey": true, + "sshAuthenticated": false, + "errorType": "AuthenticationException" + }, + "conclusion": "Current CLI and REST agree: destination authentication rejected. Existing stored credentials cannot be used to complete authenticated CHR2 acceptance. Cause of prior transport timeout not proven.", + "userInputRequired": "Confirm current admin access or provide updated credentials for CHR2" +} \ No newline at end of file