This is an automated email from the ASF dual-hosted git repository. rohit pushed a commit to branch revert-4180-nfs_minor_version in repository https://gitbox.apache.org/repos/asf/cloudstack.git
commit 5f707be3ffb4217841e3de472d3d19f81e3cb689 Author: Rohit Yadav <[email protected]> AuthorDate: Wed Aug 19 14:54:18 2020 +0530 Revert "server: Added nfs minor version support (#4180)" This reverts commit d57aa835174c9dd045930d1396ce4bee9a275a60. --- .../main/java/com/cloud/agent/api/to/NfsTO.java | 6 ++--- .../cloud/agent/api/GetStorageStatsCommand.java | 2 +- .../agent/api/storage/ListTemplateCommand.java | 2 +- .../cloud/agent/api/storage/StorageCommand.java | 2 +- .../api/storage/StorageNfsVersionCommand.java | 8 +++---- .../command/TemplateOrVolumePostUploadCommand.java | 6 ++--- .../java/com/cloud/capacity/CapacityManager.java | 6 ++--- .../storage/image/TemplateServiceImpl.java | 2 +- .../storage/image/NfsImageStoreDriverImpl.java | 5 ++-- .../com/cloud/resource/AgentStorageResource.java | 3 ++- .../vmware/manager/VmwareManagerImpl.java | 6 ++--- .../vmware/manager/VmwareStorageManagerImpl.java | 24 +++++++++---------- .../vmware/manager/VmwareStorageMount.java | 2 +- .../hypervisor/vmware/resource/VmwareResource.java | 2 +- .../resource/PremiumSecondaryStorageResource.java | 2 +- .../VmwareSecondaryStorageResourceHandler.java | 4 ++-- .../storage/resource/VmwareStorageProcessor.java | 22 ++++++++--------- .../VmwareStorageSubsystemCommandHandler.java | 6 ++--- .../vmware/resource/VmwareResourceTest.java | 4 ++-- .../main/java/com/cloud/server/StatsCollector.java | 2 +- .../com/cloud/storage/ImageStoreDetailsUtil.java | 14 ++++++----- .../apache/cloudstack/storage/NfsMountManager.java | 2 +- .../cloudstack/storage/NfsMountManagerImpl.java | 4 ++-- .../cloud/storage/ImageStoreDetailsUtilTest.java | 16 ++++++------- .../SecondaryStorageManagerImpl.java | 4 ++-- .../resource/LocalNfsSecondaryStorageResource.java | 4 ++-- .../resource/LocalSecondaryStorageResource.java | 2 +- .../resource/NfsSecondaryStorageResource.java | 28 +++++++++++++++------- .../storage/resource/SecondaryStorageResource.java | 2 +- .../storage/template/DownloadManagerImpl.java | 2 +- 30 files changed, 104 insertions(+), 90 deletions(-) diff --git a/api/src/main/java/com/cloud/agent/api/to/NfsTO.java b/api/src/main/java/com/cloud/agent/api/to/NfsTO.java index 0f6511e..1cf7218 100644 --- a/api/src/main/java/com/cloud/agent/api/to/NfsTO.java +++ b/api/src/main/java/com/cloud/agent/api/to/NfsTO.java @@ -24,7 +24,7 @@ public class NfsTO implements DataStoreTO { private DataStoreRole _role; private String uuid; private static final String pathSeparator = "/"; - private String nfsVersion; + private Integer nfsVersion; public NfsTO() { @@ -73,11 +73,11 @@ public class NfsTO implements DataStoreTO { return pathSeparator; } - public String getNfsVersion() { + public Integer getNfsVersion() { return nfsVersion; } - public void setNfsVersion(String nfsVersion) { + public void setNfsVersion(Integer nfsVersion) { this.nfsVersion = nfsVersion; } } diff --git a/core/src/main/java/com/cloud/agent/api/GetStorageStatsCommand.java b/core/src/main/java/com/cloud/agent/api/GetStorageStatsCommand.java index 9e7f171..94a574c 100644 --- a/core/src/main/java/com/cloud/agent/api/GetStorageStatsCommand.java +++ b/core/src/main/java/com/cloud/agent/api/GetStorageStatsCommand.java @@ -55,7 +55,7 @@ public class GetStorageStatsCommand extends StorageNfsVersionCommand { this.store = store; } - public GetStorageStatsCommand(DataStoreTO store, String nfsVersion) { + public GetStorageStatsCommand(DataStoreTO store, Integer nfsVersion) { super(nfsVersion); this.store = store; } diff --git a/core/src/main/java/com/cloud/agent/api/storage/ListTemplateCommand.java b/core/src/main/java/com/cloud/agent/api/storage/ListTemplateCommand.java index aff879d..6f60933 100644 --- a/core/src/main/java/com/cloud/agent/api/storage/ListTemplateCommand.java +++ b/core/src/main/java/com/cloud/agent/api/storage/ListTemplateCommand.java @@ -31,7 +31,7 @@ public class ListTemplateCommand extends StorageCommand { this.store = store; } - public ListTemplateCommand(DataStoreTO store, String nfsVersion) { + public ListTemplateCommand(DataStoreTO store, Integer nfsVersion) { super(nfsVersion); this.store = store; } diff --git a/core/src/main/java/com/cloud/agent/api/storage/StorageCommand.java b/core/src/main/java/com/cloud/agent/api/storage/StorageCommand.java index 4f17f30..429755c 100644 --- a/core/src/main/java/com/cloud/agent/api/storage/StorageCommand.java +++ b/core/src/main/java/com/cloud/agent/api/storage/StorageCommand.java @@ -24,7 +24,7 @@ public abstract class StorageCommand extends StorageNfsVersionCommand { super(); } - protected StorageCommand(String nfsVersion){ + protected StorageCommand(Integer nfsVersion){ super(nfsVersion); } diff --git a/core/src/main/java/com/cloud/agent/api/storage/StorageNfsVersionCommand.java b/core/src/main/java/com/cloud/agent/api/storage/StorageNfsVersionCommand.java index 58cf888..b99713d 100755 --- a/core/src/main/java/com/cloud/agent/api/storage/StorageNfsVersionCommand.java +++ b/core/src/main/java/com/cloud/agent/api/storage/StorageNfsVersionCommand.java @@ -26,18 +26,18 @@ public abstract class StorageNfsVersionCommand extends Command { super(); } - protected StorageNfsVersionCommand(String nfsVersion){ + protected StorageNfsVersionCommand(Integer nfsVersion){ super(); this.nfsVersion = nfsVersion; } - private String nfsVersion; + private Integer nfsVersion; - public String getNfsVersion() { + public Integer getNfsVersion() { return nfsVersion; } - public void setNfsVersion(String nfsVersion) { + public void setNfsVersion(Integer nfsVersion) { this.nfsVersion = nfsVersion; } diff --git a/core/src/main/java/org/apache/cloudstack/storage/command/TemplateOrVolumePostUploadCommand.java b/core/src/main/java/org/apache/cloudstack/storage/command/TemplateOrVolumePostUploadCommand.java index 6cba5f2..965d303 100644 --- a/core/src/main/java/org/apache/cloudstack/storage/command/TemplateOrVolumePostUploadCommand.java +++ b/core/src/main/java/org/apache/cloudstack/storage/command/TemplateOrVolumePostUploadCommand.java @@ -55,7 +55,7 @@ public class TemplateOrVolumePostUploadCommand { private long accountId; - private String nfsVersion; + private Integer nfsVersion; public TemplateOrVolumePostUploadCommand(long entityId, String entityUUID, String absolutePath, String checksum, String type, String name, String imageFormat, String dataTo, String dataToRole) { @@ -201,11 +201,11 @@ public class TemplateOrVolumePostUploadCommand { return accountId; } - public String getNfsVersion() { + public Integer getNfsVersion() { return nfsVersion; } - public void setNfsVersion(String nfsVersion) { + public void setNfsVersion(Integer nfsVersion) { this.nfsVersion = nfsVersion; } diff --git a/engine/components-api/src/main/java/com/cloud/capacity/CapacityManager.java b/engine/components-api/src/main/java/com/cloud/capacity/CapacityManager.java index c24909f..98287bb 100644 --- a/engine/components-api/src/main/java/com/cloud/capacity/CapacityManager.java +++ b/engine/components-api/src/main/java/com/cloud/capacity/CapacityManager.java @@ -73,9 +73,9 @@ public interface CapacityManager { "If set to true, creates VMs as full clones on ESX hypervisor", true, ConfigKey.Scope.StoragePool); - static final ConfigKey<String> ImageStoreNFSVersion = - new ConfigKey<String>( - String.class, + static final ConfigKey<Integer> ImageStoreNFSVersion = + new ConfigKey<Integer>( + Integer.class, "secstorage.nfs.version", "Advanced", null, diff --git a/engine/storage/image/src/main/java/org/apache/cloudstack/storage/image/TemplateServiceImpl.java b/engine/storage/image/src/main/java/org/apache/cloudstack/storage/image/TemplateServiceImpl.java index ee05630..edf8244 100644 --- a/engine/storage/image/src/main/java/org/apache/cloudstack/storage/image/TemplateServiceImpl.java +++ b/engine/storage/image/src/main/java/org/apache/cloudstack/storage/image/TemplateServiceImpl.java @@ -671,7 +671,7 @@ public class TemplateServiceImpl implements TemplateService { } private Map<String, TemplateProp> listTemplate(DataStore ssStore) { - String nfsVersion = imageStoreDetailsUtil.getNfsVersion(ssStore.getId()); + Integer nfsVersion = imageStoreDetailsUtil.getNfsVersion(ssStore.getId()); ListTemplateCommand cmd = new ListTemplateCommand(ssStore.getTO(), nfsVersion); EndPoint ep = _epSelector.select(ssStore); Answer answer = null; diff --git a/engine/storage/src/main/java/org/apache/cloudstack/storage/image/NfsImageStoreDriverImpl.java b/engine/storage/src/main/java/org/apache/cloudstack/storage/image/NfsImageStoreDriverImpl.java index aea7922..c7aad89 100755 --- a/engine/storage/src/main/java/org/apache/cloudstack/storage/image/NfsImageStoreDriverImpl.java +++ b/engine/storage/src/main/java/org/apache/cloudstack/storage/image/NfsImageStoreDriverImpl.java @@ -36,11 +36,12 @@ public abstract class NfsImageStoreDriverImpl extends BaseImageStoreDriverImpl { * @param imgStoreId store id * @return "secstorage.nfs.version" associated value for imgStoreId in image_store_details table if exists, null if not */ - protected String getNfsVersion(long imgStoreId){ + protected Integer getNfsVersion(long imgStoreId){ Map<String, String> imgStoreDetails = _imageStoreDetailsDao.getDetails(imgStoreId); String nfsVersionKey = CapacityManager.ImageStoreNFSVersion.key(); if (imgStoreDetails != null && imgStoreDetails.containsKey(nfsVersionKey)){ - return imgStoreDetails.get(nfsVersionKey); + String nfsVersionParam = imgStoreDetails.get(nfsVersionKey); + return (nfsVersionParam != null ? Integer.valueOf(nfsVersionParam) : null); } return null; } diff --git a/plugins/hypervisors/simulator/src/main/java/com/cloud/resource/AgentStorageResource.java b/plugins/hypervisors/simulator/src/main/java/com/cloud/resource/AgentStorageResource.java index c8f4701..c77550e 100644 --- a/plugins/hypervisors/simulator/src/main/java/com/cloud/resource/AgentStorageResource.java +++ b/plugins/hypervisors/simulator/src/main/java/com/cloud/resource/AgentStorageResource.java @@ -109,7 +109,8 @@ public class AgentStorageResource extends AgentResourceBase implements Secondary } @Override - public String getRootDir(String cmd, String nfsVersion) { + public String getRootDir(String url, Integer nfsVersion) { + // TODO Auto-generated method stub return null; } } diff --git a/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/manager/VmwareManagerImpl.java b/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/manager/VmwareManagerImpl.java index 9cbaaf7..c4b939a 100644 --- a/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/manager/VmwareManagerImpl.java +++ b/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/manager/VmwareManagerImpl.java @@ -633,7 +633,7 @@ public class VmwareManagerImpl extends ManagerBase implements VmwareManager, Vmw @Override public void prepareSecondaryStorageStore(String storageUrl, Long storeId) { - String nfsVersion = imageStoreDetailsUtil.getNfsVersion(storeId); + Integer nfsVersion = imageStoreDetailsUtil.getNfsVersion(storeId); String mountPoint = getMountPoint(storageUrl, nfsVersion); GlobalLock lock = GlobalLock.getInternLock("prepare.systemvm"); @@ -729,7 +729,7 @@ public class VmwareManagerImpl extends ManagerBase implements VmwareManager, Vmw } @Override - public String getMountPoint(String storageUrl, String nfsVersion) { + public String getMountPoint(String storageUrl, Integer nfsVersion) { String mountPoint = null; synchronized (_storageMounts) { mountPoint = _storageMounts.get(storageUrl); @@ -820,7 +820,7 @@ public class VmwareManagerImpl extends ManagerBase implements VmwareManager, Vmw } } - protected String mount(String path, String parent, String nfsVersion) { + protected String mount(String path, String parent, Integer nfsVersion) { String mountPoint = setupMountPoint(parent); if (mountPoint == null) { s_logger.warn("Unable to create a mount point"); diff --git a/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/manager/VmwareStorageManagerImpl.java b/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/manager/VmwareStorageManagerImpl.java index 369e5b6..f17d613 100644 --- a/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/manager/VmwareStorageManagerImpl.java +++ b/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/manager/VmwareStorageManagerImpl.java @@ -93,7 +93,7 @@ import com.cloud.vm.snapshot.VMSnapshot; public class VmwareStorageManagerImpl implements VmwareStorageManager { - private String _nfsVersion; + private Integer _nfsVersion; @Override public boolean execute(VmwareHostService hostService, CreateEntityDownloadURLCommand cmd) { @@ -147,7 +147,7 @@ public class VmwareStorageManagerImpl implements VmwareStorageManager { _mountService = mountService; } - public VmwareStorageManagerImpl(VmwareStorageMount mountService, String nfsVersion) { + public VmwareStorageManagerImpl(VmwareStorageMount mountService, Integer nfsVersion) { assert (mountService != null); _mountService = mountService; _nfsVersion = nfsVersion; @@ -558,7 +558,7 @@ public class VmwareStorageManagerImpl implements VmwareStorageManager { // templateName: name in secondary storage // templateUuid: will be used at hypervisor layer private void copyTemplateFromSecondaryToPrimary(VmwareHypervisorHost hyperHost, DatastoreMO datastoreMo, String secondaryStorageUrl, String templatePathAtSecondaryStorage, - String templateName, String templateUuid, String nfsVersion) throws Exception { + String templateName, String templateUuid, Integer nfsVersion) throws Exception { s_logger.info("Executing copyTemplateFromSecondaryToPrimary. secondaryStorage: " + secondaryStorageUrl + ", templatePathAtSecondaryStorage: " + templatePathAtSecondaryStorage + ", templateName: " + templateName); @@ -613,7 +613,7 @@ public class VmwareStorageManagerImpl implements VmwareStorageManager { } private Ternary<String, Long, Long> createTemplateFromVolume(VirtualMachineMO vmMo, long accountId, long templateId, String templateUniqueName, String secStorageUrl, - String volumePath, String workerVmName, String nfsVersion) throws Exception { + String volumePath, String workerVmName, Integer nfsVersion) throws Exception { String secondaryMountPoint = _mountService.getMountPoint(secStorageUrl, nfsVersion); String installPath = getTemplateRelativeDirInSecStorage(accountId, templateId); @@ -678,7 +678,7 @@ public class VmwareStorageManagerImpl implements VmwareStorageManager { } private Ternary<String, Long, Long> createTemplateFromSnapshot(long accountId, long templateId, String templateUniqueName, String secStorageUrl, long volumeId, - String backedUpSnapshotUuid, String nfsVersion) throws Exception { + String backedUpSnapshotUuid, Integer nfsVersion) throws Exception { String secondaryMountPoint = _mountService.getMountPoint(secStorageUrl, nfsVersion); String installPath = getTemplateRelativeDirInSecStorage(accountId, templateId); @@ -862,14 +862,14 @@ public class VmwareStorageManagerImpl implements VmwareStorageManager { } private String createVolumeFromSnapshot(VmwareHypervisorHost hyperHost, DatastoreMO primaryDsMo, String newVolumeName, long accountId, long volumeId, String secStorageUrl, - String snapshotBackupUuid, String nfsVersion) throws Exception { + String snapshotBackupUuid, Integer nfsVersion) throws Exception { restoreVolumeFromSecStorage(hyperHost, primaryDsMo, newVolumeName, secStorageUrl, getSnapshotRelativeDirInSecStorage(accountId, volumeId), snapshotBackupUuid, nfsVersion); return null; } private void restoreVolumeFromSecStorage(VmwareHypervisorHost hyperHost, DatastoreMO primaryDsMo, String newVolumeName, String secStorageUrl, String secStorageDir, - String backupName, String nfsVersion) throws Exception { + String backupName, Integer nfsVersion) throws Exception { String secondaryMountPoint = _mountService.getMountPoint(secStorageUrl, nfsVersion); String srcOVAFileName = secondaryMountPoint + "/" + secStorageDir + "/" + backupName + "." + ImageFormat.OVA.getFileExtension(); @@ -929,7 +929,7 @@ public class VmwareStorageManagerImpl implements VmwareStorageManager { } private String backupSnapshotToSecondaryStorage(VirtualMachineMO vmMo, long accountId, long volumeId, String volumePath, String snapshotUuid, String secStorageUrl, - String prevSnapshotUuid, String prevBackupUuid, String workerVmName, String nfsVersion) throws Exception { + String prevSnapshotUuid, String prevBackupUuid, String workerVmName, Integer nfsVersion) throws Exception { String backupUuid = UUID.randomUUID().toString(); exportVolumeToSecondaryStorage(vmMo, volumePath, secStorageUrl, getSnapshotRelativeDirInSecStorage(accountId, volumeId), backupUuid, workerVmName, nfsVersion, true); @@ -937,7 +937,7 @@ public class VmwareStorageManagerImpl implements VmwareStorageManager { } private void exportVolumeToSecondaryStorage(VirtualMachineMO vmMo, String volumePath, String secStorageUrl, String secStorageDir, String exportName, String workerVmName, - String nfsVersion, boolean clonedWorkerVMNeeded) throws Exception { + Integer nfsVersion, boolean clonedWorkerVMNeeded) throws Exception { String secondaryMountPoint = _mountService.getMountPoint(secStorageUrl, nfsVersion); String exportPath = secondaryMountPoint + "/" + secStorageDir + "/" + exportName; @@ -985,7 +985,7 @@ public class VmwareStorageManagerImpl implements VmwareStorageManager { } private Pair<String, String> copyVolumeToSecStorage(VmwareHostService hostService, VmwareHypervisorHost hyperHost, CopyVolumeCommand cmd, String vmName, long volumeId, - String poolId, String volumePath, String secStorageUrl, String workerVmName, String nfsVersion) throws Exception { + String poolId, String volumePath, String secStorageUrl, String workerVmName, Integer nfsVersion) throws Exception { String volumeFolder = String.valueOf(volumeId) + "/"; VirtualMachineMO workerVm = null; @@ -1050,7 +1050,7 @@ public class VmwareStorageManagerImpl implements VmwareStorageManager { } private Pair<String, String> copyVolumeFromSecStorage(VmwareHypervisorHost hyperHost, long volumeId, DatastoreMO dsMo, String secStorageUrl, String exportName, - String nfsVersion) throws Exception { + Integer nfsVersion) throws Exception { String volumeFolder = String.valueOf(volumeId) + "/"; String newVolume = UUID.randomUUID().toString().replace("-", ""); @@ -1464,7 +1464,7 @@ public class VmwareStorageManagerImpl implements VmwareStorageManager { } } - private String deleteVolumeDirOnSecondaryStorage(long volumeId, String secStorageUrl, String nfsVersion) throws Exception { + private String deleteVolumeDirOnSecondaryStorage(long volumeId, String secStorageUrl, Integer nfsVersion) throws Exception { String secondaryMountPoint = _mountService.getMountPoint(secStorageUrl, nfsVersion); String volumeMountRoot = secondaryMountPoint + "/" + getVolumeRelativeDirInSecStroage(volumeId); diff --git a/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/manager/VmwareStorageMount.java b/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/manager/VmwareStorageMount.java index 54b52f6..fd139e4 100644 --- a/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/manager/VmwareStorageMount.java +++ b/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/manager/VmwareStorageMount.java @@ -17,5 +17,5 @@ package com.cloud.hypervisor.vmware.manager; public interface VmwareStorageMount { - String getMountPoint(String storageUrl, String nfsVersion); + String getMountPoint(String storageUrl, Integer nfsVersion); } diff --git a/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/resource/VmwareResource.java b/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/resource/VmwareResource.java index c79c023..e40badd 100644 --- a/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/resource/VmwareResource.java +++ b/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/resource/VmwareResource.java @@ -370,7 +370,7 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa protected String _password; protected String _guid; protected String _vCenterAddress; - protected String storageNfsVersion; + protected Integer storageNfsVersion; protected String _privateNetworkVSwitchName; protected VmwareTrafficLabel _guestTrafficInfo = new VmwareTrafficLabel(TrafficType.Guest); diff --git a/plugins/hypervisors/vmware/src/main/java/com/cloud/storage/resource/PremiumSecondaryStorageResource.java b/plugins/hypervisors/vmware/src/main/java/com/cloud/storage/resource/PremiumSecondaryStorageResource.java index e2aff4c..fd89cc7 100644 --- a/plugins/hypervisors/vmware/src/main/java/com/cloud/storage/resource/PremiumSecondaryStorageResource.java +++ b/plugins/hypervisors/vmware/src/main/java/com/cloud/storage/resource/PremiumSecondaryStorageResource.java @@ -102,7 +102,7 @@ public class PremiumSecondaryStorageResource extends NfsSecondaryStorageResource VmwareSecondaryStorageContextFactory.initFactoryEnvironment(); } - String nfsVersion = NfsSecondaryStorageResource.retrieveNfsVersionFromParams(params); + Integer nfsVersion = NfsSecondaryStorageResource.retrieveNfsVersionFromParams(params); registerHandler(Hypervisor.HypervisorType.VMware, new VmwareSecondaryStorageResourceHandler(this, nfsVersion)); return true; } diff --git a/plugins/hypervisors/vmware/src/main/java/com/cloud/storage/resource/VmwareSecondaryStorageResourceHandler.java b/plugins/hypervisors/vmware/src/main/java/com/cloud/storage/resource/VmwareSecondaryStorageResourceHandler.java index b58253d..ff00f55 100644 --- a/plugins/hypervisors/vmware/src/main/java/com/cloud/storage/resource/VmwareSecondaryStorageResourceHandler.java +++ b/plugins/hypervisors/vmware/src/main/java/com/cloud/storage/resource/VmwareSecondaryStorageResourceHandler.java @@ -66,7 +66,7 @@ public class VmwareSecondaryStorageResourceHandler implements SecondaryStorageRe * private Map<String, HostMO> _activeHosts = new HashMap<String, HostMO>(); */ - public VmwareSecondaryStorageResourceHandler(PremiumSecondaryStorageResource resource, String nfsVersion) { + public VmwareSecondaryStorageResourceHandler(PremiumSecondaryStorageResource resource, Integer nfsVersion) { _resource = resource; _storageMgr = new VmwareStorageManagerImpl(this, nfsVersion); _gson = GsonHelper.getGsonLogger(); @@ -307,7 +307,7 @@ public class VmwareSecondaryStorageResourceHandler implements SecondaryStorageRe } @Override - public String getMountPoint(String storageUrl, String nfsVersion) { + public String getMountPoint(String storageUrl, Integer nfsVersion) { return _resource.getRootDir(storageUrl, nfsVersion); } } diff --git a/plugins/hypervisors/vmware/src/main/java/com/cloud/storage/resource/VmwareStorageProcessor.java b/plugins/hypervisors/vmware/src/main/java/com/cloud/storage/resource/VmwareStorageProcessor.java index e5fae17..796db94 100644 --- a/plugins/hypervisors/vmware/src/main/java/com/cloud/storage/resource/VmwareStorageProcessor.java +++ b/plugins/hypervisors/vmware/src/main/java/com/cloud/storage/resource/VmwareStorageProcessor.java @@ -154,11 +154,11 @@ public class VmwareStorageProcessor implements StorageProcessor { protected Integer _shutdownWaitMs; private final Gson _gson; private final StorageLayer _storage = new JavaStorageLayer(); - private String _nfsVersion; + private Integer _nfsVersion; private static final Random RANDOM = new Random(System.nanoTime()); public VmwareStorageProcessor(VmwareHostService hostService, boolean fullCloneFlag, VmwareStorageMount mountService, Integer timeout, VmwareResource resource, - Integer shutdownWaitMs, PremiumSecondaryStorageResource storageResource, String nfsVersion) { + Integer shutdownWaitMs, PremiumSecondaryStorageResource storageResource, Integer nfsVersion) { this.hostService = hostService; _fullCloneFlag = fullCloneFlag; this.mountService = mountService; @@ -479,7 +479,7 @@ public class VmwareStorageProcessor implements StorageProcessor { private Pair<VirtualMachineMO, Long> copyTemplateFromSecondaryToPrimary(VmwareHypervisorHost hyperHost, DatastoreMO datastoreMo, String secondaryStorageUrl, String templatePathAtSecondaryStorage, String templateName, String templateUuid, - boolean createSnapshot, String nfsVersion) throws Exception { + boolean createSnapshot, Integer nfsVersion) throws Exception { s_logger.info("Executing copyTemplateFromSecondaryToPrimary. secondaryStorage: " + secondaryStorageUrl + ", templatePathAtSecondaryStorage: " + templatePathAtSecondaryStorage + ", templateName: " + templateName); @@ -892,7 +892,7 @@ public class VmwareStorageProcessor implements StorageProcessor { } private Pair<String, String> copyVolumeFromSecStorage(VmwareHypervisorHost hyperHost, String srcVolumePath, DatastoreMO dsMo, String secStorageUrl, - long wait, String nfsVersion) throws Exception { + long wait, Integer nfsVersion) throws Exception { String volumeFolder; String volumeName; String sufix = ".ova"; @@ -911,7 +911,7 @@ public class VmwareStorageProcessor implements StorageProcessor { return new Pair<>(volumeFolder, newVolume); } - private String deleteVolumeDirOnSecondaryStorage(String volumeDir, String secStorageUrl, String nfsVersion) throws Exception { + private String deleteVolumeDirOnSecondaryStorage(String volumeDir, String secStorageUrl, Integer nfsVersion) throws Exception { String secondaryMountPoint = mountService.getMountPoint(secStorageUrl, nfsVersion); String volumeMountRoot = secondaryMountPoint + File.separator + volumeDir; @@ -1098,7 +1098,7 @@ public class VmwareStorageProcessor implements StorageProcessor { } private Ternary<String, Long, Long> createTemplateFromVolume(VirtualMachineMO vmMo, String installPath, long templateId, String templateUniqueName, - String secStorageUrl, String volumePath, String workerVmName, String nfsVersion) throws Exception { + String secStorageUrl, String volumePath, String workerVmName, Integer nfsVersion) throws Exception { String secondaryMountPoint = mountService.getMountPoint(secStorageUrl, nfsVersion); String installFullPath = secondaryMountPoint + "/" + installPath; @@ -1263,7 +1263,7 @@ public class VmwareStorageProcessor implements StorageProcessor { } private Ternary<String, Long, Long> createTemplateFromSnapshot(String installPath, String templateUniqueName, String secStorageUrl, String snapshotPath, - Long templateId, long wait, String nfsVersion) throws Exception { + Long templateId, long wait, Integer nfsVersion) throws Exception { //Snapshot path is decoded in this form: /snapshots/account/volumeId/uuid/uuid String backupSSUuid; String snapshotFolder; @@ -1669,7 +1669,7 @@ public class VmwareStorageProcessor implements StorageProcessor { // return Pair<String(divice bus name), String[](disk chain)> private Pair<String, String[]> exportVolumeToSecondaryStorage(VirtualMachineMO vmMo, String volumePath, String secStorageUrl, String secStorageDir, - String exportName, String workerVmName, String nfsVersion, boolean clonedWorkerVMNeeded) throws Exception { + String exportName, String workerVmName, Integer nfsVersion, boolean clonedWorkerVMNeeded) throws Exception { String secondaryMountPoint = mountService.getMountPoint(secStorageUrl, nfsVersion); String exportPath = secondaryMountPoint + "/" + secStorageDir + "/" + exportName; @@ -1718,7 +1718,7 @@ public class VmwareStorageProcessor implements StorageProcessor { // Ternary<String(backup uuid in secondary storage), String(device bus name), String[](original disk chain in the snapshot)> private Ternary<String, String, String[]> backupSnapshotToSecondaryStorage(VirtualMachineMO vmMo, String installPath, String volumePath, String snapshotUuid, String secStorageUrl, String prevSnapshotUuid, String prevBackupUuid, String workerVmName, - String nfsVersion) throws Exception { + Integer nfsVersion) throws Exception { String backupUuid = UUID.randomUUID().toString(); Pair<String, String[]> snapshotInfo = exportVolumeToSecondaryStorage(vmMo, volumePath, secStorageUrl, installPath, backupUuid, workerVmName, nfsVersion, true); @@ -3382,7 +3382,7 @@ public class VmwareStorageProcessor implements StorageProcessor { } private Long restoreVolumeFromSecStorage(VmwareHypervisorHost hyperHost, DatastoreMO primaryDsMo, String newVolumeName, String secStorageUrl, String secStorageDir, - String backupName, long wait, String nfsVersion) throws Exception { + String backupName, long wait, Integer nfsVersion) throws Exception { String secondaryMountPoint = mountService.getMountPoint(secStorageUrl, null); String srcOVAFileName; @@ -3540,7 +3540,7 @@ public class VmwareStorageProcessor implements StorageProcessor { return DiskControllerType.lsilogic.toString(); } - void setNfsVersion(String nfsVersion){ + void setNfsVersion(Integer nfsVersion){ this._nfsVersion = nfsVersion; s_logger.debug("VmwareProcessor instance now using NFS version: " + nfsVersion); } diff --git a/plugins/hypervisors/vmware/src/main/java/com/cloud/storage/resource/VmwareStorageSubsystemCommandHandler.java b/plugins/hypervisors/vmware/src/main/java/com/cloud/storage/resource/VmwareStorageSubsystemCommandHandler.java index 122a034..02ae2fe 100644 --- a/plugins/hypervisors/vmware/src/main/java/com/cloud/storage/resource/VmwareStorageSubsystemCommandHandler.java +++ b/plugins/hypervisors/vmware/src/main/java/com/cloud/storage/resource/VmwareStorageSubsystemCommandHandler.java @@ -47,7 +47,7 @@ public class VmwareStorageSubsystemCommandHandler extends StorageSubsystemComman private static final Logger s_logger = Logger.getLogger(VmwareStorageSubsystemCommandHandler.class); private VmwareStorageManager storageManager; private PremiumSecondaryStorageResource storageResource; - private String _nfsVersion; + private Integer _nfsVersion; public PremiumSecondaryStorageResource getStorageResource() { return storageResource; @@ -65,7 +65,7 @@ public class VmwareStorageSubsystemCommandHandler extends StorageSubsystemComman this.storageManager = storageManager; } - public VmwareStorageSubsystemCommandHandler(StorageProcessor processor, String nfsVersion) { + public VmwareStorageSubsystemCommandHandler(StorageProcessor processor, Integer nfsVersion) { super(processor); this._nfsVersion = nfsVersion; } @@ -75,7 +75,7 @@ public class VmwareStorageSubsystemCommandHandler extends StorageSubsystemComman for (VmwareStorageProcessorConfigurableFields key : params.keySet()){ switch (key){ case NFS_VERSION: - String nfsVersion = (String) params.get(key); + Integer nfsVersion = (Integer) params.get(key); processor.setNfsVersion(nfsVersion); this._nfsVersion = nfsVersion; break; diff --git a/plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/vmware/resource/VmwareResourceTest.java b/plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/vmware/resource/VmwareResourceTest.java index 3dc8d01..7cebaf1 100644 --- a/plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/vmware/resource/VmwareResourceTest.java +++ b/plugins/hypervisors/vmware/src/test/java/com/cloud/hypervisor/vmware/resource/VmwareResourceTest.java @@ -157,8 +157,8 @@ public class VmwareResourceTest { CopyCommand storageCmd; EnumMap<VmwareStorageProcessorConfigurableFields, Object> params = new EnumMap<VmwareStorageProcessorConfigurableFields,Object>(VmwareStorageProcessorConfigurableFields.class); - private static final String NFS_VERSION = "3"; - private static final String NFS_VERSION_NOT_PRESENT = null; + private static final Integer NFS_VERSION = Integer.valueOf(3); + private static final Integer NFS_VERSION_NOT_PRESENT = null; private static final long VRAM_MEMORY_SIZE = 131072l; private static final long VIDEO_CARD_MEMORY_SIZE = 65536l; private static final Boolean FULL_CLONE_FLAG = true; diff --git a/server/src/main/java/com/cloud/server/StatsCollector.java b/server/src/main/java/com/cloud/server/StatsCollector.java index 323b8a4..7c9fab9 100644 --- a/server/src/main/java/com/cloud/server/StatsCollector.java +++ b/server/src/main/java/com/cloud/server/StatsCollector.java @@ -996,7 +996,7 @@ public class StatsCollector extends ManagerBase implements ComponentMethodInterc continue; } - String nfsVersion = imageStoreDetailsUtil.getNfsVersion(store.getId()); + Integer nfsVersion = imageStoreDetailsUtil.getNfsVersion(store.getId()); GetStorageStatsCommand command = new GetStorageStatsCommand(store.getTO(), nfsVersion); EndPoint ssAhost = _epSelector.select(store); if (ssAhost == null) { diff --git a/server/src/main/java/com/cloud/storage/ImageStoreDetailsUtil.java b/server/src/main/java/com/cloud/storage/ImageStoreDetailsUtil.java index 1a4a246..3e27ce6 100755 --- a/server/src/main/java/com/cloud/storage/ImageStoreDetailsUtil.java +++ b/server/src/main/java/com/cloud/storage/ImageStoreDetailsUtil.java @@ -42,10 +42,11 @@ public class ImageStoreDetailsUtil { * Retrieve global secondary storage NFS version default value * @return global default value */ - protected String getGlobalDefaultNfsVersion(){ + protected Integer getGlobalDefaultNfsVersion(){ ConfigurationVO globalNfsVersion = configurationDao.findByName(CapacityManager.ImageStoreNFSVersion.key()); Preconditions.checkState(globalNfsVersion != null, "Unable to find global NFS version for version key " + CapacityManager.ImageStoreNFSVersion.key()); - return globalNfsVersion.getValue(); + String value = globalNfsVersion.getValue(); + return (value != null ? Integer.valueOf(value) : null); } /** * Obtain NFS protocol version (if provided) for a store id, if not use default config value<br/> @@ -53,11 +54,12 @@ public class ImageStoreDetailsUtil { * @return {@code null} if {@code secstorage.nfs.version} is not found for storeId <br/> * {@code X} if {@code secstorage.nfs.version} is found found for storeId */ - public String getNfsVersion(long storeId) throws NumberFormatException { + public Integer getNfsVersion(long storeId) throws NumberFormatException { final Map<String, String> storeDetails = imageStoreDetailsDao.getDetails(storeId); if (storeDetails != null && storeDetails.containsKey(CapacityManager.ImageStoreNFSVersion.key())) { - return storeDetails.get(CapacityManager.ImageStoreNFSVersion.key()); + final String version = storeDetails.get(CapacityManager.ImageStoreNFSVersion.key()); + return (version != null ? Integer.valueOf(version) : null); } return getGlobalDefaultNfsVersion(); @@ -66,11 +68,11 @@ public class ImageStoreDetailsUtil { /** * Obtain NFS protocol version (if provided) for a store uuid.<br/> - * @param storeUuid image store id + * @param resourceId image store id * @return {@code null} if {@code secstorage.nfs.version} is not found for storeUuid <br/> * {@code X} if {@code secstorage.nfs.version} is found found for storeUuid */ - public String getNfsVersionByUuid(String storeUuid){ + public Integer getNfsVersionByUuid(String storeUuid){ ImageStoreVO imageStore = imageStoreDao.findByUuid(storeUuid); if (imageStore != null){ return getNfsVersion(imageStore.getId()); diff --git a/server/src/main/java/org/apache/cloudstack/storage/NfsMountManager.java b/server/src/main/java/org/apache/cloudstack/storage/NfsMountManager.java index a4612e2..a4e413c 100644 --- a/server/src/main/java/org/apache/cloudstack/storage/NfsMountManager.java +++ b/server/src/main/java/org/apache/cloudstack/storage/NfsMountManager.java @@ -19,5 +19,5 @@ package org.apache.cloudstack.storage; public interface NfsMountManager { - String getMountPoint(String storageUrl, String nfsVersion); + String getMountPoint(String storageUrl, Integer nfsVersion); } diff --git a/server/src/main/java/org/apache/cloudstack/storage/NfsMountManagerImpl.java b/server/src/main/java/org/apache/cloudstack/storage/NfsMountManagerImpl.java index b6105d5..479ee12 100644 --- a/server/src/main/java/org/apache/cloudstack/storage/NfsMountManagerImpl.java +++ b/server/src/main/java/org/apache/cloudstack/storage/NfsMountManagerImpl.java @@ -60,7 +60,7 @@ public class NfsMountManagerImpl implements NfsMountManager { this.timeout = timeout; } - public String getMountPoint(String storageUrl, String nfsVersion) { + public String getMountPoint(String storageUrl, Integer nfsVersion) { String mountPoint = storageMounts.get(storageUrl); if (mountPoint != null) { return mountPoint; @@ -84,7 +84,7 @@ public class NfsMountManagerImpl implements NfsMountManager { return mountPoint; } - private String mount(String path, String parent, String nfsVersion) { + private String mount(String path, String parent, Integer nfsVersion) { String mountPoint = setupMountPoint(parent); if (mountPoint == null) { s_logger.warn("Unable to create a mount point"); diff --git a/server/src/test/java/com/cloud/storage/ImageStoreDetailsUtilTest.java b/server/src/test/java/com/cloud/storage/ImageStoreDetailsUtilTest.java index a294bb5..7efbe08 100755 --- a/server/src/test/java/com/cloud/storage/ImageStoreDetailsUtilTest.java +++ b/server/src/test/java/com/cloud/storage/ImageStoreDetailsUtilTest.java @@ -37,8 +37,8 @@ public class ImageStoreDetailsUtilTest { private final static long STORE_ID = 1l; private final static String STORE_UUID = "aaaa-aaaa-aaaa-aaaa"; - private final static String NFS_VERSION = "3"; - private final static String NFS_VERSION_DEFAULT = "2"; + private final static Integer NFS_VERSION = 3; + private final static Integer NFS_VERSION_DEFAULT = 2; ImageStoreDetailsUtil imageStoreDetailsUtil = new ImageStoreDetailsUtil(); @@ -69,7 +69,7 @@ public class ImageStoreDetailsUtilTest { @Test public void testGetNfsVersion(){ - String nfsVersion = imageStoreDetailsUtil.getNfsVersion(STORE_ID); + Integer nfsVersion = imageStoreDetailsUtil.getNfsVersion(STORE_ID); assertEquals(NFS_VERSION, nfsVersion); } @@ -79,7 +79,7 @@ public class ImageStoreDetailsUtilTest { imgStoreDetails.put("other.prop", "propValue"); when(imgStoreDetailsDao.getDetails(STORE_ID)).thenReturn(imgStoreDetails); - String nfsVersion = imageStoreDetailsUtil.getNfsVersion(STORE_ID); + Integer nfsVersion = imageStoreDetailsUtil.getNfsVersion(STORE_ID); assertEquals(NFS_VERSION_DEFAULT, nfsVersion); } @@ -88,26 +88,26 @@ public class ImageStoreDetailsUtilTest { Map<String, String> imgStoreDetails = new HashMap<String, String>(); when(imgStoreDetailsDao.getDetails(STORE_ID)).thenReturn(imgStoreDetails); - String nfsVersion = imageStoreDetailsUtil.getNfsVersion(STORE_ID); + Integer nfsVersion = imageStoreDetailsUtil.getNfsVersion(STORE_ID); assertEquals(NFS_VERSION_DEFAULT, nfsVersion); } @Test public void testGetNfsVersionByUuid(){ - String nfsVersion = imageStoreDetailsUtil.getNfsVersionByUuid(STORE_UUID); + Integer nfsVersion = imageStoreDetailsUtil.getNfsVersionByUuid(STORE_UUID); assertEquals(NFS_VERSION, nfsVersion); } @Test public void testGetNfsVersionByUuidNoImgStore(){ when(imgStoreDao.findByUuid(STORE_UUID)).thenReturn(null); - String nfsVersion = imageStoreDetailsUtil.getNfsVersionByUuid(STORE_UUID); + Integer nfsVersion = imageStoreDetailsUtil.getNfsVersionByUuid(STORE_UUID); assertEquals(NFS_VERSION_DEFAULT, nfsVersion); } @Test public void testGetGlobalDefaultNfsVersion(){ - String globalDefaultNfsVersion = imageStoreDetailsUtil.getGlobalDefaultNfsVersion(); + Integer globalDefaultNfsVersion = imageStoreDetailsUtil.getGlobalDefaultNfsVersion(); assertEquals(NFS_VERSION_DEFAULT, globalDefaultNfsVersion); } } diff --git a/services/secondary-storage/controller/src/main/java/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerImpl.java b/services/secondary-storage/controller/src/main/java/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerImpl.java index efa43cb..568aa1b 100644 --- a/services/secondary-storage/controller/src/main/java/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerImpl.java +++ b/services/secondary-storage/controller/src/main/java/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerImpl.java @@ -323,7 +323,7 @@ public class SecondaryStorageManagerImpl extends ManagerBase implements Secondar setupCmd = new SecStorageSetupCommand(ssStore.getTO(), secUrl, certs); } - String nfsVersion = imageStoreDetailsUtil.getNfsVersion(ssStore.getId()); + Integer nfsVersion = imageStoreDetailsUtil.getNfsVersion(ssStore.getId()); setupCmd.setNfsVersion(nfsVersion); //template/volume file upload key @@ -1203,7 +1203,7 @@ public class SecondaryStorageManagerImpl extends ManagerBase implements Secondar if (dc.getDns2() != null) { buf.append(" dns2=").append(dc.getDns2()); } - String nfsVersion = imageStoreDetailsUtil != null ? imageStoreDetailsUtil.getNfsVersion(secStore.getId()) : null; + Integer nfsVersion = imageStoreDetailsUtil != null ? imageStoreDetailsUtil.getNfsVersion(secStore.getId()) : null; buf.append(" nfsVersion=").append(nfsVersion); String bootArgs = buf.toString(); diff --git a/services/secondary-storage/server/src/main/java/org/apache/cloudstack/storage/resource/LocalNfsSecondaryStorageResource.java b/services/secondary-storage/server/src/main/java/org/apache/cloudstack/storage/resource/LocalNfsSecondaryStorageResource.java index 6f189ef..c02fe8a 100644 --- a/services/secondary-storage/server/src/main/java/org/apache/cloudstack/storage/resource/LocalNfsSecondaryStorageResource.java +++ b/services/secondary-storage/server/src/main/java/org/apache/cloudstack/storage/resource/LocalNfsSecondaryStorageResource.java @@ -53,7 +53,7 @@ public class LocalNfsSecondaryStorageResource extends NfsSecondaryStorageResourc } @Override - synchronized public String getRootDir(String secUrl, String nfsVersion) { + synchronized public String getRootDir(String secUrl, Integer nfsVersion) { try { URI uri = new URI(secUrl); String dir = mountUri(uri, nfsVersion); @@ -66,7 +66,7 @@ public class LocalNfsSecondaryStorageResource extends NfsSecondaryStorageResourc } @Override - protected void mount(String localRootPath, String remoteDevice, URI uri, String nfsVersion) { + protected void mount(String localRootPath, String remoteDevice, URI uri, Integer nfsVersion) { ensureLocalRootPathExists(localRootPath, uri); if (mountExists(localRootPath, uri)) { diff --git a/services/secondary-storage/server/src/main/java/org/apache/cloudstack/storage/resource/LocalSecondaryStorageResource.java b/services/secondary-storage/server/src/main/java/org/apache/cloudstack/storage/resource/LocalSecondaryStorageResource.java index d953338..c6f6ba8 100644 --- a/services/secondary-storage/server/src/main/java/org/apache/cloudstack/storage/resource/LocalSecondaryStorageResource.java +++ b/services/secondary-storage/server/src/main/java/org/apache/cloudstack/storage/resource/LocalSecondaryStorageResource.java @@ -72,7 +72,7 @@ public class LocalSecondaryStorageResource extends ServerResourceBase implements } @Override - public String getRootDir(String url, String nfsVersion) { + public String getRootDir(String url, Integer nfsVersion) { return getRootDir(); } diff --git a/services/secondary-storage/server/src/main/java/org/apache/cloudstack/storage/resource/NfsSecondaryStorageResource.java b/services/secondary-storage/server/src/main/java/org/apache/cloudstack/storage/resource/NfsSecondaryStorageResource.java index 7e25296..b453b17 100644 --- a/services/secondary-storage/server/src/main/java/org/apache/cloudstack/storage/resource/NfsSecondaryStorageResource.java +++ b/services/secondary-storage/server/src/main/java/org/apache/cloudstack/storage/resource/NfsSecondaryStorageResource.java @@ -232,7 +232,7 @@ public class NfsSecondaryStorageResource extends ServerResourceBase implements S private String _storageIp; private String _storageNetmask; private String _storageGateway; - private String _nfsVersion; + private Integer _nfsVersion; private final List<String> nfsIps = new ArrayList<String>(); protected String _parent = "/mnt/SecStorage"; final private String _tmpltpp = "template.properties"; @@ -262,8 +262,18 @@ public class NfsSecondaryStorageResource extends ServerResourceBase implements S * @param params * @return nfsVersion value if exists, null in other case */ - public static String retrieveNfsVersionFromParams(Map<String, Object> params) { - return (String)params.get("nfsVersion"); + public static Integer retrieveNfsVersionFromParams(Map<String, Object> params) { + Integer nfsVersion = null; + if (params.get("nfsVersion") != null) { + String nfsVersionParam = (String)params.get("nfsVersion"); + try { + nfsVersion = Integer.valueOf(nfsVersionParam); + } catch (NumberFormatException e){ + s_logger.error("Couldn't cast " + nfsVersionParam + " to integer"); + return null; + } + } + return nfsVersion; } @Override @@ -955,7 +965,7 @@ public class NfsSecondaryStorageResource extends ServerResourceBase implements S return new CopyCmdAnswer(""); } - protected File getFile(String path, String nfsPath, String nfsVersion) { + protected File getFile(String path, String nfsPath, Integer nfsVersion) { String filePath = getRootDir(nfsPath, nfsVersion) + File.separator + path; File f = new File(filePath); if (!f.exists()) { @@ -1087,7 +1097,7 @@ public class NfsSecondaryStorageResource extends ServerResourceBase implements S return Long.parseLong(StringUtils.substringAfterLast(StringUtils.substringBeforeLast(key, S3Utils.SEPARATOR), S3Utils.SEPARATOR)); } - private String determineStorageTemplatePath(final String storagePath, String dataPath, String nfsVersion) { + private String determineStorageTemplatePath(final String storagePath, String dataPath, Integer nfsVersion) { return join(asList(getRootDir(storagePath, nfsVersion), dataPath), File.separator); } @@ -2434,7 +2444,7 @@ public class NfsSecondaryStorageResource extends ServerResourceBase implements S } @Override - synchronized public String getRootDir(String secUrl, String nfsVersion) { + synchronized public String getRootDir(String secUrl, Integer nfsVersion) { if (!_inSystemVM) { return _parent; } @@ -2776,7 +2786,7 @@ public class NfsSecondaryStorageResource extends ServerResourceBase implements S * @return name of folder in _parent that device was mounted. * @throws UnknownHostException */ - protected String mountUri(URI uri, String nfsVersion) throws UnknownHostException { + protected String mountUri(URI uri, Integer nfsVersion) throws UnknownHostException { String uriHostIp = getUriHostIp(uri); String nfsPath = uriHostIp + ":" + uri.getPath(); @@ -2797,7 +2807,7 @@ public class NfsSecondaryStorageResource extends ServerResourceBase implements S return dir; } - protected void mount(String localRootPath, String remoteDevice, URI uri, String nfsVersion) { + protected void mount(String localRootPath, String remoteDevice, URI uri, Integer nfsVersion) { s_logger.debug("mount " + uri.toString() + " on " + localRootPath + ((nfsVersion != null) ? " nfsVersion=" + nfsVersion : "")); ensureLocalRootPathExists(localRootPath, uri); @@ -2813,7 +2823,7 @@ public class NfsSecondaryStorageResource extends ServerResourceBase implements S checkForVolumesDir(localRootPath); } - protected void attemptMount(String localRootPath, String remoteDevice, URI uri, String nfsVersion) { + protected void attemptMount(String localRootPath, String remoteDevice, URI uri, Integer nfsVersion) { String result; s_logger.debug("Make cmdline call to mount " + remoteDevice + " at " + localRootPath + " based on uri " + uri + ((nfsVersion != null) ? " nfsVersion=" + nfsVersion : "")); Script command = new Script(!_inSystemVM, "mount", _timeout, s_logger); diff --git a/services/secondary-storage/server/src/main/java/org/apache/cloudstack/storage/resource/SecondaryStorageResource.java b/services/secondary-storage/server/src/main/java/org/apache/cloudstack/storage/resource/SecondaryStorageResource.java index 3c24b6c..d7e0c7e 100644 --- a/services/secondary-storage/server/src/main/java/org/apache/cloudstack/storage/resource/SecondaryStorageResource.java +++ b/services/secondary-storage/server/src/main/java/org/apache/cloudstack/storage/resource/SecondaryStorageResource.java @@ -23,6 +23,6 @@ import com.cloud.resource.ServerResource; */ public interface SecondaryStorageResource extends ServerResource { - String getRootDir(String cmd, String nfsVersion); + String getRootDir(String cmd, Integer nfsVersion); } diff --git a/services/secondary-storage/server/src/main/java/org/apache/cloudstack/storage/template/DownloadManagerImpl.java b/services/secondary-storage/server/src/main/java/org/apache/cloudstack/storage/template/DownloadManagerImpl.java index c31bc9b..e41c8b3 100644 --- a/services/secondary-storage/server/src/main/java/org/apache/cloudstack/storage/template/DownloadManagerImpl.java +++ b/services/secondary-storage/server/src/main/java/org/apache/cloudstack/storage/template/DownloadManagerImpl.java @@ -94,7 +94,7 @@ public class DownloadManagerImpl extends ManagerBase implements DownloadManager StorageLayer _storage; public Map<String, Processor> _processors; private long _processTimeout; - private String _nfsVersion; + private Integer _nfsVersion; public class Completion implements DownloadCompleteCallback { private final String jobId;
