mirror of https://github.com/apache/cloudstack.git
bug 10271: don't include removed records when search for local storage pool
status 10217: resolved fixed
This commit is contained in:
parent
8c9fe2ec71
commit
c48c3edfbc
|
|
@ -592,7 +592,7 @@ public class AgentManagerImpl implements AgentManager, HandlerFactory, Manager {
|
|||
|
||||
AgentAttache attache = findAttache(hostId);
|
||||
// Get storage pool host mappings here because they can be removed as a part of handleDisconnect later
|
||||
List<StoragePoolHostVO> pools = _storagePoolHostDao.listByHostId(hostId);
|
||||
List<StoragePoolHostVO> pools = _storagePoolHostDao.listByHostIdIncludingRemoved(hostId);
|
||||
|
||||
try {
|
||||
|
||||
|
|
|
|||
|
|
@ -4174,7 +4174,7 @@ public class ManagementServerImpl implements ManagementServer {
|
|||
public boolean checkIfMaintenable(long hostId) {
|
||||
|
||||
// get the poolhostref record
|
||||
List<StoragePoolHostVO> poolHostRecordSet = _poolHostDao.listByHostId(hostId);
|
||||
List<StoragePoolHostVO> poolHostRecordSet = _poolHostDao.listByHostIdIncludingRemoved(hostId);
|
||||
|
||||
if (poolHostRecordSet != null) {
|
||||
// the above list has only 1 record
|
||||
|
|
|
|||
|
|
@ -1446,7 +1446,7 @@ public class StorageManagerImpl implements StorageManager, StorageService, Manag
|
|||
|
||||
@Override
|
||||
public boolean delPoolFromHost(long hostId) {
|
||||
List<StoragePoolHostVO> poolHosts = _poolHostDao.listByHostId(hostId);
|
||||
List<StoragePoolHostVO> poolHosts = _poolHostDao.listByHostIdIncludingRemoved(hostId);
|
||||
for (StoragePoolHostVO poolHost : poolHosts) {
|
||||
s_logger.debug("Deleting pool " + poolHost.getPoolId() + " from host " + hostId);
|
||||
_poolHostDao.remove(poolHost.getId());
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ import com.cloud.utils.db.GenericDao;
|
|||
public interface StoragePoolHostDao extends GenericDao<StoragePoolHostVO, Long> {
|
||||
public List<StoragePoolHostVO> listByPoolId(long id);
|
||||
|
||||
public List<StoragePoolHostVO> listByHostId(long hostId);
|
||||
public List<StoragePoolHostVO> listByHostIdIncludingRemoved(long hostId);
|
||||
|
||||
public StoragePoolHostVO findByPoolHost(long poolId, long hostId);
|
||||
|
||||
|
|
@ -39,4 +39,6 @@ public interface StoragePoolHostDao extends GenericDao<StoragePoolHostVO, Long>
|
|||
public void deletePrimaryRecordsForHost(long hostId);
|
||||
|
||||
public void deleteStoragePoolHostDetails(long hostId, long poolId);
|
||||
|
||||
List<StoragePoolHostVO> listByHostId(long hostId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -78,11 +78,18 @@ public class StoragePoolHostDaoImpl extends GenericDaoBase<StoragePoolHostVO, Lo
|
|||
}
|
||||
|
||||
@Override
|
||||
public List<StoragePoolHostVO> listByHostId(long hostId) {
|
||||
public List<StoragePoolHostVO> listByHostIdIncludingRemoved(long hostId) {
|
||||
SearchCriteria<StoragePoolHostVO> sc = HostSearch.create();
|
||||
sc.setParameters("host_id", hostId);
|
||||
return listIncludingRemovedBy(sc);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<StoragePoolHostVO> listByHostId(long hostId) {
|
||||
SearchCriteria<StoragePoolHostVO> sc = HostSearch.create();
|
||||
sc.setParameters("host_id", hostId);
|
||||
return listBy(sc);
|
||||
}
|
||||
|
||||
@Override
|
||||
public StoragePoolHostVO findByPoolHost(long poolId, long hostId) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue