diff --git a/core/src/com/cloud/server/ManagementServer.java b/core/src/com/cloud/server/ManagementServer.java index d3d781b2716..ab380004dfe 100644 --- a/core/src/com/cloud/server/ManagementServer.java +++ b/core/src/com/cloud/server/ManagementServer.java @@ -2188,4 +2188,5 @@ public interface ManagementServer { boolean checkIfMaintenable(long hostId); Map listCapabilities(); + GuestOSCategoryVO getGuestOsCategory(Long guestOsId); } diff --git a/server/src/com/cloud/api/commands/ListVMsCmd.java b/server/src/com/cloud/api/commands/ListVMsCmd.java index e8d3bc2eee5..0a61217a95c 100644 --- a/server/src/com/cloud/api/commands/ListVMsCmd.java +++ b/server/src/com/cloud/api/commands/ListVMsCmd.java @@ -33,6 +33,8 @@ import com.cloud.domain.DomainVO; import com.cloud.host.HostVO; import com.cloud.server.Criteria; import com.cloud.service.ServiceOfferingVO; +import com.cloud.storage.GuestOSCategoryVO; +import com.cloud.storage.GuestOSVO; import com.cloud.storage.VMTemplateVO; import com.cloud.user.Account; import com.cloud.uservm.UserVm; @@ -178,6 +180,7 @@ public class ListVMsCmd extends BaseCmd { vmData.add(new Pair(BaseCmd.Properties.NAME.getName(), vmInstance.getName())); vmData.add(new Pair(BaseCmd.Properties.CREATED.getName(), getDateString(vmInstance.getCreated()))); vmData.add(new Pair(BaseCmd.Properties.IP_ADDRESS.getName(), vmInstance.getPrivateIpAddress())); + if (vmInstance.getState() != null) { vmData.add(new Pair(BaseCmd.Properties.STATE.getName(), vmInstance.getState().toString())); } @@ -258,7 +261,9 @@ public class ListVMsCmd extends BaseCmd { vmData.add(new Pair(BaseCmd.Properties.NETWORK_KB_WRITE.getName(), networkKbWrite)); } - vmData.add(new Pair(BaseCmd.Properties.OS_TYPE_ID.getName(),vmInstance.getGuestOSId())); + GuestOSCategoryVO guestOsCategory = getManagementServer().getGuestOsCategory(vmInstance.getGuestOSId()); + if(guestOsCategory!=null) + vmData.add(new Pair(BaseCmd.Properties.OS_TYPE_ID.getName(),guestOsCategory.getId())); //network groups vmData.add(new Pair(BaseCmd.Properties.NETWORK_GROUP_LIST.getName(), getManagementServer().getNetworkGroupsNamesForVm(vmInstance.getId()))); diff --git a/server/src/com/cloud/server/ManagementServerImpl.java b/server/src/com/cloud/server/ManagementServerImpl.java index 65761af9c6f..3c65b3033e3 100644 --- a/server/src/com/cloud/server/ManagementServerImpl.java +++ b/server/src/com/cloud/server/ManagementServerImpl.java @@ -8632,6 +8632,10 @@ public class ManagementServerImpl implements ManagementServer { return capabilities; } - + @Override + public GuestOSCategoryVO getGuestOsCategory(Long guestOsId) + { + return _guestOSCategoryDao.findById(guestOsId); + } }