Instances on Apache CloudStack using KVM hypervisor are not detected as virtual machines
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Landscape Client |
Fix Committed
|
High
|
Simon Poirier | ||
landscape-client (Ubuntu) |
Fix Released
|
Medium
|
Simon Poirier | ||
Trusty |
Fix Released
|
Undecided
|
Unassigned | ||
Xenial |
Fix Released
|
Undecided
|
Unassigned | ||
Artful |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[Impact]
* This issue affects users of Apache Cloudstack instances by failing to
detect the hypervisor type and reporting the clients as running on
a physical machine instead of on KVM.
* This fix extends dmi vendor mapping, so that clouds customizing sys_vendor
chassis_vendor or bios_vendor values (e.g. CloudStack, DigitalOcean)
still get detected as KVM instances.
[Test Case]
The issue can be reproduced on libvirt/kvm.
uvt-kvm create vm
virsh edit vm
<os>
...
<smbios mode='sysinfo'/>
</os>
<sysinfo type="smbios">
<system>
<entry name='manufactu
<entry name='product'
</system>
</sysinfo>
<cpu match='exact'> <!-- defaults to qemu, which would me detected correctly -->
<model fallback=
<vendor>
</cpu>
virsh destroy vm && virsh start vm
uvt-kvm ssh vm --insecure
sudo landscape-config --log-level=debug -a devel --silent -t testclient
# will fail registering, but that's not relevant to the vm-type detection
grep vm-info /var/log/
# expected output is "KVM", and will be empty because of this bug
[Regression Potential]
* Like the previous update, this change is local and only affects vm-type
detection, which should be low-risk.
* Since we extend the current detection to fields we were not previously
looking at, one of the risks is to falsely detect clients as running
on KVM. This is why we took care to verify opposite scenarios in
addition to making sure the existing unit tests pass. Were such a
regression to occur, it would have a low user impact, as being detected as
VM you can use either physical or VM license, whereas the opposite
(due to the bug fixed here) is not true.
[Other Info]
* AWS and DigitalOcean instances have been fixed slightly differently in
the previous SRU, but we wanted to avoid repeating this for every other
cloud, thus extending the DMI field lookup instead of adding yet another
mapping value.
[Original Description]
Instances running on a Apache CloudStack that is using KVM as a hypervisor are not detected as virtual machines by the landscape-client. They are using a Full license to register instead of a Virtual one.
Information from the client:
Ubuntu 14.04.5 LTS
-------
landscape-client 14.12-0ubuntu6.
-------
# cat /sys/class/
Apache Software Foundation
-------
lscpu:
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 1
On-line CPU(s) list: 0
Thread(s) per core: 1
Core(s) per socket: 1
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 42
Stepping: 1
CPU MHz: 2299.998
BogoMIPS: 4599.99
Hypervisor vendor: KVM
Virtualization type: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 4096K
NUMA node0 CPU(s): 0
-------
summary: |
Instances on Apache CloudStack using KVM hypervisor are not detected as - a virtual machine + virtual machines |
Changed in landscape-client (Ubuntu): | |
status: | New → Confirmed |
Changed in landscape-client: | |
status: | New → Triaged |
assignee: | nobody → Simon Poirier (simpoir) |
importance: | Undecided → High |
Changed in landscape-client: | |
status: | Triaged → Fix Committed |
description: | updated |
description: | updated |
Changed in landscape-client (Ubuntu): | |
status: | Confirmed → In Progress |
assignee: | nobody → Simon Poirier (simpoir) |
importance: | Undecided → Medium |
description: | updated |
Changed in landscape-client (Ubuntu): | |
status: | In Progress → Fix Committed |
tags: |
added: verification-done-trusty verification-done-xenial removed: verification-needed-trusty verification-needed-xenial |
tags: |
added: verification-done-artful removed: verification-needed-artful |
tags: | removed: verification-needed |
committed upstream https:/ /github. com/CanonicalLt d/landscape- client/ commit/ e08cd1ac06b0c2e 1761749e05e1059 3a4b123317