From f97a5e78cb9558b7ede609c45f6f6db9dca2e78c Mon Sep 17 00:00:00 2001 From: abhishek Date: Wed, 19 Jan 2011 14:32:06 -0800 Subject: [PATCH] bug 7970: fixing sp maintenance for 2 pools status 7970: resolved fixed --- core/src/com/cloud/storage/VolumeVO.java | 4 ++++ server/src/com/cloud/storage/StorageManagerImpl.java | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/core/src/com/cloud/storage/VolumeVO.java b/core/src/com/cloud/storage/VolumeVO.java index 380dceaf119..ceebc5e036f 100755 --- a/core/src/com/cloud/storage/VolumeVO.java +++ b/core/src/com/cloud/storage/VolumeVO.java @@ -245,6 +245,10 @@ public class VolumeVO implements Volume { return recreatable; } + public void setRecreatable(boolean recreatable) { + this.recreatable = recreatable; + } + public String getIscsiName() { return iscsiName; } diff --git a/server/src/com/cloud/storage/StorageManagerImpl.java b/server/src/com/cloud/storage/StorageManagerImpl.java index 2e0e49d228e..1070517e283 100755 --- a/server/src/com/cloud/storage/StorageManagerImpl.java +++ b/server/src/com/cloud/storage/StorageManagerImpl.java @@ -165,6 +165,7 @@ import com.cloud.vm.UserVmVO; import com.cloud.vm.VMInstanceVO; import com.cloud.vm.VirtualMachine; import com.cloud.vm.VirtualMachine.State; +import com.cloud.vm.VirtualMachine.Type; import com.cloud.vm.VirtualMachineProfile; import com.cloud.vm.dao.ConsoleProxyDao; import com.cloud.vm.dao.UserVmDao; @@ -2194,7 +2195,7 @@ public class StorageManagerImpl implements StorageManager, StorageService, Manag } else if(restart) { - if(_routerMgr.stopRouter(vmInstance.getId()) == null) + if(_routerMgr.startRouter(vmInstance.getId()) == null) { String errorMsg = "There was an error starting the domain router id: "+vmInstance.getId()+" on another storage pool, cannot enable primary storage maintenance"; s_logger.warn(errorMsg); @@ -2519,6 +2520,8 @@ public class StorageManagerImpl implements StorageManager, StorageService, Manag if(type.equals(VolumeType.ROOT)) { vol.setDeviceId(0l); + if(!vm.getType().equals(Type.User)) + vol.setRecreatable(true); } else { vol.setDeviceId(1l); }