From e4414d1c4491620cf35a8948b6a835c9f82b65b7 Mon Sep 17 00:00:00 2001 From: Suresh Kumar Anaparti Date: Wed, 3 Dec 2025 11:19:47 +0530 Subject: [PATCH 1/2] Fix agent wait before reconnect (#12153) --- agent/src/main/java/com/cloud/agent/Agent.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/agent/src/main/java/com/cloud/agent/Agent.java b/agent/src/main/java/com/cloud/agent/Agent.java index 23b5e790eb9..c01f025c6a8 100644 --- a/agent/src/main/java/com/cloud/agent/Agent.java +++ b/agent/src/main/java/com/cloud/agent/Agent.java @@ -1228,7 +1228,14 @@ public class Agent implements HandlerFactory, IAgentControl, AgentStatusUpdater logger.error("Error parsing task", e); } } else if (task.getType() == Task.Type.DISCONNECT) { - logger.debug("Executing disconnect task - {}", () -> getLinkLog(task.getLink())); + try { + // an issue has been found if reconnect immediately after disconnecting. + // wait 5 seconds before reconnecting + logger.debug("Wait for 5 secs before reconnecting, disconnect task - {}", () -> getLinkLog(task.getLink())); + Thread.sleep(5000); + } catch (InterruptedException e) { + } + logger.debug("Executing disconnect task - {} and reconnecting", () -> getLinkLog(task.getLink())); reconnect(task.getLink()); } else if (task.getType() == Task.Type.OTHER) { processOtherTask(task); From 4379666fb62ded6aa4e102ebba7eada1243421c9 Mon Sep 17 00:00:00 2001 From: Abhisar Sinha <63767682+abh1sar@users.noreply.github.com> Date: Wed, 3 Dec 2025 17:05:22 +0530 Subject: [PATCH 2/2] Proxmox Extension : Make settings such as storage, disk_size,... (#12174) Make storage, disk-size and os-type configurable in the Proxmox extension Doc PR: apache/cloudstack-documentation#601 --------- Co-authored-by: dahn --- extensions/Proxmox/proxmox.sh | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/extensions/Proxmox/proxmox.sh b/extensions/Proxmox/proxmox.sh index 23f30311e2b..fc27f2f3075 100755 --- a/extensions/Proxmox/proxmox.sh +++ b/extensions/Proxmox/proxmox.sh @@ -39,6 +39,10 @@ parse_json() { "template_id": (.externaldetails.virtualmachine.template_id // ""), "template_type": (.externaldetails.virtualmachine.template_type // ""), "iso_path": (.externaldetails.virtualmachine.iso_path // ""), + "iso_os_type": (.externaldetails.virtualmachine.iso_os_type // "l26"), + "disk_size_gb": (.externaldetails.virtualmachine.disk_size_gb // "64"), + "storage": (.externaldetails.virtualmachine.storage // "local-lvm"), + "is_full_clone": (.externaldetails.virtualmachine.is_full_clone // "false"), "snap_name": (.parameters.snap_name // ""), "snap_description": (.parameters.snap_description // ""), "snap_save_memory": (.parameters.snap_save_memory // ""), @@ -212,9 +216,9 @@ create() { local data="vmid=$vmid" data+="&name=$vm_name" data+="&ide2=$(urlencode "$iso_path,media=cdrom")" - data+="&ostype=l26" + data+="&ostype=$iso_os_type" data+="&scsihw=virtio-scsi-single" - data+="&scsi0=$(urlencode "local-lvm:64,iothread=on")" + data+="&scsi0=$(urlencode "$storage:$disk_size_gb,iothread=on")" data+="&sockets=1" data+="&cores=$vmcpus" data+="&numa=0" @@ -228,6 +232,8 @@ create() { check_required_fields template_id local data="newid=$vmid" data+="&name=$vm_name" + clone_flag=$(( is_full_clone == "true" )) + data+="&storage=$storage&full=$clone_flag" execute_and_wait POST "/nodes/${node}/qemu/${template_id}/clone" "$data" cleanup_vm=1