From b6f12984c586bebb900f2164bd7622a39747c2b1 Mon Sep 17 00:00:00 2001 From: wilderrodrigues Date: Thu, 25 Jun 2015 09:47:40 +0200 Subject: [PATCH] Add supported hypervisors to a list - By doing so the check is simple and will require less effort when adding other hypervisors. Signed-off-by: wilderrodrigues --- .../src/com/cloud/server/ManagementServerImpl.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/server/src/com/cloud/server/ManagementServerImpl.java b/server/src/com/cloud/server/ManagementServerImpl.java index 8774f70b2a4..acf301f1e95 100644 --- a/server/src/com/cloud/server/ManagementServerImpl.java +++ b/server/src/com/cloud/server/ManagementServerImpl.java @@ -578,6 +578,7 @@ import com.cloud.host.HostVO; import com.cloud.host.dao.HostDao; import com.cloud.host.dao.HostDetailsDao; import com.cloud.host.dao.HostTagsDao; +import com.cloud.hypervisor.Hypervisor; import com.cloud.hypervisor.Hypervisor.HypervisorType; import com.cloud.hypervisor.HypervisorCapabilities; import com.cloud.hypervisor.HypervisorCapabilitiesVO; @@ -762,8 +763,6 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe private ImageStoreDao _imgStoreDao; @Inject private ServiceOfferingDetailsDao _serviceOfferingDetailsDao; - - @Inject private ProjectManager _projectMgr; @Inject @@ -801,6 +800,8 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe protected List _planners; + private final List supportedHypervisors = new ArrayList(); + public List getPlanners() { return _planners; } @@ -879,6 +880,9 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe _availableIdsMap.put(id, true); } + supportedHypervisors.add(HypervisorType.KVM); + supportedHypervisors.add(HypervisorType.XenServer); + return true; } @@ -3778,7 +3782,7 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe } final ClusterVO cluster = ApiDBUtils.findClusterById(command.getClusterId()); - if (cluster == null || cluster.getHypervisorType() != HypervisorType.XenServer || cluster.getHypervisorType() != HypervisorType.KVM) { + if (cluster == null || !supportedHypervisors.contains(cluster.getHypervisorType())) { throw new InvalidParameterValueException("This operation is not supported for this hypervisor type"); } return updateHostsInCluster(command); @@ -3793,10 +3797,9 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe final HostVO host = _hostDao.findById(cmd.getHostId()); - if (host.getHypervisorType() != HypervisorType.XenServer || host.getHypervisorType() != HypervisorType.KVM) { + if (!supportedHypervisors.contains(host.getHypervisorType())) { throw new InvalidParameterValueException("This operation is not supported for this hypervisor type"); } - Transaction.execute(new TransactionCallbackNoReturn() { @Override public void doInTransactionWithoutResult(final TransactionStatus status) { @@ -3816,7 +3819,6 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe } } }); - return true; }