fix: always allocate VMID as max+1 to prevent reuse of deleted server VMIDs

This commit is contained in:
2026-01-25 12:42:54 -05:00
parent e977787904
commit d6bd23eeb3

View File

@@ -830,7 +830,16 @@ class Proxmox extends ClassServer
$ipv6 = $this->getAvailableIps($node, $settings['ipv6'], 'ipv6');
}
$vm_id = $this->request('/cluster/nextid')->json()['data'];
// Get the next VMID by finding the maximum existing VMID and adding 1
// This ensures we never reuse old VMIDs from deleted servers
$clusterResources = $this->request('/cluster/resources', 'get', ['type' => 'vm'])->json()['data'] ?? [];
$maxVmId = 99; // Default minimum VMID in Proxmox is 100
foreach ($clusterResources as $resource) {
if (isset($resource['vmid']) && $resource['vmid'] > $maxVmId) {
$maxVmId = (int) $resource['vmid'];
}
}
$vm_id = $maxVmId + 1;
$password = Str::password(16);