Skip to content

Commit 9ce63f9

Browse files
committed
fix iso and hypervisor type
1 parent dfbbc49 commit 9ce63f9

File tree

2 files changed

+15
-8
lines changed

2 files changed

+15
-8
lines changed

server/src/main/java/com/cloud/vm/UserVmManagerImpl.java

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6246,11 +6246,11 @@ public UserVm createVirtualMachine(DeployVMCmd cmd) throws InsufficientCapacityE
62466246
networkIds = new ArrayList<>(userVmNetworkMap.values());
62476247
}
62486248

6249-
return createVirtualMachine(cmd, zone, owner, serviceOffering, template, diskOfferingId, cmd.getSize(), overrideDiskOfferingId, dataDiskOfferingsInfo, networkIds, cmd.getIpToNetworkMap());
6249+
return createVirtualMachine(cmd, zone, owner, serviceOffering, template, cmd.getHypervisor(), diskOfferingId, cmd.getSize(), overrideDiskOfferingId, dataDiskOfferingsInfo, networkIds, cmd.getIpToNetworkMap());
62506250
}
62516251

62526252
private UserVm createVirtualMachine(BaseDeployVMCmd cmd, DataCenter zone, Account owner, ServiceOffering serviceOffering, VirtualMachineTemplate template,
6253-
Long diskOfferingId, Long size, Long overrideDiskOfferingId, List<DiskOfferingInfo> dataDiskOfferingsInfo,
6253+
HypervisorType hypervisor, Long diskOfferingId, Long size, Long overrideDiskOfferingId, List<DiskOfferingInfo> dataDiskOfferingsInfo,
62546254
List<Long> networkIds, Map<Long, IpAddresses> ipToNetworkMap) throws InsufficientCapacityException, ResourceUnavailableException, ConcurrentOperationException, ResourceAllocationException {
62556255

62566256
ServiceOfferingJoinVO svcOffering = serviceOfferingJoinDao.findById(serviceOffering.getId());
@@ -6306,15 +6306,15 @@ private UserVm createVirtualMachine(BaseDeployVMCmd cmd, DataCenter zone, Accoun
63066306
throw new InvalidParameterValueException("Can't specify network Ids in Basic zone");
63076307
} else {
63086308
vm = createBasicSecurityGroupVirtualMachine(zone, serviceOffering, template, getSecurityGroupIdList(cmd, zone, template, owner), owner, name, displayName, diskOfferingId,
6309-
size , dataDiskOfferingsInfo, group , cmd.getHypervisor(), cmd.getHttpMethod(), userData, userDataId, userDataDetails, sshKeyPairNames, ipToNetworkMap, addrs, displayVm , keyboard , cmd.getAffinityGroupIdList(),
6309+
size , dataDiskOfferingsInfo, group , hypervisor, cmd.getHttpMethod(), userData, userDataId, userDataDetails, sshKeyPairNames, ipToNetworkMap, addrs, displayVm , keyboard , cmd.getAffinityGroupIdList(),
63106310
cmd.getDetails(), cmd.getCustomId(), cmd.getDhcpOptionsMap(),
63116311
dataDiskTemplateToDiskOfferingMap, userVmOVFProperties, dynamicScalingEnabled, overrideDiskOfferingId);
63126312
}
63136313
} else {
63146314
if (_networkModel.checkSecurityGroupSupportForNetwork(owner, zone, networkIds,
63156315
cmd.getSecurityGroupIdList())) {
63166316
vm = createAdvancedSecurityGroupVirtualMachine(zone, serviceOffering, template, networkIds, getSecurityGroupIdList(cmd, zone, template, owner), owner, name,
6317-
displayName, diskOfferingId, size, dataDiskOfferingsInfo, group, cmd.getHypervisor(), cmd.getHttpMethod(), userData, userDataId, userDataDetails, sshKeyPairNames, ipToNetworkMap, addrs, displayVm, keyboard,
6317+
displayName, diskOfferingId, size, dataDiskOfferingsInfo, group, hypervisor, cmd.getHttpMethod(), userData, userDataId, userDataDetails, sshKeyPairNames, ipToNetworkMap, addrs, displayVm, keyboard,
63186318
cmd.getAffinityGroupIdList(), cmd.getDetails(), cmd.getCustomId(), cmd.getDhcpOptionsMap(),
63196319
dataDiskTemplateToDiskOfferingMap, userVmOVFProperties, dynamicScalingEnabled, overrideDiskOfferingId, null);
63206320

@@ -6323,7 +6323,7 @@ private UserVm createVirtualMachine(BaseDeployVMCmd cmd, DataCenter zone, Accoun
63236323
throw new InvalidParameterValueException("Can't create vm with security groups; security group feature is not enabled per zone");
63246324
}
63256325
vm = createAdvancedVirtualMachine(zone, serviceOffering, template, networkIds, owner, name, displayName, diskOfferingId, size, dataDiskOfferingsInfo, group,
6326-
cmd.getHypervisor(), cmd.getHttpMethod(), userData, userDataId, userDataDetails, sshKeyPairNames, ipToNetworkMap, addrs, displayVm, keyboard, cmd.getAffinityGroupIdList(), cmd.getDetails(),
6326+
hypervisor, cmd.getHttpMethod(), userData, userDataId, userDataDetails, sshKeyPairNames, ipToNetworkMap, addrs, displayVm, keyboard, cmd.getAffinityGroupIdList(), cmd.getDetails(),
63276327
cmd.getCustomId(), cmd.getDhcpOptionsMap(), dataDiskTemplateToDiskOfferingMap, userVmOVFProperties, dynamicScalingEnabled, null, overrideDiskOfferingId);
63286328
if (cmd instanceof DeployVnfApplianceCmd) {
63296329
vnfTemplateManager.createIsolatedNetworkRulesForVnfAppliance(zone, template, owner, vm, (DeployVnfApplianceCmd) cmd);
@@ -9429,7 +9429,7 @@ public UserVm allocateVMFromBackup(CreateVMFromBackupCmd cmd) throws Insufficien
94299429
size = cmd.getSize();
94309430
}
94319431

9432-
return createVirtualMachine(cmd, zone, owner, serviceOffering, template, diskOfferingId, size, overrideDiskOfferingId, dataDiskOfferingsInfo, networkIds, ipToNetworkMap);
9432+
return createVirtualMachine(cmd, zone, owner, serviceOffering, template, hypervisorType, diskOfferingId, size, overrideDiskOfferingId, dataDiskOfferingsInfo, networkIds, ipToNetworkMap);
94339433
}
94349434

94359435
@Override
@@ -9450,9 +9450,16 @@ public UserVm restoreVMFromBackup(CreateVMFromBackupCmd cmd) throws ResourceUnav
94509450
throw new CloudRuntimeException("Unable to stop the instance before restore");
94519451
}
94529452

9453+
Long isoId = vm.getIsoId();
9454+
if (isoId != null) {
9455+
UserVmVO vmVO = _vmDao.findById(vmId);
9456+
vmVO.setIsoId(null);
9457+
_vmDao.update(vm.getId(), vmVO);
9458+
}
9459+
94539460
backupManager.restoreBackupToVM(cmd.getBackupId(), vmId);
94549461

9455-
} catch (Exception e) {
9462+
} catch (CloudRuntimeException e) {
94569463
UserVmVO vmVO = _vmDao.findById(vmId);
94579464
try {
94589465
expunge(vmVO);

server/src/main/java/org/apache/cloudstack/backup/BackupManagerImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1180,7 +1180,7 @@ public boolean restoreBackupToVM(final Long backupId, final Long vmId) throws Re
11801180
if (!backupProvider.restoreBackupToVM(vm, backup, host, dataStore)) {
11811181
throw new CloudRuntimeException(String.format("Error restoring backup [%s] to VM %s.", backupDetailsInMessage, vm.getUuid()));
11821182
}
1183-
} catch (CloudRuntimeException e) {
1183+
} catch (Exception e) {
11841184
updateVolumeState(vm, Volume.Event.RestoreFailed, Volume.State.Ready);
11851185
updateVmState(vm, VirtualMachine.Event.RestoringFailed, VirtualMachine.State.Stopped);
11861186
logger.error(String.format("Failed to restore backup [%s] to VM %s due to: [%s].", backupDetailsInMessage, vm.getInstanceName(), e.getMessage()), e);

0 commit comments

Comments
 (0)