Skip to content

Commit 361bb23

Browse files
Srivastava, PiyushSrivastava, Piyush
authored andcommitted
test in-memory details for copycommand
1 parent 60d365a commit 361bb23

1 file changed

Lines changed: 4 additions & 11 deletions

File tree

engine/storage/volume/src/main/java/org/apache/cloudstack/storage/volume/VolumeServiceImpl.java

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1317,15 +1317,16 @@ private void createManagedVolumeCopyTemplateAsync(VolumeInfo volumeInfo, Primary
13171317
AsyncCallbackDispatcher<VolumeServiceImpl, CopyCommandResult> caller = AsyncCallbackDispatcher.create(this);
13181318

13191319
caller.setCallback(caller.getTarget().managedCopyBaseImageCallback(null, null)).setContext(context);
1320-
1320+
grantAccess(volumeInfo, destHost, primaryDataStore);
13211321
Map<String, String> details = new HashMap<>();
13221322

13231323
details.put(PrimaryDataStore.MANAGED, Boolean.TRUE.toString());
13241324
details.put(PrimaryDataStore.STORAGE_HOST, primaryDataStore.getHostAddress());
13251325
details.put(PrimaryDataStore.STORAGE_PORT, String.valueOf(primaryDataStore.getPort()));
13261326
// for managed storage, the storage repository (XenServer) or datastore (ESX) name is based off of the iScsiName property of a volume
1327-
details.put(PrimaryDataStore.MANAGED_STORE_TARGET, volumeInfo.get_iScsiName());
1328-
details.put(PrimaryDataStore.MANAGED_STORE_TARGET_ROOT_VOLUME, volumeInfo.getName());
1327+
// For Netapp ONTAP iscsiName or Lun path is available only after grantAccess
1328+
String managedStoreTarget = ObjectUtils.defaultIfNull(volumeInfo.get_iScsiName(), volumeInfo.getUuid());
1329+
details.put(PrimaryDataStore.MANAGED_STORE_TARGET, managedStoreTarget); details.put(PrimaryDataStore.MANAGED_STORE_TARGET_ROOT_VOLUME, volumeInfo.getName());
13291330
details.put(PrimaryDataStore.VOLUME_SIZE, String.valueOf(volumeInfo.getSize()));
13301331
details.put(StorageManager.STORAGE_POOL_DISK_WAIT.toString(), String.valueOf(StorageManager.STORAGE_POOL_DISK_WAIT.valueIn(primaryDataStore.getId())));
13311332

@@ -1339,14 +1340,6 @@ private void createManagedVolumeCopyTemplateAsync(VolumeInfo volumeInfo, Primary
13391340
}
13401341

13411342
primaryDataStore.setDetails(details);
1342-
1343-
grantAccess(volumeInfo, destHost, primaryDataStore);
1344-
volumeInfo = volFactory.getVolume(volumeInfo.getId(), primaryDataStore);
1345-
// For Netapp ONTAP iscsiName or Lun path is available only after grantAccess
1346-
String managedStoreTarget = ObjectUtils.defaultIfNull(volumeInfo.get_iScsiName(), volumeInfo.getUuid());
1347-
details.put(PrimaryDataStore.MANAGED_STORE_TARGET, managedStoreTarget);
1348-
primaryDataStore.setDetails(details);
1349-
13501343
try {
13511344
motionSrv.copyAsync(srcTemplateInfo, destTemplateInfo, destHost, caller);
13521345
} finally {

0 commit comments

Comments
 (0)