Search in sources :

Example 1 with LeaseVDSParameters

use of org.ovirt.engine.core.common.vdscommands.LeaseVDSParameters in project ovirt-engine by oVirt.

the class AddVmLeaseCommand method endSuccessfully.

@Override
protected void endSuccessfully() {
    // it would be nicer to get this as part of the tasks rather
    // than initiating another call to the host, this approach is
    // easier and backward compatible though
    VDSReturnValue retVal = null;
    try {
        retVal = runVdsCommand(VDSCommandType.GetVmLeaseInfo, new VmLeaseVDSParameters(getParameters().getStoragePoolId(), getParameters().getStorageDomainId(), getParameters().getVmId()));
    } catch (EngineException e) {
        log.error("Failure in getting lease info for VM {}, message: {}", getParameters().getVmId(), e.getMessage());
    }
    if (retVal == null || !retVal.getSucceeded()) {
        log.error("Failed to get info on the lease of VM {}", getParameters().getVmId());
        return;
    }
    vmDynamicDao.updateVmLeaseInfo(getParameters().getVmId(), (Map<String, String>) retVal.getReturnValue());
    if (getParameters().isHotPlugLease()) {
        boolean hotPlugSucceeded = false;
        try {
            hotPlugSucceeded = runVdsCommand(VDSCommandType.HotPlugLease, new LeaseVDSParameters(getParameters().getVdsId(), getParameters().getVmId(), getParameters().getStorageDomainId())).getSucceeded();
        } catch (EngineException e) {
            log.error("Failure in hot plugging a lease to VM {}, message: {}", getParameters().getVmId(), e.getMessage());
        }
        if (!hotPlugSucceeded) {
            setVmId(getParameters().getVmId());
            auditLog(this, AuditLogType.HOT_PLUG_LEASE_FAILED);
            getReturnValue().setEndActionTryAgain(false);
            setSucceeded(false);
            return;
        }
    }
    setSucceeded(true);
}
Also used : EngineException(org.ovirt.engine.core.common.errors.EngineException) LeaseVDSParameters(org.ovirt.engine.core.common.vdscommands.LeaseVDSParameters) VmLeaseVDSParameters(org.ovirt.engine.core.common.vdscommands.VmLeaseVDSParameters) VmLeaseVDSParameters(org.ovirt.engine.core.common.vdscommands.VmLeaseVDSParameters) VDSReturnValue(org.ovirt.engine.core.common.vdscommands.VDSReturnValue)

Aggregations

EngineException (org.ovirt.engine.core.common.errors.EngineException)1 LeaseVDSParameters (org.ovirt.engine.core.common.vdscommands.LeaseVDSParameters)1 VDSReturnValue (org.ovirt.engine.core.common.vdscommands.VDSReturnValue)1 VmLeaseVDSParameters (org.ovirt.engine.core.common.vdscommands.VmLeaseVDSParameters)1