Repository: cloudstack Updated Branches: refs/heads/hotfix/4.4-6905 [created] 9800b9f07
CLOUDSTACK-7295: VMs is Stopped state have no host ID, resulting in NPE Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/9800b9f0 Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/9800b9f0 Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/9800b9f0 Branch: refs/heads/hotfix/4.4-6905 Commit: 9800b9f07a5b887da93661c12441e0d5f99fd717 Parents: 9a7cdc0 Author: amoghvk <amogh.vase...@citrix.com> Authored: Mon Aug 11 14:53:02 2014 -0700 Committer: amoghvk <amogh.vase...@citrix.com> Committed: Mon Aug 11 14:56:07 2014 -0700 ---------------------------------------------------------------------- .../vmware/src/com/cloud/hypervisor/guru/VMwareGuru.java | 7 +++++-- .../xen/src/com/cloud/hypervisor/XenServerGuru.java | 7 +++++-- server/src/com/cloud/hypervisor/KVMGuru.java | 7 +++++-- server/src/com/cloud/hypervisor/LXCGuru.java | 7 +++++-- 4 files changed, 20 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9800b9f0/plugins/hypervisors/vmware/src/com/cloud/hypervisor/guru/VMwareGuru.java ---------------------------------------------------------------------- diff --git a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/guru/VMwareGuru.java b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/guru/VMwareGuru.java index f82c2c1..8a04910 100644 --- a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/guru/VMwareGuru.java +++ b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/guru/VMwareGuru.java @@ -314,8 +314,11 @@ public class VMwareGuru extends HypervisorGuruBase implements HypervisorGuru, Co to.setOs(guestOS.getDisplayName()); to.setHostName(vm.getHostName()); HostVO host = _hostDao.findById(vm.getVirtualMachine().getHostId()); - GuestOSHypervisorVO guestOsMapping = _guestOsHypervisorDao.findByOsIdAndHypervisor(guestOS.getId(), getHypervisorType().toString(), host.getHypervisorVersion()); - if (guestOsMapping == null) { + GuestOSHypervisorVO guestOsMapping = null; + if (host != null) { + guestOsMapping = _guestOsHypervisorDao.findByOsIdAndHypervisor(guestOS.getId(), getHypervisorType().toString(), host.getHypervisorVersion()); + } + if (guestOsMapping == null || host == null) { to.setPlatformEmulator(null); } else { to.setPlatformEmulator(guestOsMapping.getGuestOsName()); http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9800b9f0/plugins/hypervisors/xen/src/com/cloud/hypervisor/XenServerGuru.java ---------------------------------------------------------------------- diff --git a/plugins/hypervisors/xen/src/com/cloud/hypervisor/XenServerGuru.java b/plugins/hypervisors/xen/src/com/cloud/hypervisor/XenServerGuru.java index 3f950d6..5f8b031 100644 --- a/plugins/hypervisors/xen/src/com/cloud/hypervisor/XenServerGuru.java +++ b/plugins/hypervisors/xen/src/com/cloud/hypervisor/XenServerGuru.java @@ -92,8 +92,11 @@ public class XenServerGuru extends HypervisorGuruBase implements HypervisorGuru GuestOSVO guestOS = _guestOsDao.findByIdIncludingRemoved(vm.getVirtualMachine().getGuestOSId()); to.setOs(guestOS.getDisplayName()); HostVO host = hostDao.findById(vm.getVirtualMachine().getHostId()); - GuestOSHypervisorVO guestOsMapping = _guestOsHypervisorDao.findByOsIdAndHypervisor(guestOS.getId(), getHypervisorType().toString(), host.getHypervisorVersion()); - if (guestOsMapping == null) { + GuestOSHypervisorVO guestOsMapping = null; + if (host != null) { + guestOsMapping = _guestOsHypervisorDao.findByOsIdAndHypervisor(guestOS.getId(), getHypervisorType().toString(), host.getHypervisorVersion()); + } + if (guestOsMapping == null || host == null) { to.setPlatformEmulator(null); } else { to.setPlatformEmulator(guestOsMapping.getGuestOsName()); http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9800b9f0/server/src/com/cloud/hypervisor/KVMGuru.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/hypervisor/KVMGuru.java b/server/src/com/cloud/hypervisor/KVMGuru.java index f000a1a..b6a7651 100644 --- a/server/src/com/cloud/hypervisor/KVMGuru.java +++ b/server/src/com/cloud/hypervisor/KVMGuru.java @@ -60,8 +60,11 @@ public class KVMGuru extends HypervisorGuruBase implements HypervisorGuru { GuestOSVO guestOS = _guestOsDao.findByIdIncludingRemoved(vm.getVirtualMachine().getGuestOSId()); to.setOs(guestOS.getDisplayName()); HostVO host = _hostDao.findById(vm.getVirtualMachine().getHostId()); - GuestOSHypervisorVO guestOsMapping = _guestOsHypervisorDao.findByOsIdAndHypervisor(guestOS.getId(), getHypervisorType().toString(), host.getHypervisorVersion()); - if (guestOsMapping == null) { + GuestOSHypervisorVO guestOsMapping = null; + if (host != null) { + guestOsMapping = _guestOsHypervisorDao.findByOsIdAndHypervisor(guestOS.getId(), getHypervisorType().toString(), host.getHypervisorVersion()); + } + if (guestOsMapping == null || host == null) { to.setPlatformEmulator("Other"); } else { to.setPlatformEmulator(guestOsMapping.getGuestOsName()); http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9800b9f0/server/src/com/cloud/hypervisor/LXCGuru.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/hypervisor/LXCGuru.java b/server/src/com/cloud/hypervisor/LXCGuru.java index 7283ac5..46989d9 100644 --- a/server/src/com/cloud/hypervisor/LXCGuru.java +++ b/server/src/com/cloud/hypervisor/LXCGuru.java @@ -56,8 +56,11 @@ public class LXCGuru extends HypervisorGuruBase implements HypervisorGuru { to.setOs(guestOS.getDisplayName()); HostVO host = _hostDao.findById(vm.getVirtualMachine().getHostId()); - GuestOSHypervisorVO guestOsMapping = _guestOsHypervisorDao.findByOsIdAndHypervisor(guestOS.getId(), getHypervisorType().toString(), host.getHypervisorVersion()); - if (guestOsMapping == null) { + GuestOSHypervisorVO guestOsMapping = null; + if (host != null) { + guestOsMapping = _guestOsHypervisorDao.findByOsIdAndHypervisor(guestOS.getId(), getHypervisorType().toString(), host.getHypervisorVersion()); + } + if (guestOsMapping == null || host == null) { to.setPlatformEmulator("Other"); } else { to.setPlatformEmulator(guestOsMapping.getGuestOsName());