Merge pull request #1361 from nvazquez/bothgoals CLOUDSTACK-9252: Support configurable NFS version for Secondary Storage mountsJIRA Ticket: https://issues.apache.org/jira/browse/CLOUDSTACK-9252
### Description of the problem After starting secondary storage VM, secondary storage tries to be mounted but fails with error: <code>Protocol family not supported</code> It was found out that adding <code>-o vers=X</code> to mount command it would work, where <code>X</code> is the desired NFS version to use. If it is desired to mount a store with a specific NFS version, it has passed in <code>image_store_details</code> table for a store with id <code>Y</code> as a property: | store_id| name| value | |:-------------:|:-------------:|:-------------:| |Y|nfs.version|X (e.g. 3)| Where X stands for NFS version * pr/1361: CLOUDSTACK-9252: Last refactor, passing nfs version to ssvm CLOUDSTACK-9252: Add missing licence header CLOUDSTACK-9252: Little refactor CLOUDSTACK-9252: Mock application context for unit test CLOUDSTACK-9252: Add unit tests CLOUDSTACK-9252: New refactor CLOUDSTACK-9252: Remove static dependencies, refactor CLOUDSTACK-9252: Remove duplicates getNfsVersion, refactor CLOUDSTACK-9252: Support configurable nfs version CLOUDSTACK-9252: Add nfs version to commands Signed-off-by: Rafael Weingärtner <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/d705d852 Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/d705d852 Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/d705d852 Branch: refs/heads/master Commit: d705d85270cf29dbaf6460de9d381879ee20e1ae Parents: 8df8094 db3e18d Author: Rafael Weingärtner <[email protected]> Authored: Wed Feb 24 17:23:28 2016 -0300 Committer: Rafael Weingärtner <[email protected]> Committed: Wed Feb 24 17:23:28 2016 -0300 ---------------------------------------------------------------------- .../cloud/agent/api/BackupSnapshotCommand.java | 9 ++ ...reatePrivateTemplateFromSnapshotCommand.java | 9 ++ .../CreatePrivateTemplateFromVolumeCommand.java | 9 ++ .../api/CreateVolumeFromSnapshotCommand.java | 10 +++ .../cloud/agent/api/GetStorageStatsCommand.java | 14 +++ .../cloud/agent/api/SecStorageSetupCommand.java | 9 ++ .../agent/api/storage/CopyVolumeCommand.java | 9 ++ .../agent/api/storage/ListTemplateCommand.java | 10 +++ .../storage/PrimaryStorageDownloadCommand.java | 9 ++ .../TemplateOrVolumePostUploadCommand.java | 10 +++ ...spring-engine-storage-image-core-context.xml | 2 +- .../storage/image/TemplateServiceImpl.java | 5 +- .../MockLocalNfsSecondaryStorageResource.java | 2 +- .../core/spring-engine-storage-core-context.xml | 2 + .../cloud/resource/AgentStorageResource.java | 2 +- .../vmware/manager/VmwareManager.java | 4 +- .../vmware/manager/VmwareManagerImpl.java | 25 ++++-- .../manager/VmwareStorageManagerImpl.java | 73 ++++++++------- .../vmware/manager/VmwareStorageMount.java | 2 +- .../vmware/resource/VmwareResource.java | 22 +++-- .../PremiumSecondaryStorageResource.java | 2 +- .../VmwareSecondaryStorageResourceHandler.java | 12 +-- .../resource/VmwareStorageProcessor.java | 57 ++++++------ .../VmwareStorageSubsystemCommandHandler.java | 12 +-- .../vmware/VmwareDatacenterApiUnitTest.java | 30 +++++-- server/src/com/cloud/server/StatsCollector.java | 7 +- .../cloud/storage/ImageStoreDetailsUtil.java | 67 ++++++++++++++ .../storage/ImageStoreDetailsUtilTest.java | 95 ++++++++++++++++++++ .../SecondaryStorageManagerImpl.java | 9 +- .../LocalNfsSecondaryStorageResource.java | 8 +- .../resource/LocalSecondaryStorageResource.java | 2 +- .../resource/NfsSecondaryStorageResource.java | 78 ++++++++-------- .../resource/SecondaryStorageResource.java | 2 +- .../storage/template/DownloadManagerImpl.java | 5 +- .../NfsSecondaryStorageResourceTest.java | 2 +- 35 files changed, 481 insertions(+), 144 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/d705d852/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java ----------------------------------------------------------------------
