diff --git a/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java b/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java index 89ccf17b148a..01c1070db540 100755 --- a/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java +++ b/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java @@ -22,10 +22,12 @@ import java.net.URISyntaxException; import java.net.URLDecoder; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; import java.util.HashMap; import java.util.Iterator; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.Random; @@ -689,7 +691,8 @@ private List discoverHostsFull(final Long dcId, final Long podId, Long c if ((clusterName != null || clusterId != null) && podId == null) { throw new InvalidParameterValueException("Can't specify cluster without specifying the pod"); } - if (!HypervisorType.VMware.toString().equalsIgnoreCase(hypervisorType) && + List skipList = Arrays.asList(HypervisorType.VMware.name().toLowerCase(Locale.ROOT), Type.SecondaryStorage.name().toLowerCase(Locale.ROOT)); + if (!skipList.contains(hypervisorType.toLowerCase(Locale.ROOT)) && (Strings.isNullOrEmpty(username) || Strings.isNullOrEmpty(password))) { throw new InvalidParameterValueException("Username and Password need to be provided."); } diff --git a/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java b/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java index 534aa1b33b5a..58f9a308dcb0 100644 --- a/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java +++ b/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java @@ -7203,8 +7203,10 @@ public UserVm restoreVirtualMachine(final Account caller, final long vmId, final if (userVmDetailsDao.findDetail(vm.getId(), VmDetailConstants.ROOT_DISK_SIZE) == null && !newVol.getSize().equals(template.getSize())) { VolumeVO resizedVolume = (VolumeVO) newVol; - resizedVolume.setSize(template.getSize()); - _volsDao.update(resizedVolume.getId(), resizedVolume); + if (template.getSize() != null) { + resizedVolume.setSize(template.getSize()); + _volsDao.update(resizedVolume.getId(), resizedVolume); + } } // 1. Save usage event and update resource count for user vm volumes