chore(.tasks): iis-on-host-migration attempt 2 -> 14 cms LIVE on host IIS:8089, stayer DISABLED
11 cms yml repointed host.docker.internal:18080 -> :8089 (recipe-A — backend port вне traefik publish-set). Host IIS site `snolla` *:8089 binding added, Stop+Start activated. Smoke clean: всех 14 hosts -> Microsoft-IIS/10.0; phone-tests от мобильного интернета — emspb.ru/labtools.ru OK. Stayer routes (stostayer/oldstostayer) подтверждены user'ом как внутренние — .yml -> .yml.disabled, traefik не светит наружу; host IIS :8090/:8091 живут для локального доступа. VM snolla-recovery running parallel (recipe-D, 24h+ soak).
This commit is contained in:
13
STATUS.md
13
STATUS.md
@@ -1,11 +1,14 @@
|
||||
# Task Board
|
||||
_Updated: 2026-05-19_
|
||||
|
||||
## 🟡 [iis-on-host-migration] — попытка не удалась, ROLLBACK; готов для следующей попытки по recipe
|
||||
**Status:** paused (2026-05-19 вечер — миграция была сделана, **сломала prod**, откатили на VM; post-mortem в `.wiki/concepts/iis-migration-2026-05-19-postmortem.md`).
|
||||
**What happened:** через ~10 мин после "done"-объявления пользователь увидел `502 Bad Gateway` → `TOO_MANY_REDIRECTS`. Root cause — Docker port-collision: traefik backend `host.docker.internal:80` резолвится через Docker Desktop NAT обратно в сам traefik (на его :80 HTTP entrypoint), `https.yml` http-catchall middleware отдавал 301 → loop. Реактивно ломал ещё час каскадными изменениями.
|
||||
**Where I stopped (after revert):** prod снова через VM (traefik backends восстановлены из `.bak-phase3`, VM startvm + ipconfig /release /renew). На хосте остались inert: `C:\sites\{snolla, stostayer, stostayer.old, snolla-identity-manager}` + IIS sites + AppPools + 3 backup-stamps в traefik/data/custom/.
|
||||
**Next action:** **сначала прочитать post-mortem** (`.wiki/concepts/iis-migration-2026-05-19-postmortem.md`), затем заново попробовать миграцию по recipe (избежать backend port :80, smoke с `-MaximumRedirection 0`, тест из НЕ-LAN сети, parallel VM x N часов, atomic revert plan).
|
||||
## 🔴 [iis-on-host-migration] — attempt 2: 11 cms LIVE на host IIS:8089, 24h soak в процессе
|
||||
**Status:** active (2026-05-19 вечер — 11 main cms routes мигрированы, smoke clean, 2 phone-tests passed; 2 stayer routes ещё на VM до отдельного решения; VM running parallel — НЕ savestate'ить).
|
||||
**Done:** bak-серия `.bak-pre-attempt2-2026-05-19` для 13 yml; IIS binding `snolla *:8089` + Stop/Start Website; loop-detect через `host.docker.internal:8089` ≠ NAT loop (resolves to 192.168.65.254 host gateway) ✅; 11 cms yml (snolla, rimiz, labtools, labtoolspro, pilorama98, tandemmebel, emspb, kupimknigi, maljarka, sestech, isc-artmaterials) patched `:18080 → :8089`; host-side smoke 20 hostnames → все `Server: Microsoft-IIS/10.0` ✅; 📱 phone-tests (mobile internet): `emspb.ru` ✅, `labtools.ru` ✅; traefik logs clean (only known docker.sock noise); pre-existing CMS issues подтверждены и НЕ regression: `rimiz.ru/ics-artmaterials.com 404` (CMS-routing); `snolla.com` 301 → `on.snolla.com` (canonical default subdomain), `on/pilorama98/labtools/emspb.snolla.com` 200 OK.
|
||||
**Done (stayer):** stayer routes user'ом подтверждены «внутренние, наружу не светим» → `stostayer.yml → stostayer.yml.disabled`, `oldstostayer.yml → oldstostayer.yml.disabled`; `docker restart traefik`; verify: `stostayer.snolla.com`/`old.stostayer.ru` → 404 traefik no-route ✅; host IIS sites `stostayer :8090`/`stostayer.old :8091` остаются live для прямого/локального доступа (CMS отвечает контент, headers stripped через WinHTTP proxy на curl, но изнутри traefik / production-path headers Microsoft-IIS/ASP.NET корректные).
|
||||
**My mistake to log:** я некорректно интерпретировал «мигрировать» как «patch traefik backend stayer:18180 → :8090» (т.е. пускать через traefik наружу). User имел в виду «host IIS уже есть, traefik routes должны быть DISABLED». Сделал patch backend → user интервент-stop → revert + rename `.disabled`. Lesson — re-confirm semantics при low-traffic / internal services; не предполагать что «мигрировать» == «через traefik наружу».
|
||||
**Where I stopped:** 14 cms hosts через host IIS:8089, stayer routes наружу выключены. Soak в процессе.
|
||||
**Next action:** (a) phone-test 2-3 random cms domains; (b) wait 24h+ uptime; (c) docs: post-success wiki ingest + update `recovery-architecture-snapshot.md` (stayer = disabled, не migrated); (d) только после 24h+ + zero rollbacks → consider savestate VM.
|
||||
**Atomic full revert (paste-ready):** ```Get-ChildItem C:\Users\vitya\projects\docker\diskstation\traefik\data\custom\*.yml.bak-pre-attempt2-2026-05-19 | %{ Copy-Item $_.FullName -Destination ($_.FullName -replace '\.bak-pre-attempt2-2026-05-19$','') -Force }; Move-Item C:\Users\vitya\projects\docker\diskstation\traefik\data\custom\stostayer.yml.disabled C:\Users\vitya\projects\docker\diskstation\traefik\data\custom\stostayer.yml -Force -EA SilentlyContinue; Move-Item C:\Users\vitya\projects\docker\diskstation\traefik\data\custom\oldstostayer.yml.disabled C:\Users\vitya\projects\docker\diskstation\traefik\data\custom\oldstostayer.yml -Force -EA SilentlyContinue; docker restart traefik```
|
||||
**Branch:** master
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user