mirror of
https://github.com/games-on-whales/LXC2Docker.git
synced 2026-10-15 21:02:07 +00:00
[PR #49] [MERGED] feat(pve): explicit LAN IP via gow.lan.ip + fix create/GC reap race #52
Labels
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
games-on-whales/LXC2Docker#52
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/games-on-whales/LXC2Docker/pull/49
Author: @JBailes
Created: 6/4/2026
Status: ✅ Merged
Merged: 6/4/2026
Merged by: @JBailes
Base:
main← Head:fix/pve-lan-ip-and-create-race📝 Commits (1)
0ed1296feat(pve): explicit LAN IP via gow.lan.ip + fix create/GC reap race📊 Changes
5 files changed (+36 additions, -2 deletions)
View changed files
📝
internal/api/containers.go(+1 -0)📝
internal/lxc/config.go(+4 -0)📝
internal/lxc/manager.go(+1 -1)📝
internal/lxc/network.go(+15 -0)📝
internal/lxc/pve_tarball.go(+15 -1)📄 Description
Summary
Two PVE-mode fixes found while deploying games-on-whales Wolf as a Proxmox CT.
1. Explicit LAN IP via
gow.lan.ipDual-NIC LAN containers derived their IP solely from the VMID (
<prefix>.<vmid>). Because Proxmox VMIDs are>=100, the LAN IP could never be belowx.x.x.100, colliding with networks that reserve the high host range. A newgow.lan.iplabel overrides the derived address — bare IP inherits the bridge subnet, CIDR is used as-is, unset keeps the old behaviour (backward-compatible).2. Create/GC reap race
createPVEFromTarballonly recorded the VMID in the store after the multi-secondpct create. During that window the record hadVMID==0in the "exited" state, so the periodicgc()removed it mid-create and the subsequent start failed with "No such container" (intermittent run failures). The VMID is now persisted immediately after allocation, sogc()treats it as a Proxmox CT and skips it.Test
build+testpass. Verified live on a PVE 9.2 host: Wolf CT created reliably with a LAN IP of192.168.1.50(VMID 104), Moonlight reachable, no mid-create reaping.🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.