diff --git a/server/src/com/cloud/api/ApiResponseHelper.java b/server/src/com/cloud/api/ApiResponseHelper.java index e3f29aefb15..c12feab7331 100755 --- a/server/src/com/cloud/api/ApiResponseHelper.java +++ b/server/src/com/cloud/api/ApiResponseHelper.java @@ -796,7 +796,6 @@ public class ApiResponseHelper implements ResponseGenerator { volResponse.setVirtualMachineName(vm.getHostName()); UserVm userVm = ApiDBUtils.findUserVmById(vm.getId()); volResponse.setVirtualMachineDisplayName(userVm.getDisplayName()); - volResponse.setVirtualMachineState(vm.getState().toString()); } diff --git a/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java b/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java index 8f76b6692a1..d9ac5fe75ab 100644 --- a/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java +++ b/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java @@ -901,8 +901,9 @@ public class ConsoleProxyManagerImpl implements ConsoleProxyManager, ConsoleProx private boolean reserveStandbyCapacity() { ConsoleProxyManagementState state = getManagementState(); - if (state == null || state != ConsoleProxyManagementState.Auto) + if (state == null || state != ConsoleProxyManagementState.Auto) { return false; + } return true; } @@ -1633,13 +1634,15 @@ public class ConsoleProxyManagerImpl implements ConsoleProxyManager, ConsoleProx long dataCenterId = pool.longValue(); if (!isZoneReady(_zoneHostInfoMap, dataCenterId)) { - if (s_logger.isDebugEnabled()) + if (s_logger.isDebugEnabled()) { s_logger.debug("Zone " + dataCenterId + " is not ready to launch console proxy yet"); + } return false; } - if (s_logger.isDebugEnabled()) + if (s_logger.isDebugEnabled()) { s_logger.debug("Zone " + dataCenterId + " is ready to launch console proxy"); + } return true; } @@ -1648,16 +1651,19 @@ public class ConsoleProxyManagerImpl implements ConsoleProxyManager, ConsoleProx long dataCenterId = pool.longValue(); ConsoleProxyLoadInfo proxyInfo = this._zoneProxyCountMap.get(dataCenterId); - if (proxyInfo == null) + if (proxyInfo == null) { return new Pair(AfterScanAction.nop, null); + } ConsoleProxyLoadInfo vmInfo = this._zoneVmCountMap.get(dataCenterId); - if (vmInfo == null) + if (vmInfo == null) { vmInfo = new ConsoleProxyLoadInfo(); + } if (!checkCapacity(proxyInfo, vmInfo)) { - if (s_logger.isDebugEnabled()) + if (s_logger.isDebugEnabled()) { s_logger.debug("Expand console proxy standby capacity for zone " + proxyInfo.getName()); + } return new Pair(AfterScanAction.expand, null); } diff --git a/server/src/com/cloud/ha/HighAvailabilityManagerImpl.java b/server/src/com/cloud/ha/HighAvailabilityManagerImpl.java index c6fe915e57c..fa5b5f992d0 100644 --- a/server/src/com/cloud/ha/HighAvailabilityManagerImpl.java +++ b/server/src/com/cloud/ha/HighAvailabilityManagerImpl.java @@ -376,7 +376,6 @@ public class HighAvailabilityManagerImpl implements HighAvailabilityManager, Clu break; } } - boolean fenced = false; if (alive == null) { s_logger.debug("Fencing off VM that we don't know the state of"); diff --git a/server/src/com/cloud/server/ManagementServerImpl.java b/server/src/com/cloud/server/ManagementServerImpl.java index 8ec90160bf8..1db1447a394 100755 --- a/server/src/com/cloud/server/ManagementServerImpl.java +++ b/server/src/com/cloud/server/ManagementServerImpl.java @@ -4467,8 +4467,9 @@ public class ManagementServerImpl implements ManagementServer { @Override @DB public String uploadCertificate(UploadCustomCertificateCmd cmd) { - if (!_ksMgr.validateCertificate(cmd.getCertificate(), cmd.getPrivateKey(), cmd.getDomainSuffix())) + if (!_ksMgr.validateCertificate(cmd.getCertificate(), cmd.getPrivateKey(), cmd.getDomainSuffix())) { throw new InvalidParameterValueException("Failed to pass certificate validation check"); + } _ksMgr.saveCertificate(ConsoleProxyManager.CERTIFICATE_NAME, cmd.getCertificate(), cmd.getPrivateKey(), cmd.getDomainSuffix()); diff --git a/server/src/com/cloud/storage/StorageManager.java b/server/src/com/cloud/storage/StorageManager.java index 8586d5a432b..60c487f04b5 100755 --- a/server/src/com/cloud/storage/StorageManager.java +++ b/server/src/com/cloud/storage/StorageManager.java @@ -17,30 +17,30 @@ */ package com.cloud.storage; -import java.util.List; - -import com.cloud.agent.api.Answer; -import com.cloud.agent.api.Command; -import com.cloud.agent.manager.Commands; -import com.cloud.capacity.CapacityVO; -import com.cloud.dc.DataCenterVO; -import com.cloud.dc.HostPodVO; -import com.cloud.deploy.DeployDestination; -import com.cloud.exception.ConcurrentOperationException; -import com.cloud.exception.InsufficientStorageCapacityException; -import com.cloud.exception.StorageUnavailableException; -import com.cloud.host.Host; -import com.cloud.host.HostVO; -import com.cloud.hypervisor.Hypervisor.HypervisorType; -import com.cloud.service.ServiceOfferingVO; -import com.cloud.storage.Volume.Type; -import com.cloud.user.Account; -import com.cloud.utils.Pair; -import com.cloud.utils.component.Manager; -import com.cloud.vm.DiskProfile; -import com.cloud.vm.VMInstanceVO; -import com.cloud.vm.VirtualMachine; -import com.cloud.vm.VirtualMachineProfile; +import java.util.List; + +import com.cloud.agent.api.Answer; +import com.cloud.agent.api.Command; +import com.cloud.agent.manager.Commands; +import com.cloud.capacity.CapacityVO; +import com.cloud.dc.DataCenterVO; +import com.cloud.dc.HostPodVO; +import com.cloud.deploy.DeployDestination; +import com.cloud.exception.ConcurrentOperationException; +import com.cloud.exception.InsufficientStorageCapacityException; +import com.cloud.exception.StorageUnavailableException; +import com.cloud.host.Host; +import com.cloud.host.HostVO; +import com.cloud.hypervisor.Hypervisor.HypervisorType; +import com.cloud.service.ServiceOfferingVO; +import com.cloud.storage.Volume.Type; +import com.cloud.user.Account; +import com.cloud.utils.Pair; +import com.cloud.utils.component.Manager; +import com.cloud.vm.DiskProfile; +import com.cloud.vm.VMInstanceVO; +import com.cloud.vm.VirtualMachine; +import com.cloud.vm.VirtualMachineProfile; public interface StorageManager extends Manager { boolean canVmRestartOnAnotherServer(long vmId); @@ -73,14 +73,6 @@ public interface StorageManager extends Manager { */ public HostVO getSecondaryStorageHost(long zoneId); - /** - * Add a pool to a host - * @param hostId - * @param pool - * @throws StorageUnavailableException - */ - void addPoolToHost(long hostId, StoragePoolVO pool) throws StorageUnavailableException; - /** * Moves a volume from its current storage pool to a storage pool with enough capacity in the specified zone, pod, or cluster * @param volume diff --git a/server/src/com/cloud/storage/StorageManagerImpl.java b/server/src/com/cloud/storage/StorageManagerImpl.java index 75c7d3e539f..2248d2b0384 100755 --- a/server/src/com/cloud/storage/StorageManagerImpl.java +++ b/server/src/com/cloud/storage/StorageManagerImpl.java @@ -809,7 +809,7 @@ public class StorageManagerImpl implements StorageManager, StorageService, Manag _storagePoolAcquisitionWaitSeconds = NumbersUtil.parseInt(configs.get("pool.acquisition.wait.seconds"), 1800); s_logger.info("pool.acquisition.wait.seconds is configured as " + _storagePoolAcquisitionWaitSeconds + " seconds"); - _agentMgr.registerForHostEvents(new StoragePoolMonitor(this, _hostDao, _storagePoolDao), true, false, true); + _agentMgr.registerForHostEvents(new StoragePoolMonitor(this, _storagePoolDao), true, false, true); String storageCleanupEnabled = configs.get("storage.cleanup.enabled"); _storageCleanupEnabled = (storageCleanupEnabled == null) ? true : Boolean.parseBoolean(storageCleanupEnabled); @@ -1171,7 +1171,7 @@ public class StorageManagerImpl implements StorageManager, StorageService, Manag List poolHosts = new ArrayList(); for (HostVO h : allHosts) { try { - addPoolToHost(h.getId(), pool); + connectHostToSharedPool(h.getId(), pool); poolHosts.add(h); } catch (Exception e) { s_logger.warn("Unable to establish a connection between " + h + " and " + pool, e); @@ -1375,14 +1375,9 @@ public class StorageManagerImpl implements StorageManager, StorageService, Manag return true; } - @Override - public void addPoolToHost(long hostId, StoragePoolVO pool) throws StorageUnavailableException { + public void connectHostToSharedPool(long hostId, StoragePoolVO pool) throws StorageUnavailableException { + assert (pool.getPoolType().isShared()) : "Now, did you actually read the name of this method?"; s_logger.debug("Adding pool " + pool.getName() + " to host " + hostId); - if (pool.getPoolType() != StoragePoolType.NetworkFilesystem && pool.getPoolType() != StoragePoolType.Filesystem && pool.getPoolType() != StoragePoolType.IscsiLUN - && pool.getPoolType() != StoragePoolType.Iscsi && pool.getPoolType() != StoragePoolType.VMFS && pool.getPoolType() != StoragePoolType.SharedMountPoint - && pool.getPoolType() != StoragePoolType.PreSetup) { - throw new CloudRuntimeException("Doesn't support storage pool type " + pool.getPoolType()); - } ModifyStoragePoolCommand cmd = new ModifyStoragePoolCommand(true, pool); final Answer answer = _agentMgr.easySend(hostId, cmd); diff --git a/server/src/com/cloud/storage/listener/StoragePoolMonitor.java b/server/src/com/cloud/storage/listener/StoragePoolMonitor.java index c5cb23bc3c6..2d048ed9bde 100755 --- a/server/src/com/cloud/storage/listener/StoragePoolMonitor.java +++ b/server/src/com/cloud/storage/listener/StoragePoolMonitor.java @@ -31,21 +31,18 @@ import com.cloud.agent.api.StartupRoutingCommand; import com.cloud.exception.ConnectionException; import com.cloud.host.HostVO; import com.cloud.host.Status; -import com.cloud.host.dao.HostDao; import com.cloud.hypervisor.Hypervisor.HypervisorType; -import com.cloud.storage.StorageManager; +import com.cloud.storage.StorageManagerImpl; import com.cloud.storage.StoragePoolVO; import com.cloud.storage.dao.StoragePoolDao; public class StoragePoolMonitor implements Listener { private static final Logger s_logger = Logger.getLogger(StoragePoolMonitor.class); - private final HostDao _hostDao; - private final StorageManager _storageManager; + private final StorageManagerImpl _storageManager; private final StoragePoolDao _poolDao; - public StoragePoolMonitor(StorageManager mgr, HostDao hostDao, StoragePoolDao poolDao) { + public StoragePoolMonitor(StorageManagerImpl mgr, StoragePoolDao poolDao) { this._storageManager = mgr; - this._hostDao = hostDao; this._poolDao = poolDao; } @@ -74,10 +71,13 @@ public class StoragePoolMonitor implements Listener { scCmd.getHypervisorType() == HypervisorType.VMware) { List pools = _poolDao.listBy(host.getDataCenterId(), host.getPodId(), host.getClusterId()); for (StoragePoolVO pool : pools) { + if (!pool.getPoolType().isShared()) { + continue; + } Long hostId = host.getId(); s_logger.debug("Host " + hostId + " connected, sending down storage pool information ..."); try { - _storageManager.addPoolToHost(hostId, pool); + _storageManager.connectHostToSharedPool(hostId, pool); _storageManager.createCapacityEntry(pool); } catch (Exception e) { throw new ConnectionException(true, "Unable to connect to pool " + pool, e);