diff --git a/api/src/main/java/org/apache/cloudstack/api/response/HostResponse.java b/api/src/main/java/org/apache/cloudstack/api/response/HostResponse.java index fcf0870bcdd..1290af7f506 100644 --- a/api/src/main/java/org/apache/cloudstack/api/response/HostResponse.java +++ b/api/src/main/java/org/apache/cloudstack/api/response/HostResponse.java @@ -533,13 +533,6 @@ public class HostResponse extends BaseResponseWithAnnotations { detailsCopy.remove("username"); detailsCopy.remove("password"); - if (detailsCopy.containsKey(Host.HOST_UEFI_ENABLE)) { - this.setUefiCapabilty(Boolean.parseBoolean((String) detailsCopy.get(Host.HOST_UEFI_ENABLE))); - detailsCopy.remove(Host.HOST_UEFI_ENABLE); - } else { - this.setUefiCapabilty(new Boolean(false)); // in case of existing host which is not scanned for UEFI capability - } - this.details = detailsCopy; } diff --git a/server/src/main/java/com/cloud/api/query/dao/HostJoinDaoImpl.java b/server/src/main/java/com/cloud/api/query/dao/HostJoinDaoImpl.java index c4bb69f1290..7b52007e15e 100644 --- a/server/src/main/java/com/cloud/api/query/dao/HostJoinDaoImpl.java +++ b/server/src/main/java/com/cloud/api/query/dao/HostJoinDaoImpl.java @@ -23,6 +23,7 @@ import java.util.Date; import java.util.EnumSet; import java.util.Iterator; import java.util.List; +import java.util.Map; import java.util.Set; import javax.inject.Inject; @@ -230,10 +231,18 @@ public class HostJoinDaoImpl extends GenericDaoBase implements } } + Map hostDetails = hostDetailsDao.findDetails(host.getId()); + if (hostDetails != null) { + if (hostDetails.containsKey(Host.HOST_UEFI_ENABLE)) { + hostResponse.setUefiCapabilty(Boolean.parseBoolean((String) hostDetails.get(Host.HOST_UEFI_ENABLE))); + } else { + hostResponse.setUefiCapabilty(new Boolean(false)); + } + } if (details.contains(HostDetails.all) && host.getHypervisorType() == Hypervisor.HypervisorType.KVM) { //only kvm has the requirement to return host details try { - hostResponse.setDetails(hostDetailsDao.findDetails(host.getId())); + hostResponse.setDetails(hostDetails); } catch (Exception e) { s_logger.debug("failed to get host details", e); }