Commit Graph

8 Commits

Author SHA1 Message Date
Kevin Adams 6c313dfa9a feat: bump version to 3.2.0 for multipath stable release
Multipath tested and confirmed working on TrueNAS CORE 13.x (FreeBSD/ALUA)
and SCALE 24.10 + 25.04 (Linux LIO). Failover and path recovery validated
on both platforms. Closes #256.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-20 14:00:05 -04:00
Kevin Adams 0ce11dc6ba docs: update ROADMAP.md with v3.1.0 completed items and snapshot results
Snapshot interface (#234) confirmed working 2026-06-07:
- Disk-only: freeze/snap/thaw, rollback verified (ngrep/nmap gone)
- RAM: 292 MiB saved to TrueNAS SCALE zvol, rollback verified (/dev/shm proof)
Filed #277 (GET_LBA_STATUS iSCSI error — non-fatal log noise).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-07 15:04:09 -04:00
Kevin Adams 259bdd4fca fix(script): correct wrong dist track when GitHub Pages already configured
docs: update ROADMAP.md to reflect v3.0.0 shipped and current state

Migration script: the early-exit check now verifies the dist track matches
the installed major version. A v2 node that had v3 dist track from a test
run now gets corrected rather than skipped.

ROADMAP.md: full update — v3.0.0 moved to Released, GitHub Pages apt repo
added as Released, v3.1.0 scope updated with #272 and multipath redesign,
stale pre-release housekeeping removed.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-07 08:29:13 -04:00
Kevin Adams 4e621a215c docs: ADR-009 draft + versioning strategy — v3.1 PVE 9 only, v4.0 WebSocket
ADR-009 (draft) supersedes ADR-008 with confirmed PVE 9 support, the lun
integer fix approach, and a clear version→PVE support mapping:
- v3.0.x: PVE 8 + PVE 9, REST API
- v3.1.x: PVE 9 only, REST API, api() bump, snapshots
- v4.0.x: WebSocket JSON-RPC 2.0 — genuine architectural change, major version

ROADMAP: v3.2.0 renamed to v4.0.0 for WebSocket milestone; v3.1 scope updated
to document PVE 8 drop and reasons.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 23:13:21 -04:00
Kevin Adams b1423a9d72 fix: override qemu_blockdev_options to emit lun as integer on PVE 9 (#266)
PVE::Storage::Plugin::qemu_blockdev_options builds the iscsi blockdev JSON
with lun => "$3" — a string capture from the URL regex. QEMU 9's strict
blockdev schema rejects a string where an integer is required, causing every
VM with TrueNAS storage to fail to start on PVE 9.

Override the method in TrueNAS.pm to return the blockdev hash directly from
_find_extent, with lun => int($ext->{lun_id}). This bypasses the base class
entirely and is correct on both PVE 8 and PVE 9.

Verified on pve01-hq (PVE 9.2.3 / QEMU 9 / kernel 7.0.6-2-pve):
VM 103 (TrueNAS-Scale01-Tank01, SCALE 24.10) starts successfully.

The upstream bug in PVE::Storage::Plugin is tracked separately — when
Proxmox fixes it, the override can be removed. See issue #266 for details.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 23:04:30 -04:00
Kevin Adams 334f67e473 docs: mark #250 complete in ROADMAP, one item remains for v3.0.0
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-27 08:49:09 -04:00
Kevin Adams 728cb136cb docs: mark #264 (SCALE 25.04 compat) complete in ROADMAP
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-26 23:01:51 -04:00
Kevin Adams 2979d54279 docs: add ROADMAP.md with milestone scope, decisions, and deferred items
Captures v3.0.0 remaining work, completed items, the GitHub repo rename
deferral rationale (business timing, no FUNDING.yml impact), and
upcoming v3.1.0/v3.2.0 scope. Process rule added: business decisions
go here and in GitHub issue comments — not only in AI memory.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 22:59:55 -04:00