diff --git a/core/src/com/cloud/storage/dao/VMTemplateDao.java b/core/src/com/cloud/storage/dao/VMTemplateDao.java index 0f8dca9562c..1ad9510a3cc 100644 --- a/core/src/com/cloud/storage/dao/VMTemplateDao.java +++ b/core/src/com/cloud/storage/dao/VMTemplateDao.java @@ -70,5 +70,6 @@ public interface VMTemplateDao extends GenericDao { public List listAllInZone(long dataCenterId); public List listByHypervisorType(HypervisorType hyperType); + public List xenToolsIsoSearch(); } diff --git a/core/src/com/cloud/storage/dao/VMTemplateDaoImpl.java b/core/src/com/cloud/storage/dao/VMTemplateDaoImpl.java index c351f1ff453..ef0b8d5eea0 100755 --- a/core/src/com/cloud/storage/dao/VMTemplateDaoImpl.java +++ b/core/src/com/cloud/storage/dao/VMTemplateDaoImpl.java @@ -68,7 +68,8 @@ public class VMTemplateDaoImpl extends GenericDaoBase implem protected SearchBuilder TmpltsInZoneSearch; private SearchBuilder PublicSearch; private SearchBuilder NameAccountIdSearch; - + private SearchBuilder XenToolsIsoSearch; + private String routerTmpltName; private String consoleProxyTmpltName; @@ -103,6 +104,13 @@ public class VMTemplateDaoImpl extends GenericDaoBase implem return findOneBy(sc); } + @Override + public List xenToolsIsoSearch(){ + SearchCriteria sc = XenToolsIsoSearch.create(); + sc.setParameters("name", "xs-tools.iso"); + return listBy(sc); + } + @Override public List listAllRoutingTemplates() { SearchCriteria sc = tmpltTypeSearch.create(); @@ -184,6 +192,8 @@ public class VMTemplateDaoImpl extends GenericDaoBase implem NameAccountIdSearch.and("name", NameAccountIdSearch.entity().getName(), SearchCriteria.Op.EQ); NameAccountIdSearch.and("accountId", NameAccountIdSearch.entity().getAccountId(), SearchCriteria.Op.EQ); + XenToolsIsoSearch = createSearchBuilder(); + XenToolsIsoSearch.and("name", XenToolsIsoSearch.entity().getName(), SearchCriteria.Op.EQ); tmpltTypeHyperSearch = createSearchBuilder(); tmpltTypeHyperSearch.and("templateType", tmpltTypeHyperSearch.entity().getTemplateType(), SearchCriteria.Op.EQ); @@ -287,6 +297,11 @@ public class VMTemplateDaoImpl extends GenericDaoBase implem } else { templates.add(tmplt); } + } + + if(isIso && (account.getType() == Account.ACCOUNT_TYPE_NORMAL)){ + List xenToolsIso = xenToolsIsoSearch(); + templates.addAll(xenToolsIso); } } catch (Exception e) { s_logger.warn("Error listing templates", e);