v0.15.3
Fixes (Critical)
cleanupOrphanVMsnow reads the request-id from the VM description instead of name-deriving it — The hourly orphan sweep was deleting healthy, newly-provisioned VMs because v0.15.0 changed the VM name format fromomni_<requestID>toomni_<providerID>_<requestID>but the cleanup code still derived the expected request-id asstrings.ReplaceAll(strings.TrimPrefix(name, "omni_"), "_", "-"). That producedtruenas-talos-preview-control-planes-abcfor a VM whose zvol was taggedorg.omni:request-id=talos-preview-control-planes-abc— no match → flagged as orphan → stopped + deleted. Live impact: every v0.15+ cluster member was destroyed within an hour of provision finishing, log-visible ascreated VM → VM started → removing orphan VM (backing zvol not found)on the same VM ID. Fixed by parsing the request-id out of the VM description ("Managed by Omni infra provider (request-id: X)") via newmeta.ParseRequestIDFromDescription— the description is the canonical store and is not affected by the name namespacing change. VMs without a parseable request-id are now skipped (legacy v0.14 look-alikes are safer as manual-cleanup than as accidental-delete).TestParseRequestIDFromDescriptionpins six parsing cases; existingTestCleanupOrphanVMs_*tests updated with description-bearing mocks.TestIntegration_OrphanVMCleanupskipped under replay until its cassette is re-recorded against a live TrueNAS.
Full Changelog: v0.15.2...v0.15.3