mirror of https://github.com/apache/cloudstack.git
Merge branch '4.16' into main
This commit is contained in:
commit
99313f8eae
|
|
@ -214,7 +214,7 @@ public class KvmNonManagedStorageDataMotionStrategy extends StorageSystemDataMot
|
|||
Answer copyCommandAnswer = sendCopyCommand(destHost, sourceTemplate, destTemplate, destDataStore);
|
||||
|
||||
if (copyCommandAnswer != null && copyCommandAnswer.getResult()) {
|
||||
updateTemplateReferenceIfSuccessfulCopy(srcVolumeInfo, srcStoragePool, destTemplateInfo, destDataStore);
|
||||
updateTemplateReferenceIfSuccessfulCopy(srcVolumeInfo.getTemplateId(), destTemplateInfo.getUuid(), destDataStore.getId(), destTemplate.getSize());
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
|
@ -225,15 +225,14 @@ public class KvmNonManagedStorageDataMotionStrategy extends StorageSystemDataMot
|
|||
/**
|
||||
* Update the template reference on table "template_spool_ref" (VMTemplateStoragePoolVO).
|
||||
*/
|
||||
protected void updateTemplateReferenceIfSuccessfulCopy(VolumeInfo srcVolumeInfo, StoragePool srcStoragePool, TemplateInfo destTemplateInfo, DataStore destDataStore) {
|
||||
VMTemplateStoragePoolVO srcVolumeTemplateStoragePoolVO = vmTemplatePoolDao.findByPoolTemplate(srcStoragePool.getId(), srcVolumeInfo.getTemplateId(), null);
|
||||
VMTemplateStoragePoolVO destVolumeTemplateStoragePoolVO = new VMTemplateStoragePoolVO(destDataStore.getId(), srcVolumeInfo.getTemplateId(), null);
|
||||
protected void updateTemplateReferenceIfSuccessfulCopy(long templateId, String destTemplateInfoUuid, long destDataStoreId, long templateSize) {
|
||||
VMTemplateStoragePoolVO destVolumeTemplateStoragePoolVO = new VMTemplateStoragePoolVO(destDataStoreId, templateId, null);
|
||||
destVolumeTemplateStoragePoolVO.setDownloadPercent(100);
|
||||
destVolumeTemplateStoragePoolVO.setDownloadState(VMTemplateStorageResourceAssoc.Status.DOWNLOADED);
|
||||
destVolumeTemplateStoragePoolVO.setState(ObjectInDataStoreStateMachine.State.Ready);
|
||||
destVolumeTemplateStoragePoolVO.setTemplateSize(srcVolumeTemplateStoragePoolVO.getTemplateSize());
|
||||
destVolumeTemplateStoragePoolVO.setLocalDownloadPath(destTemplateInfo.getUuid());
|
||||
destVolumeTemplateStoragePoolVO.setInstallPath(destTemplateInfo.getUuid());
|
||||
destVolumeTemplateStoragePoolVO.setTemplateSize(templateSize);
|
||||
destVolumeTemplateStoragePoolVO.setLocalDownloadPath(destTemplateInfoUuid);
|
||||
destVolumeTemplateStoragePoolVO.setInstallPath(destTemplateInfoUuid);
|
||||
vmTemplatePoolDao.persist(destVolumeTemplateStoragePoolVO);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -375,8 +375,8 @@ public class KvmNonManagedStorageSystemDataMotionTest {
|
|||
Mockito.when(templateDataFactory.getTemplate(Mockito.anyLong(), Mockito.eq(sourceTemplateDataStore))).thenReturn(sourceTemplateInfo);
|
||||
Mockito.when(templateDataFactory.getTemplate(Mockito.anyLong(), Mockito.eq(destDataStore))).thenReturn(sourceTemplateInfo);
|
||||
kvmNonManagedStorageDataMotionStrategy.copyTemplateToTargetFilesystemStorageIfNeeded(srcVolumeInfo, srcStoragePool, destDataStore, destStoragePool, destHost);
|
||||
Mockito.lenient().doNothing().when(kvmNonManagedStorageDataMotionStrategy).updateTemplateReferenceIfSuccessfulCopy(Mockito.any(VolumeInfo.class), Mockito.any(StoragePool.class),
|
||||
Mockito.any(TemplateInfo.class), Mockito.any(DataStore.class));
|
||||
Mockito.lenient().doNothing().when(kvmNonManagedStorageDataMotionStrategy).updateTemplateReferenceIfSuccessfulCopy(Mockito.anyLong(), Mockito.anyString(),
|
||||
Mockito.anyLong(), Mockito.anyLong());
|
||||
|
||||
InOrder verifyInOrder = Mockito.inOrder(vmTemplatePoolDao, dataStoreManagerImpl, templateDataFactory, kvmNonManagedStorageDataMotionStrategy);
|
||||
verifyInOrder.verify(vmTemplatePoolDao, Mockito.times(1)).findByPoolTemplate(Mockito.anyLong(), Mockito.anyLong(), nullable(String.class));
|
||||
|
|
|
|||
|
|
@ -22,5 +22,5 @@ export function isAdmin () {
|
|||
}
|
||||
|
||||
export function isAdminOrDomainAdmin () {
|
||||
return ['Admin', 'DomainAdmin'].includes(this.$store.getters.userInfo.roletype)
|
||||
return ['Admin', 'DomainAdmin'].includes(store.getters.userInfo.roletype)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -248,8 +248,7 @@ export default {
|
|||
description: this.resource.name,
|
||||
successMethod: result => {
|
||||
if (this.action.api === 'deleteDomain') {
|
||||
this.$set(this.resource, 'isDel', true)
|
||||
this.parentUpdActionData(this.resource)
|
||||
this.parentFetchData()
|
||||
}
|
||||
if (this.action.response) {
|
||||
const description = this.action.response(result.jobresult)
|
||||
|
|
|
|||
Loading…
Reference in New Issue