tasks(owncloud-vds-deploy): close 🟢 — 26 GB live + 60s timeout finding
Import complete: 25 044 objs / 26 GB. 99.97% залито rclone'ом (22.2 GB за ~2.5 ч), оставшиеся 6 файлов (4.04 GB) — 4× .pat ~221 MB + 2× .seospider 1.55+1.7 GB — упали с 502/500 на каждом rclone PUT из-за 60-секундного HTTP timeout в reva v2.27 datagateway (hardcoded в Go http.Client.Timeout, не env-configurable). Workaround: VDS-side curl PUT loopback через throwaway sftp key. Local network 142 MB/s → 4.04 GB за 28 секунд, все PROPFIND size match. Wiki: §Gotcha 5 в concepts/ocis-on-vds-deploy-recipe.md документирует finding + recipe для workaround. Traefik buffering middleware пробован, не помог (likely vulcand/oxy buffer bug на больших телах) — откатил. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -77,9 +77,35 @@ User creation via LibreGraph API (`POST /graph/v1.0/users`, basic auth as admin)
|
||||
- [x] **WebDAV verified:** `PROPFIND /dav/files/vitya/` returns 200 multistatus с personal space "Vitya" + system space "Shares"
|
||||
- [x] **Backup integration:** `/opt/stacks/owncloud` добавлен в rsync source list `/opt/stacks/backup/scripts/run.sh` (между `/opt/stacks/backup` и `/etc/ssh`). `bash -n` syntax OK. Next nightly run 05:00 MSK захватит config + (post-import) data.
|
||||
|
||||
## Open
|
||||
## Closed 2026-05-22 — import complete
|
||||
|
||||
- [ ] **Import 24.7 GB** — pending user-side action. User запускает rclone copy с PC где лежит full копия:
|
||||
25 044 объектов / **26 GB** на vitya space. Path: 22.2 GB rclone (3.35 MiB/s uplink, ~2.5h) + 4.04 GB VDS-side curl loopback (6 файлов с 502/500 from 60s timeout — см. §Closed-out finding ниже).
|
||||
|
||||
Все PROPFIND size match. Backup integration: `/opt/stacks/owncloud` в `vds-backup-rsync-kreknin` rsync sources — next snapshot 2026-05-22 05:00 MSK захватит 26 GB.
|
||||
|
||||
### Closed-out finding: 60s HTTP upload timeout
|
||||
|
||||
При rclone uplink ~3.35 MiB/s упали все файлы ≥221 MB (4× .pat 220-222 MB, 508 MB zip, 1.55 + 1.7 GB seospider). Logs traefik показывали ровно `60000ms` duration на 502. oCIS error log: `Put "http://localhost:9158/data/simple/...": context canceled`, `time_ns:59944479090` (59.94s) — internal HTTP client между oCIS services вырубает request на 60s. Hardcoded в Go `http.Client.Timeout` где-то в reva v2.27 datagateway.go:200. Env-var fix отсутствует.
|
||||
|
||||
**Traefik buffering middleware попробован, не помог:** `traefik.http.middlewares.oc-buffering.buffering.maxRequestBodyBytes=0` + `memRequestBodyBytes=1048576` через docker labels. Traefik сам стал выдавать 500 на 60s mark (backend_url="-" в access log = до oCIS не доходило). Likely bug в `vulcand/oxy` buffer на больших телах. Откатил.
|
||||
|
||||
**Workaround:** VDS-side direct curl PUT loopback'ом через traefik. Пользовательский агент:
|
||||
1. Throwaway ed25519 key сгенерирован на VDS, append'нут как `restrict,command="internal-sftp"` в `~/.ssh/authorized_keys` (sftp-only, no shell).
|
||||
2. Агент `sftp -i <key> -b <batch> vitya@VDS` залил 6 файлов в `/tmp/oc-import/` (~20 мин на агентовом uplink).
|
||||
3. С VDS — `for SRC ...; curl -T $SRC <ocis-url-with-urlencode>` через localhost → traefik → owncloud. Local network 142 MB/s — все 4.04 GB за 28 секунд (1.7 GB файл за 10s).
|
||||
4. Verify PROPFIND `<oc:size>` match `stat -c %s`. All 6 OK.
|
||||
5. Cleanup: `rm -rf /tmp/oc-import/`, throwaway-key revoked из authorized_keys.
|
||||
|
||||
Pattern закреплён в [`.wiki/concepts/ocis-on-vds-deploy-recipe.md`](../.wiki/concepts/ocis-on-vds-deploy-recipe.md) §Gotcha 5.
|
||||
|
||||
## Skipped / not-our-bug
|
||||
|
||||
- 2× DipTrace `.exe` (~2 MB total) — заблокированы Windows Defender на агентовой машине при copy в staging. Не баг oCIS. Не блокер.
|
||||
- Portainer API key invalid (401) — не блокировало deploy (admin user/pass работали), требует regen через UI + pass-store update если кто будет использовать API.
|
||||
|
||||
## Open (legacy section) — DEPRECATED, см. closed-out выше
|
||||
|
||||
- [x] ~~Import 24.7 GB~~ — done 2026-05-22 (rclone + VDS-side curl)
|
||||
```
|
||||
rclone copy "<src>" :webdav: \
|
||||
--webdav-url https://owncloud.kzntsv.site/dav/files/vitya \
|
||||
|
||||
Reference in New Issue
Block a user