mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
fix CLOUDSTACK-1700
This commit is contained in:
parent
dedec164e8
commit
4edef1fd30
@ -262,6 +262,7 @@ import com.xensource.xenapi.SR;
|
||||
import com.xensource.xenapi.Session;
|
||||
import com.xensource.xenapi.Task;
|
||||
import com.xensource.xenapi.Types;
|
||||
import com.xensource.xenapi.Types.BadAsyncResult;
|
||||
import com.xensource.xenapi.Types.BadServerResponse;
|
||||
import com.xensource.xenapi.Types.ConsoleProtocol;
|
||||
import com.xensource.xenapi.Types.IpConfigurationMode;
|
||||
@ -6452,7 +6453,16 @@ public abstract class CitrixResourceBase implements ServerResource, HypervisorRe
|
||||
success = true;
|
||||
return new CreateVMSnapshotAnswer(cmd, cmd.getTarget(), cmd.getVolumeTOs());
|
||||
} catch (Exception e) {
|
||||
String msg = e.getMessage();
|
||||
String msg = "";
|
||||
if(e instanceof BadAsyncResult){
|
||||
String licenseKeyWord = "LICENCE_RESTRICTION";
|
||||
BadAsyncResult errorResult = (BadAsyncResult)e;
|
||||
if(errorResult.shortDescription != null && errorResult.shortDescription.contains(licenseKeyWord)){
|
||||
msg = licenseKeyWord;
|
||||
}
|
||||
}else{
|
||||
msg = e.getMessage();
|
||||
}
|
||||
s_logger.error("Creating VM Snapshot " + cmd.getTarget().getSnapshotName() + " failed due to: " + msg);
|
||||
return new CreateVMSnapshotAnswer(cmd, false, msg);
|
||||
} finally {
|
||||
|
||||
@ -446,6 +446,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
||||
vmSnapshotResponse.setParentName(ApiDBUtils.getVMSnapshotById(vmSnapshot.getParent()).getDisplayName());
|
||||
vmSnapshotResponse.setCurrent(vmSnapshot.getCurrent());
|
||||
vmSnapshotResponse.setType(vmSnapshot.getType().toString());
|
||||
vmSnapshotResponse.setObjectName("vmsnapshot");
|
||||
return vmSnapshotResponse;
|
||||
}
|
||||
|
||||
|
||||
@ -367,9 +367,13 @@ public class VMSnapshotManagerImpl extends ManagerBase implements VMSnapshotMana
|
||||
processAnswer(vmSnapshot, userVm, answer, hostId);
|
||||
s_logger.debug("Create vm snapshot " + vmSnapshot.getName() + " succeeded for vm: " + userVm.getInstanceName());
|
||||
}else{
|
||||
String errMsg = answer.getDetails();
|
||||
s_logger.error("Agent reports creating vm snapshot " + vmSnapshot.getName() + " failed for vm: " + userVm.getInstanceName() + " due to " + errMsg);
|
||||
|
||||
String errMsg = "Creating VM snapshot: " + vmSnapshot.getName() + " failed";
|
||||
if(answer != null && answer.getDetails() != null)
|
||||
errMsg = errMsg + " due to " + answer.getDetails();
|
||||
s_logger.error(errMsg);
|
||||
vmSnapshotStateTransitTo(vmSnapshot, VMSnapshot.Event.OperationFailed);
|
||||
throw new CloudRuntimeException(errMsg);
|
||||
}
|
||||
return vmSnapshot;
|
||||
} catch (Exception e) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user