From 6d6830b2bfa6e95ecbaa02dcc30a2f7dfc848406 Mon Sep 17 00:00:00 2001 From: kwood <155027796+qkewq@users.noreply.github.com> Date: Mon, 10 Aug 2026 06:46:02 -0700 Subject: [PATCH 1/3] Add pool vm info to vyos routers --- internal/proxmox/networking.go | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/internal/proxmox/networking.go b/internal/proxmox/networking.go index 9e3d3bf..268a4e1 100644 --- a/internal/proxmox/networking.go +++ b/internal/proxmox/networking.go @@ -163,6 +163,24 @@ func (s *ProxmoxService) ConfigurePodRouter(podNumber int, node string, vmid int backoff = time.Duration(math.Min(float64(backoff*2), float64(maxBackoff))) } + // Add create list of vms and vm info + vms, err := s.GetPoolVMs(hostname) + if err != nil { + // Don't return, non fatal + log.Printf("Failed to get pool VMs for pool %s: %v", hostname, err) + } + var vmStringBuilder strings.Builder + for _, vm := range vms { + vmconfig, err := s.getVMConfig(vm.NodeName, vm.VmId) + if err != nil { + // Don't return, non fatal + log.Printf("Failed to get vm config for vmid %d: %v", vm.VmId, err) + continue + } + fmt.Fprintf(&vmStringBuilder, "%s|%d|%s|%s\n", vmconfig.Name, vm.VmId, vm.NodeName, vmconfig.Net0) + } + vmString := vmStringBuilder.String() + // Configure depending on router type switch routerType { case "pfsense": @@ -193,7 +211,8 @@ func (s *ProxmoxService) ConfigurePodRouter(podNumber int, node string, vmid int err := s.execAgentCommand(node, vmid, []string{ "sh", "-c", - fmt.Sprintf("sed -i -e 's/{{THIRD_OCTET}}/%d/g;s/{{NETWORK_PREFIX}}/%s/g;s/{{HOSTNAME}}/%s/g' %s", podNumber, config.WANIPBase, hostname, config.VYOSScriptPath), + fmt.Sprintf("echo -e '%s' > /config/scripts/vms.txt; sed -i -e 's/{{THIRD_OCTET}}/%d/g;s/{{NETWORK_PREFIX}}/%s/g;s/{{HOSTNAME}}/%s/g' %s", + vmString, podNumber, config.WANIPBase, hostname, config.VYOSScriptPath), }) if err != nil { return fmt.Errorf("failed to make IP change request: %v", err) From 8c88a270e5dc22e1e7a5079ae76e5a6a8484ac21 Mon Sep 17 00:00:00 2001 From: kwood <155027796+qkewq@users.noreply.github.com> Date: Fri, 14 Aug 2026 17:03:48 -0700 Subject: [PATCH 2/3] Filter disks for image type cloud-init snippits are included even when filtering by vmid --- internal/proxmox/vms.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/proxmox/vms.go b/internal/proxmox/vms.go index a5e0142..a2f2290 100644 --- a/internal/proxmox/vms.go +++ b/internal/proxmox/vms.go @@ -182,11 +182,11 @@ func (s *ProxmoxService) WaitForDisk(node string, vmID int, maxWait time.Duratio log.Printf("%+v", configResp) if configResp.HardDisk != "" && configResp.Name != "" { - log.Printf("/nodes/%s/storage/%s/content?vmid=%d", s.Config.Nodes[0], s.Config.StorageID, vmID) + log.Printf("/nodes/%s/storage/%s/content?vmid=%d&content=images", s.Config.Nodes[0], s.Config.StorageID, vmID) pendingReq := tools.ProxmoxAPIRequest{ Method: "GET", - Endpoint: fmt.Sprintf("/nodes/%s/storage/%s/content?vmid=%d", s.Config.Nodes[0], s.Config.StorageID, vmID), + Endpoint: fmt.Sprintf("/nodes/%s/storage/%s/content?vmid=%d&content=images", s.Config.Nodes[0], s.Config.StorageID, vmID), } log.Printf("%+v", pendingReq) From 42752a7e3ede2e3992ce49808811e13d42ba659b Mon Sep 17 00:00:00 2001 From: kwood <155027796+qkewq@users.noreply.github.com> Date: Fri, 14 Aug 2026 17:17:10 -0700 Subject: [PATCH 3/3] Revert "Add pool vm info to vyos routers" This reverts commit 6d6830b2bfa6e95ecbaa02dcc30a2f7dfc848406. --- internal/proxmox/networking.go | 21 +-------------------- 1 file changed, 1 insertion(+), 20 deletions(-) diff --git a/internal/proxmox/networking.go b/internal/proxmox/networking.go index 268a4e1..9e3d3bf 100644 --- a/internal/proxmox/networking.go +++ b/internal/proxmox/networking.go @@ -163,24 +163,6 @@ func (s *ProxmoxService) ConfigurePodRouter(podNumber int, node string, vmid int backoff = time.Duration(math.Min(float64(backoff*2), float64(maxBackoff))) } - // Add create list of vms and vm info - vms, err := s.GetPoolVMs(hostname) - if err != nil { - // Don't return, non fatal - log.Printf("Failed to get pool VMs for pool %s: %v", hostname, err) - } - var vmStringBuilder strings.Builder - for _, vm := range vms { - vmconfig, err := s.getVMConfig(vm.NodeName, vm.VmId) - if err != nil { - // Don't return, non fatal - log.Printf("Failed to get vm config for vmid %d: %v", vm.VmId, err) - continue - } - fmt.Fprintf(&vmStringBuilder, "%s|%d|%s|%s\n", vmconfig.Name, vm.VmId, vm.NodeName, vmconfig.Net0) - } - vmString := vmStringBuilder.String() - // Configure depending on router type switch routerType { case "pfsense": @@ -211,8 +193,7 @@ func (s *ProxmoxService) ConfigurePodRouter(podNumber int, node string, vmid int err := s.execAgentCommand(node, vmid, []string{ "sh", "-c", - fmt.Sprintf("echo -e '%s' > /config/scripts/vms.txt; sed -i -e 's/{{THIRD_OCTET}}/%d/g;s/{{NETWORK_PREFIX}}/%s/g;s/{{HOSTNAME}}/%s/g' %s", - vmString, podNumber, config.WANIPBase, hostname, config.VYOSScriptPath), + fmt.Sprintf("sed -i -e 's/{{THIRD_OCTET}}/%d/g;s/{{NETWORK_PREFIX}}/%s/g;s/{{HOSTNAME}}/%s/g' %s", podNumber, config.WANIPBase, hostname, config.VYOSScriptPath), }) if err != nil { return fmt.Errorf("failed to make IP change request: %v", err)