Files
ripe-cidr-collector/docs/plan-real-data-run.md
T
ayurishchevandClaude Sonnet 5 50ed8102bc Record the test run on real data (AS62041)
Plan and summary of the isolated Compose run on copies of the real data
files: migration without losses, real collection of AS62041, diff,
backup and restore. Updates the analysis (observation 1, risk 9).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-21 11:24:33 +03:00

3.9 KiB

План: тестовый запуск на реальных данных (AS62041)

Источник: docs/analysis-2026-09-21.md, наблюдение 1 и риск 9 (изменения проверялись только на копиях и тестах). Цель - проверить миграцию боевых файлов и сбор по реальному внешнему источнику, ничего не меняя в исходных файлах проекта.

Границы

  • Исходные файлы не изменяются: config.json, data.json, fqdn_data.json в каталоге проекта остаются как есть. Перед запуском снимается копия вне проекта и вне тома с контрольными суммами; после запуска суммы сверяются.
  • Изолированный стенд: отдельный проект Compose (ripereal), собственный том и порт 18000, временный .env; на хосте другие сервисы не затрагиваются. В том копируются копии файлов; конфигурация для теста - копия реальной с одним ASN (AS62041) и реальными FQDN. Реальные внешние запросы: один ASN в RIPEstat и DNS для трёх имён.
  • Стенд после проверки убирается (том, контейнеры, образ, .env); отчёт остаётся в docs/.

Шаги

  1. Копия исходных файлов и контрольные суммы; тесты в контейнере (базовая линия).
  2. Перенос копий в том по описанию README, запуск docker compose up -d.
  3. Миграция: база создана из data.json и fqdn_data.json, число значений по источникам совпадает с файлами, оригиналы в томе переименованы в *.migrated-*, схема версии 3, журнал и состояние источников пусты.
  4. До сбора: /health, /sources (источники без попыток), /addresses, курсор X-Changes-Cursor.
  5. Сбор: POST /collect (ASN и FQDN) по реальным источникам; /sources (успех, число адресов AS62041), /health ok, итог в логе.
  6. Diff на реальных данных: /addresses/diff с курсором до сбора - что изменилось у AS62041 с момента файла data.json; проверка, что значения не настроенных источников остаются (стареют по TTL).
  7. Копия и восстановление: ручной запуск задания backup (через расписание POST /schedule), затем намеренная порча базы в томе: восстановление из копии, данные на месте, last_restore в /health.
  8. Размеры и время: размер базы и журнала, время ответов /addresses и /addresses/diff?since=0.
  9. Уборка стенда, сверка сумм исходных файлов, отчёт docs/summary-real-data-run.md, обновление анализа.

Критерии успеха

Исходные файлы не изменены; миграция без потерь; сбор AS62041 успешен; diff и восстановление работают на реальных данных; ошибок в логах нет; стенд убран.

Откат

Стенд изолирован: достаточно docker compose down -v и удаления образа; исходные файлы проекта не затрагиваются.