diff --git a/server/src/com/cloud/deploy/FirstFitPlanner.java b/server/src/com/cloud/deploy/FirstFitPlanner.java index f380285f9d2..1ac805d10e1 100755 --- a/server/src/com/cloud/deploy/FirstFitPlanner.java +++ b/server/src/com/cloud/deploy/FirstFitPlanner.java @@ -609,6 +609,14 @@ public class FirstFitPlanner extends PlannerBase implements DeploymentPlanner { } } else { useLocalStorage = diskOffering.getUseLocalStorage(); + + // TODO: this is a hacking fix for the problem of deploy ISO-based VM on local storage + // when deploying VM based on ISO, we have a service offering and an additional disk offering, use-local storage flag is actually + // saved in service offering, overrde the flag from service offering when it is a ROOT disk + if(!useLocalStorage && vmProfile.getServiceOffering().getUseLocalStorage()) { + if(toBeCreated.getVolumeType() == Volume.Type.ROOT) + useLocalStorage = true; + } } diskProfile.setUseLocalStorage(useLocalStorage);