From 20973d48afb437d5bf499fdf11a44807ecccdf69 Mon Sep 17 00:00:00 2001 From: abhishek Date: Thu, 9 Sep 2010 18:03:48 -0700 Subject: [PATCH] bug 5147: implementing the recommendations i got for the ps maintenance. For now, we are not implementing the cancel maintenance part. Instead, we are going to ask the admin if he is "sure" of enabling maintenance on a sp, before proceeding --- core/src/com/cloud/server/ManagementServer.java | 1 + server/src/com/cloud/server/ManagementServerImpl.java | 5 +++++ server/src/com/cloud/storage/StorageManagerImpl.java | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/core/src/com/cloud/server/ManagementServer.java b/core/src/com/cloud/server/ManagementServer.java index a96fab84d37..60b2b7a3f1d 100755 --- a/core/src/com/cloud/server/ManagementServer.java +++ b/core/src/com/cloud/server/ManagementServer.java @@ -2199,4 +2199,5 @@ public interface ManagementServer { GuestOSVO getGuestOs(Long guestOsId); VolumeVO findVolumeByInstanceAndDeviceId(long instanceId, long deviceId); VolumeVO getRootVolume(Long instanceId); + long getPsMaintenanceCount(long podId); } diff --git a/server/src/com/cloud/server/ManagementServerImpl.java b/server/src/com/cloud/server/ManagementServerImpl.java index 5ddb3d8794f..e826a2edc9d 100755 --- a/server/src/com/cloud/server/ManagementServerImpl.java +++ b/server/src/com/cloud/server/ManagementServerImpl.java @@ -8719,5 +8719,10 @@ public class ManagementServerImpl implements ManagementServer { { return _volumeDao.findByInstanceAndType(instanceId, Volume.VolumeType.ROOT).get(0); } + + @Override + public long getPsMaintenanceCount(long podId){ + return _poolDao.countBy(podId, Status.Maintenance); + } } diff --git a/server/src/com/cloud/storage/StorageManagerImpl.java b/server/src/com/cloud/storage/StorageManagerImpl.java index d5e4e3bfc9a..baeb9e6d413 100644 --- a/server/src/com/cloud/storage/StorageManagerImpl.java +++ b/server/src/com/cloud/storage/StorageManagerImpl.java @@ -2007,7 +2007,7 @@ public class StorageManagerImpl implements StorageManager { //check to see if other ps exist //if they do, then we can migrate over the system vms to them //if they dont, then just stop all vms on this one - count = _storagePoolDao.countBy(primaryStorage.getId(), Status.Up); + count = _storagePoolDao.countBy(primaryStorage.getPodId(), Status.Up); if(count == 1) restart = false;