mirror of
https://github.com/apache/cloudstack.git
synced 2025-11-03 04:12:31 +01:00
Base folder creation on datstores restrict only to primary storages, for secondary storage datastore it is not required
This commit is contained in:
parent
48dd0dae07
commit
36d65905b1
@ -492,7 +492,7 @@ public class VmwareStorageManagerImpl implements VmwareStorageManager {
|
||||
|
||||
ManagedObjectReference morDatastore = HypervisorHostHelper.findDatastoreWithBackwardsCompatibility(hyperHost, poolTO.getUuid());
|
||||
if (morDatastore == null) {
|
||||
morDatastore = hyperHost.mountDatastore(false, poolTO.getHost(), 0, poolTO.getPath(), poolTO.getUuid().replace("-", ""));
|
||||
morDatastore = hyperHost.mountDatastore(false, poolTO.getHost(), 0, poolTO.getPath(), poolTO.getUuid().replace("-", ""), true);
|
||||
|
||||
if (morDatastore == null) {
|
||||
throw new Exception("Unable to mount storage pool on host. storeUrl: " + poolTO.getHost() + ":/" + poolTO.getPath());
|
||||
|
||||
@ -4424,7 +4424,7 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa
|
||||
// If datastore is NFS and target datastore is not already mounted on source host then mount the datastore.
|
||||
if (filerTo.getType().equals(StoragePoolType.NetworkFilesystem)) {
|
||||
if (morDsAtSource == null) {
|
||||
morDsAtSource = srcHyperHost.mountDatastore(false, tgtDsHost, tgtDsPort, tgtDsPath, tgtDsName);
|
||||
morDsAtSource = srcHyperHost.mountDatastore(false, tgtDsHost, tgtDsPort, tgtDsPath, tgtDsName, true);
|
||||
if (morDsAtSource == null) {
|
||||
throw new Exception("Unable to mount NFS datastore " + tgtDsHost + ":/" + tgtDsPath + " on " + _hostName);
|
||||
}
|
||||
@ -4929,7 +4929,7 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa
|
||||
ManagedObjectReference morDatastore = HypervisorHostHelper.findDatastoreWithBackwardsCompatibility(hyperHost, pool.getUuid());
|
||||
|
||||
if (morDatastore == null) {
|
||||
morDatastore = hyperHost.mountDatastore((pool.getType() == StoragePoolType.VMFS || pool.getType() == StoragePoolType.PreSetup), pool.getHost(), pool.getPort(), pool.getPath(), pool.getUuid().replace("-", ""));
|
||||
morDatastore = hyperHost.mountDatastore((pool.getType() == StoragePoolType.VMFS || pool.getType() == StoragePoolType.PreSetup), pool.getHost(), pool.getPort(), pool.getPath(), pool.getUuid().replace("-", ""), true);
|
||||
}
|
||||
|
||||
assert (morDatastore != null);
|
||||
@ -5149,7 +5149,7 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa
|
||||
URI uri = new URI(storeUrl);
|
||||
|
||||
VmwareHypervisorHost hyperHost = getHyperHost(getServiceContext());
|
||||
ManagedObjectReference morDatastore = hyperHost.mountDatastore(false, uri.getHost(), 0, uri.getPath(), storeName.replace("-", ""));
|
||||
ManagedObjectReference morDatastore = hyperHost.mountDatastore(false, uri.getHost(), 0, uri.getPath(), storeName.replace("-", ""), false);
|
||||
|
||||
if (morDatastore == null)
|
||||
throw new Exception("Unable to mount secondary storage on host. storeUrl: " + storeUrl);
|
||||
@ -5161,7 +5161,7 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa
|
||||
String storeName = getSecondaryDatastoreUUID(storeUrl);
|
||||
URI uri = new URI(storeUrl);
|
||||
|
||||
ManagedObjectReference morDatastore = hyperHost.mountDatastore(false, uri.getHost(), 0, uri.getPath(), storeName.replace("-", ""));
|
||||
ManagedObjectReference morDatastore = hyperHost.mountDatastore(false, uri.getHost(), 0, uri.getPath(), storeName.replace("-", ""), false);
|
||||
|
||||
if (morDatastore == null)
|
||||
throw new Exception("Unable to mount secondary storage on host. storeUrl: " + storeUrl);
|
||||
|
||||
@ -951,7 +951,7 @@ public class VmwareStorageProcessor implements StorageProcessor {
|
||||
if (morDatastore == null) {
|
||||
URI uri = new URI(destStore.getUrl());
|
||||
|
||||
morDatastore = hyperHost.mountDatastore(false, uri.getHost(), 0, uri.getPath(), destStore.getUuid().replace("-", ""));
|
||||
morDatastore = hyperHost.mountDatastore(false, uri.getHost(), 0, uri.getPath(), destStore.getUuid().replace("-", ""), true);
|
||||
|
||||
if (morDatastore == null) {
|
||||
throw new Exception("Unable to mount storage pool on host. storeUrl: " + uri.getHost() + ":/" + uri.getPath());
|
||||
@ -2142,7 +2142,7 @@ public class VmwareStorageProcessor implements StorageProcessor {
|
||||
URI uri = new URI(storeUrl);
|
||||
|
||||
VmwareHypervisorHost hyperHost = hostService.getHyperHost(hostService.getServiceContext(null), null);
|
||||
ManagedObjectReference morDatastore = hyperHost.mountDatastore(false, uri.getHost(), 0, uri.getPath(), storeName.replace("-", ""));
|
||||
ManagedObjectReference morDatastore = hyperHost.mountDatastore(false, uri.getHost(), 0, uri.getPath(), storeName.replace("-", ""), false);
|
||||
|
||||
if (morDatastore == null) {
|
||||
throw new Exception("Unable to mount secondary storage on host. storeUrl: " + storeUrl);
|
||||
|
||||
@ -423,7 +423,7 @@ public class ClusterMO extends BaseMO implements VmwareHypervisorHost {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ManagedObjectReference mountDatastore(boolean vmfsDatastore, String poolHostAddress, int poolHostPort, String poolPath, String poolUuid) throws Exception {
|
||||
public ManagedObjectReference mountDatastore(boolean vmfsDatastore, String poolHostAddress, int poolHostPort, String poolPath, String poolUuid, boolean createBaseFolder) throws Exception {
|
||||
|
||||
if (s_logger.isTraceEnabled())
|
||||
s_logger.trace("vCenter API trace - mountDatastore(). target MOR: " + _mor.getValue() + ", vmfs: " + vmfsDatastore + ", poolHost: " + poolHostAddress +
|
||||
@ -435,7 +435,7 @@ public class ClusterMO extends BaseMO implements VmwareHypervisorHost {
|
||||
if (hosts != null && hosts.size() > 0) {
|
||||
for (ManagedObjectReference morHost : hosts) {
|
||||
HostMO hostMo = new HostMO(_context, morHost);
|
||||
morDs = hostMo.mountDatastore(vmfsDatastore, poolHostAddress, poolHostPort, poolPath, poolUuid);
|
||||
morDs = hostMo.mountDatastore(vmfsDatastore, poolHostAddress, poolHostPort, poolPath, poolUuid, true);
|
||||
if (morDsFirst == null)
|
||||
morDsFirst = morDs;
|
||||
|
||||
|
||||
@ -836,7 +836,7 @@ public class HostMO extends BaseMO implements VmwareHypervisorHost {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ManagedObjectReference mountDatastore(boolean vmfsDatastore, String poolHostAddress, int poolHostPort, String poolPath, String poolUuid) throws Exception {
|
||||
public ManagedObjectReference mountDatastore(boolean vmfsDatastore, String poolHostAddress, int poolHostPort, String poolPath, String poolUuid, boolean createBaseFolder) throws Exception {
|
||||
|
||||
if (s_logger.isTraceEnabled())
|
||||
s_logger.trace("vCenter API trace - mountDatastore(). target MOR: " + _mor.getValue() + ", vmfs: " + vmfsDatastore + ", poolHost: " + poolHostAddress +
|
||||
@ -889,7 +889,7 @@ public class HostMO extends BaseMO implements VmwareHypervisorHost {
|
||||
}
|
||||
}
|
||||
|
||||
if (dsMo != null && !"StoragePod".equals(morDatastore.getType())) {
|
||||
if (dsMo != null && !"StoragePod".equals(morDatastore.getType()) && createBaseFolder) {
|
||||
HypervisorHostHelper.createBaseFolderInDatastore(dsMo, this);
|
||||
}
|
||||
|
||||
|
||||
@ -71,7 +71,7 @@ public interface VmwareHypervisorHost {
|
||||
|
||||
ObjectContent[] getDatastorePropertiesOnHyperHost(String[] propertyPaths) throws Exception;
|
||||
|
||||
ManagedObjectReference mountDatastore(boolean vmfsDatastore, String poolHostAddress, int poolHostPort, String poolPath, String poolUuid) throws Exception;
|
||||
ManagedObjectReference mountDatastore(boolean vmfsDatastore, String poolHostAddress, int poolHostPort, String poolPath, String poolUuid, boolean createBaseFolder) throws Exception;
|
||||
|
||||
void unmountDatastore(String poolUuid) throws Exception;
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user