From 03028c4086b0cc191045e94a9aa75dfdcf861778 Mon Sep 17 00:00:00 2001 From: anthony Date: Wed, 16 May 2012 17:18:36 -0700 Subject: [PATCH] CS-14237 GC commands only sent to UP host resolved fixed --- .../cloud/template/TemplateManagerImpl.java | 29 ++++++++++--------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/server/src/com/cloud/template/TemplateManagerImpl.java b/server/src/com/cloud/template/TemplateManagerImpl.java index 1b648a040c7..adc7a416137 100755 --- a/server/src/com/cloud/template/TemplateManagerImpl.java +++ b/server/src/com/cloud/template/TemplateManagerImpl.java @@ -903,26 +903,27 @@ public class TemplateManagerImpl implements TemplateManager, Manager, TemplateSe StoragePoolVO pool = _poolDao.findById(templatePoolVO.getPoolId()); VMTemplateVO template = _tmpltDao.findByIdIncludingRemoved(templatePoolVO.getTemplateId()); - long hostId; - List poolHostVOs = _poolHostDao.listByPoolId(pool.getId()); - if (poolHostVOs.isEmpty()) { - return; - } else { - hostId = poolHostVOs.get(0).getHostId(); - } if (s_logger.isDebugEnabled()) { s_logger.debug("Evicting " + templatePoolVO); } DestroyCommand cmd = new DestroyCommand(pool, templatePoolVO); - Answer answer = _agentMgr.easySend(hostId, cmd); - if (answer != null && answer.getResult()) { - // Remove the templatePoolVO - if (_tmpltPoolDao.remove(templatePoolVO.getId())) { - s_logger.debug("Successfully evicted template: " + template.getName() + " from storage pool: " + pool.getName()); - } - } + try { + Answer answer = _storageMgr.sendToPool(pool, cmd); + + if (answer != null && answer.getResult()) { + // Remove the templatePoolVO + if (_tmpltPoolDao.remove(templatePoolVO.getId())) { + s_logger.debug("Successfully evicted template: " + template.getName() + " from storage pool: " + pool.getName()); + } + } else { + s_logger.info("Will retry evicte template: " + template.getName() + " from storage pool: " + pool.getName()); + } + } catch (StorageUnavailableException e) { + s_logger.info("Storage is unavailable currently. Will retry evicte template: " + template.getName() + " from storage pool: " + pool.getName()); + } + } void swiftTemplateSync() {