package org.ovirt.engine.core.vdsbroker.irsbroker; import org.ovirt.engine.core.compat.*; import org.ovirt.engine.core.common.*; import org.ovirt.engine.core.common.businessentities.*; import org.ovirt.engine.core.vdsbroker.*; import org.ovirt.engine.core.common.errors.*; import org.ovirt.engine.core.common.vdscommands.*; import org.ovirt.engine.core.dal.dbbroker.*; public class ResetIrsVDSCommand<P extends ResetIrsVDSCommandParameters> extends IrsBrokerCommand<P> { public ResetIrsVDSCommand(P parameters) { super(parameters); } @Override protected void ExecuteVDSCommand() { P parameters = getParameters(); if (StringHelper.EqOp(parameters.getHostName(), getCurrentIrsProxyData().getmCurrentIrsHost()) || StringHelper.isNullOrEmpty(getCurrentIrsProxyData().getmCurrentIrsHost())) { Guid vdsId = parameters.getVdsId(); if (ResourceManager .getInstance() .runVdsCommand(VDSCommandType.SpmStop, new SpmStopVDSCommandParameters(vdsId, parameters.getStoragePoolId())).getSucceeded() || parameters.getIgnoreStopFailed()) { getCurrentIrsProxyData().ResetIrs(); storage_pool pool = DbFacade.getInstance().getStoragePoolDAO().get(parameters.getStoragePoolId()); if (pool != null && (pool.getstatus() == StoragePoolStatus.NotOperational)) { ResourceManager .getInstance() .getEventListener() .StoragePoolStatusChange(parameters.getStoragePoolId(), StoragePoolStatus.Problematic, AuditLogType.SYSTEM_CHANGE_STORAGE_POOL_STATUS_RESET_IRS, VdcBllErrors.ENGINE); } } else { getVDSReturnValue().setSucceeded(false); } } } }