package org.ovirt.engine.core.bll.storage; import org.ovirt.engine.core.compat.*; import org.ovirt.engine.core.bll.*; import org.ovirt.engine.core.common.businessentities.*; import org.ovirt.engine.core.common.vdscommands.*; import org.ovirt.engine.core.dal.dbbroker.*; public class RefreshStoragePoolAndDisconnectAsyncOperation extends ActivateDeactivateSingleAsyncOperation { public RefreshStoragePoolAndDisconnectAsyncOperation(java.util.ArrayList<VDS> vdss, storage_domains domain, storage_pool storagePool) { super(vdss, domain, storagePool); } @Override public void Execute(int iterationId) { try { Guid masterDomainIdFromDb = DbFacade.getInstance() .getStorageDomainDAO() .getMasterStorageDomainIdForPool(getStoragePool().getId()); Backend.getInstance() .getResourceManager() .RunVdsCommand( VDSCommandType.RefreshStoragePool, new RefreshStoragePoolVDSCommandParameters(getVdss().get(iterationId).getvds_id(), getStoragePool().getId(), masterDomainIdFromDb, getStoragePool() .getmaster_domain_version())); StorageHelperDirector.getInstance().getItem(getStorageDomain().getstorage_type()) .DisconnectStorageFromDomainByVdsId(getStorageDomain(), getVdss().get(iterationId).getvds_id()); } catch (RuntimeException e) { log.errorFormat("Failed to connect/refresh storagePool. Host {0} to storage pool {1}. Exception: {3}", getVdss().get(iterationId).getvds_name(), getStoragePool().getname(), e); } } private static LogCompat log = LogFactoryCompat.getLog(RefreshStoragePoolAndDisconnectAsyncOperation.class); }