public static void ProcessStorageOnVdsInactive(VDS vds) { // Clear the problematic timers since the VDS is in maintenance so it doesn't make sense to // check it // anymore. IrsBrokerCommand.clearVdsFromCache( vds.getstorage_pool_id(), vds.getvds_id(), vds.getvds_name()); if (!vds.getstorage_pool_id().equals(Guid.Empty) && StoragePoolStatus.Uninitialized != DbFacade.getInstance().getStoragePoolDAO().get(vds.getstorage_pool_id()).getstatus() && Backend.getInstance() .getResourceManager() .RunVdsCommand( VDSCommandType.DisconnectStoragePool, new DisconnectStoragePoolVDSCommandParameters( vds.getvds_id(), vds.getstorage_pool_id(), vds.getvds_spm_id())) .getSucceeded()) { StoragePoolParametersBase tempVar = new StoragePoolParametersBase(vds.getstorage_pool_id()); tempVar.setVdsId(vds.getvds_id()); tempVar.setTransactionScopeOption(TransactionScopeOption.RequiresNew); Backend.getInstance() .runInternalAction(VdcActionType.DisconnectHostFromStoragePoolServers, tempVar); } }