From c46019875948de65ec1944fb9d7d2a04207fb9f5 Mon Sep 17 00:00:00 2001 From: Bart Meyers Date: Tue, 29 Oct 2024 12:12:27 +0100 Subject: [PATCH] Maintenance mode: Add host to deployment planner avoid list to fix local storage vm migration --- .../src/main/java/com/cloud/resource/ResourceManagerImpl.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java b/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java index 228373896204..8f4f24ec43ab 100755 --- a/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java +++ b/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java @@ -1469,8 +1469,10 @@ private void migrateAwayVmWithVolumes(HostVO host, VMInstanceVO vm) { final VirtualMachineProfile profile = new VirtualMachineProfileImpl(vm, null, offeringVO, null, null); plan.setMigrationPlan(true); DeployDestination dest = null; + DeploymentPlanner.ExcludeList avoids = new DeploymentPlanner.ExcludeList(); + avoids.addHost(host.getId()); try { - dest = deploymentManager.planDeployment(profile, plan, new DeploymentPlanner.ExcludeList(), null); + dest = deploymentManager.planDeployment(profile, plan, avoids, null); } catch (InsufficientServerCapacityException e) { throw new CloudRuntimeException(String.format("Maintenance failed, could not find deployment destination for VM [id=%s, name=%s].", vm.getId(), vm.getInstanceName()), e);