GitHub user nnesic opened a pull request:
https://github.com/apache/cloudstack/pull/1589
Fixing erraneous guest_os_hypervisor mappings
We noticed some discrepancies in the guest_os_hypervisor mappings,
specifically Other PV being mapped to CentOS on Xenserver, Ubuntu 10.04
pointing to CentOS and Ubuntu 12 for VmWare, KVM, and LXC. Here are some
queries to show the problematic mappings before correction:
```
mysql> SELECT h.id, hypervisor_type, hypervisor_version, h.guest_os_name,
g.display_name FROM guest_os_hypervisor h join guest_os g on g.id =
h.guest_os_id
where h.id in ( 420, 497, 569, 672, 783, 912, 1061, 1211, 2153, 421, 498,
570, 673, 784, 913, 1062, 1212, 2154, 173, 253, 2018, 254, 2019);
+------+-----------------+--------------------+-----------------------+-----------------------+
| id | hypervisor_type | hypervisor_version | guest_os_name |
display_name |
+------+-----------------+--------------------+-----------------------+-----------------------+
| 173 | VmWare | default | Ubuntu 12.04 (32-bit) |
CentOS 5.7 (64-bit) |
| 253 | KVM | default | Ubuntu 10.04 |
CentOS 5.7 (64-bit) |
| 254 | KVM | default | Ubuntu 10.04 |
Ubuntu 12.04 (32-bit) |
| 420 | Xenserver | XCP 1.0 | CentOS 5 (32-bit) |
Other PV (32-bit) |
| 421 | Xenserver | XCP 1.0 | CentOS 5 (64-bit) |
Other PV (64-bit) |
| 497 | Xenserver | 5.6 FP1 | CentOS 5 (32-bit) |
Other PV (32-bit) |
| 498 | Xenserver | 5.6 FP1 | CentOS 5 (64-bit) |
Other PV (64-bit) |
| 569 | Xenserver | 5.6 SP2 | CentOS 5 (32-bit) |
Other PV (32-bit) |
| 570 | Xenserver | 5.6 SP2 | CentOS 5 (64-bit) |
Other PV (64-bit) |
| 672 | Xenserver | 6.0 | CentOS 5 (32-bit) |
Other PV (32-bit) |
| 673 | Xenserver | 6.0 | CentOS 5 (64-bit) |
Other PV (64-bit) |
| 783 | Xenserver | 6.0.2 | CentOS 5 (32-bit) |
Other PV (32-bit) |
| 784 | Xenserver | 6.0.2 | CentOS 5 (64-bit) |
Other PV (64-bit) |
| 912 | Xenserver | 6.1.0 | CentOS 5 (32-bit) |
Other PV (32-bit) |
| 913 | Xenserver | 6.1.0 | CentOS 5 (64-bit) |
Other PV (64-bit) |
| 1061 | Xenserver | 6.2.0 | CentOS 5 (32-bit) |
Other PV (32-bit) |
| 1062 | Xenserver | 6.2.0 | CentOS 5 (64-bit) |
Other PV (64-bit) |
| 1211 | Xenserver | 6.2.5 | CentOS 5 (32-bit) |
Other PV (32-bit) |
| 1212 | Xenserver | 6.2.5 | CentOS 5 (64-bit) |
Other PV (64-bit) |
| 2018 | LXC | default | Ubuntu 10.04 |
CentOS 5.7 (64-bit) |
| 2019 | LXC | default | Ubuntu 10.04 |
Ubuntu 12.04 (32-bit) |
| 2153 | Xenserver | 6.5.0 | CentOS 5 (32-bit) |
Other PV (32-bit) |
| 2154 | Xenserver | 6.5.0 | CentOS 5 (64-bit) |
Other PV (64-bit) |
+------+-----------------+--------------------+-----------------------+-----------------------+
mysql> select h.hypervisor_type, h.hypervisor_version, h.guest_os_name,
g.display_name from guest_os_hypervisor h join guest_os g on g.id =
h.guest_os_id where hypervisor_type = "kvm" and guest_os_name like "ubuntu%"
order by guest_os_name;
+-----------------+--------------------+---------------+-----------------------+
| hypervisor_type | hypervisor_version | guest_os_name | display_name
|
+-----------------+--------------------+---------------+-----------------------+
| KVM | default | Ubuntu 10.04 | Ubuntu 10.04
(32-bit) |
| KVM | default | Ubuntu 10.04 | Ubuntu 12.04
(32-bit) |
| KVM | default | Ubuntu 10.04 | CentOS 5.7
(64-bit) |
| KVM | default | Ubuntu 10.04 | Ubuntu 10.04
(64-bit) |
| KVM | default | Ubuntu 10.10 | Ubuntu 10.10
(64-bit) |
| KVM | default | Ubuntu 10.10 | Ubuntu 10.10
(32-bit) |
| KVM | default | Ubuntu 12.04 | Ubuntu 12.04
(64-bit) |
| KVM | default | Ubuntu 14.04 | Ubuntu 14.04
(64-bit) |
| KVM | default | Ubuntu 14.04 | Ubuntu 14.04
(32-bit) |
| KVM | default | Ubuntu 8.04 | Ubuntu 8.04
(64-bit) |
| KVM | default | Ubuntu 8.04 | Ubuntu 8.04
(32-bit) |
| KVM | default | Ubuntu 8.10 | Ubuntu 8.10
(64-bit) |
| KVM | default | Ubuntu 8.10 | Ubuntu 8.10
(32-bit) |
| KVM | default | Ubuntu 9.04 | Ubuntu 9.04
(64-bit) |
| KVM | default | Ubuntu 9.04 | Ubuntu 9.04
(32-bit) |
| KVM | default | Ubuntu 9.10 | Ubuntu 9.10
(64-bit) |
| KVM | default | Ubuntu 9.10 | Ubuntu 9.10
(32-bit) |
+-----------------+--------------------+---------------+-----------------------+
mysql> select h.hypervisor_type, h.hypervisor_version, h.guest_os_name,
g.display_name from guest_os_hypervisor h join guest_os g on g.id =
h.guest_os_id where hypervisor_type = "vmware" and guest_os_name like "ubuntu
%" order by guest_os_name;
+-----------------+--------------------+-----------------------+-----------------------+
| hypervisor_type | hypervisor_version | guest_os_name |
display_name |
+-----------------+--------------------+-----------------------+-----------------------+
| VmWare | default | Ubuntu 10.04 (32-bit) | Ubuntu
10.04 (32-bit) |
| VmWare | default | Ubuntu 10.04 (64-bit) | Ubuntu
10.04 (64-bit) |
| VmWare | default | Ubuntu 10.10 (32-bit) | Other
Ubuntu (32-bit) |
| VmWare | default | Ubuntu 10.10 (64-bit) | Other
Ubuntu (64-bit) |
| VmWare | default | Ubuntu 12.04 (32-bit) | CentOS 5.7
(64-bit) |
| VmWare | default | Ubuntu 12.04 (64-bit) | Ubuntu
12.04 (32-bit) |
| VmWare | default | Ubuntu 8.04 (32-bit) | Ubuntu
8.04 (32-bit) |
| VmWare | default | Ubuntu 8.04 (64-bit) | Ubuntu
8.04 (64-bit) |
| VmWare | default | Ubuntu 8.10 (32-bit) | Ubuntu
8.10 (32-bit) |
| VmWare | default | Ubuntu 8.10 (64-bit) | Ubuntu
8.10 (64-bit) |
| VmWare | default | Ubuntu 9.04 (32-bit) | Ubuntu
9.04 (32-bit) |
| VmWare | default | Ubuntu 9.04 (64-bit) | Ubuntu
9.04 (64-bit) |
| VmWare | default | Ubuntu 9.10 (32-bit) | Ubuntu
9.10 (32-bit) |
| VmWare | default | Ubuntu 9.10 (64-bit) | Ubuntu
9.10 (64-bit) |
+-----------------+--------------------+-----------------------+-----------------------+
mysql> select h.hypervisor_type, h.hypervisor_version, h.guest_os_name,
g.display_name from guest_os_hypervisor h join guest_os g on g.id =
h.guest_os_id where hypervisor_type = "xenserver" and guest_os_id=139;
+-----------------+--------------------+-------------------+-------------------+
| hypervisor_type | hypervisor_version | guest_os_name | display_name
|
+-----------------+--------------------+-------------------+-------------------+
| XenServer | default | Other PV (32-bit) | Other PV
(32-bit) |
| Xenserver | XCP 1.0 | CentOS 5 (32-bit) | Other PV
(32-bit) |
| Xenserver | 5.6 FP1 | CentOS 5 (32-bit) | Other PV
(32-bit) |
| Xenserver | 5.6 SP2 | CentOS 5 (32-bit) | Other PV
(32-bit) |
| Xenserver | 6.0 | CentOS 5 (32-bit) | Other PV
(32-bit) |
| Xenserver | 6.0.2 | CentOS 5 (32-bit) | Other PV
(32-bit) |
| Xenserver | 6.1.0 | CentOS 5 (32-bit) | Other PV
(32-bit) |
| Xenserver | 6.2.0 | CentOS 5 (32-bit) | Other PV
(32-bit) |
| Xenserver | 6.2.5 | CentOS 5 (32-bit) | Other PV
(32-bit) |
| Xenserver | 6.5.0 | CentOS 5 (32-bit) | Other PV
(32-bit) |
+-----------------+--------------------+-------------------+-------------------+
mysql> select h.hypervisor_type, h.hypervisor_version, h.guest_os_name,
g.display_name from guest_os_hypervisor h join guest_os g on g.id =
h.guest_os_id where hypervisor_type = "xenserver" and guest_os_id=140;
+-----------------+--------------------+-------------------+-------------------+
| hypervisor_type | hypervisor_version | guest_os_name | display_name
|
+-----------------+--------------------+-------------------+-------------------+
| XenServer | default | Other PV (64-bit) | Other PV
(64-bit) |
| Xenserver | XCP 1.0 | CentOS 5 (64-bit) | Other PV
(64-bit) |
| Xenserver | 5.6 FP1 | CentOS 5 (64-bit) | Other PV
(64-bit) |
| Xenserver | 5.6 SP2 | CentOS 5 (64-bit) | Other PV
(64-bit) |
| Xenserver | 6.0 | CentOS 5 (64-bit) | Other PV
(64-bit) |
| Xenserver | 6.0.2 | CentOS 5 (64-bit) | Other PV
(64-bit) |
| Xenserver | 6.1.0 | CentOS 5 (64-bit) | Other PV
(64-bit) |
| Xenserver | 6.2.0 | CentOS 5 (64-bit) | Other PV
(64-bit) |
| Xenserver | 6.2.5 | CentOS 5 (64-bit) | Other PV
(64-bit) |
| Xenserver | 6.5.0 | CentOS 5 (64-bit) | Other PV
(64-bit) |
+-----------------+--------------------+-------------------+-------------------+
```
And here are the affected mappings after applying our fixes:
```
mysql> SELECT h.id, hypervisor_type, hypervisor_version, h.guest_os_name,
g.display_name FROM guest_os_hypervisor h join guest_os g on g.id =
h.guest_os_id
-> where h.id in ( 420, 497, 569, 672, 783, 912, 1061, 1211, 2153, 421,
498, 570, 673, 784, 913, 1062, 1212, 2154, 173, 253, 2018, 254, 2019);
+------+-----------------+--------------------+-----------------------+-----------------------+
| id | hypervisor_type | hypervisor_version | guest_os_name |
display_name |
+------+-----------------+--------------------+-----------------------+-----------------------+
| 173 | VmWare | default | Ubuntu 12.04 (32-bit) |
Ubuntu 12.04 (32-bit) |
| 254 | KVM | default | Ubuntu 12.04 |
Ubuntu 12.04 (32-bit) |
| 420 | Xenserver | XCP 1.0 | Other PV (32-bit) |
Other PV (32-bit) |
| 421 | Xenserver | XCP 1.0 | Other PV (64-bit) |
Other PV (64-bit) |
| 497 | Xenserver | 5.6 FP1 | Other PV (32-bit) |
Other PV (32-bit) |
| 498 | Xenserver | 5.6 FP1 | Other PV (64-bit) |
Other PV (64-bit) |
| 569 | Xenserver | 5.6 SP2 | Other PV (32-bit) |
Other PV (32-bit) |
| 570 | Xenserver | 5.6 SP2 | Other PV (64-bit) |
Other PV (64-bit) |
| 672 | Xenserver | 6.0 | Other PV (32-bit) |
Other PV (32-bit) |
| 673 | Xenserver | 6.0 | Other PV (64-bit) |
Other PV (64-bit) |
| 783 | Xenserver | 6.0.2 | Other PV (32-bit) |
Other PV (32-bit) |
| 784 | Xenserver | 6.0.2 | Other PV (64-bit) |
Other PV (64-bit) |
| 912 | Xenserver | 6.1.0 | Other PV (32-bit) |
Other PV (32-bit) |
| 913 | Xenserver | 6.1.0 | Other PV (64-bit) |
Other PV (64-bit) |
| 1061 | Xenserver | 6.2.0 | Other PV (32-bit) |
Other PV (32-bit) |
| 1062 | Xenserver | 6.2.0 | Other PV (64-bit) |
Other PV (64-bit) |
| 1211 | Xenserver | 6.2.5 | Other PV (32-bit) |
Other PV (32-bit) |
| 1212 | Xenserver | 6.2.5 | Other PV (64-bit) |
Other PV (64-bit) |
| 2019 | LXC | default | Ubuntu 12.04 |
Ubuntu 12.04 (32-bit) |
| 2153 | Xenserver | 6.5.0 | Other PV (32-bit) |
Other PV (32-bit) |
| 2154 | Xenserver | 6.5.0 | Other PV (64-bit) |
Other PV (64-bit) |
+------+-----------------+--------------------+-----------------------+-----------------------+
mysql> select h.hypervisor_type, h.hypervisor_version, h.guest_os_name,
g.display_name from guest_os_hypervisor h join guest_os g on g.id =
h.guest_os_id where hypervisor_type = "kvm" and guest_os_name like "ubuntu%"
order by guest_os_name;
+-----------------+--------------------+---------------+-----------------------+
| hypervisor_type | hypervisor_version | guest_os_name | display_name
|
+-----------------+--------------------+---------------+-----------------------+
| KVM | default | Ubuntu 10.04 | Ubuntu 10.04
(32-bit) |
| KVM | default | Ubuntu 10.04 | Ubuntu 10.04
(64-bit) |
| KVM | default | Ubuntu 10.10 | Ubuntu 10.10
(64-bit) |
| KVM | default | Ubuntu 10.10 | Ubuntu 10.10
(32-bit) |
| KVM | default | Ubuntu 12.04 | Ubuntu 12.04
(64-bit) |
| KVM | default | Ubuntu 12.04 | Ubuntu 12.04
(32-bit) |
| KVM | default | Ubuntu 14.04 | Ubuntu 14.04
(64-bit) |
| KVM | default | Ubuntu 14.04 | Ubuntu 14.04
(32-bit) |
| KVM | default | Ubuntu 8.04 | Ubuntu 8.04
(64-bit) |
| KVM | default | Ubuntu 8.04 | Ubuntu 8.04
(32-bit) |
| KVM | default | Ubuntu 8.10 | Ubuntu 8.10
(64-bit) |
| KVM | default | Ubuntu 8.10 | Ubuntu 8.10
(32-bit) |
| KVM | default | Ubuntu 9.04 | Ubuntu 9.04
(64-bit) |
| KVM | default | Ubuntu 9.04 | Ubuntu 9.04
(32-bit) |
| KVM | default | Ubuntu 9.10 | Ubuntu 9.10
(64-bit) |
| KVM | default | Ubuntu 9.10 | Ubuntu 9.10
(32-bit) |
+-----------------+--------------------+---------------+-----------------------+
mysql> select h.hypervisor_type, h.hypervisor_version, h.guest_os_name,
g.display_name from guest_os_hypervisor h join guest_os g on g.id =
h.guest_os_id where hypervisor_type = "vmware" and guest_os_name like "ubuntu
%" order by guest_os_name;
+-----------------+--------------------+-----------------------+-----------------------+
| hypervisor_type | hypervisor_version | guest_os_name |
display_name |
+-----------------+--------------------+-----------------------+-----------------------+
| VmWare | default | Ubuntu 10.04 (32-bit) | Ubuntu
10.04 (32-bit) |
| VmWare | default | Ubuntu 10.04 (64-bit) | Ubuntu
10.04 (64-bit) |
| VmWare | default | Ubuntu 10.10 (32-bit) | Other
Ubuntu (32-bit) |
| VmWare | default | Ubuntu 10.10 (64-bit) | Other
Ubuntu (64-bit) |
| VmWare | default | Ubuntu 12.04 (32-bit) | Ubuntu
12.04 (32-bit) |
| VmWare | default | Ubuntu 12.04 (64-bit) | Ubuntu
12.04 (64-bit) |
| VmWare | default | Ubuntu 8.04 (32-bit) | Ubuntu
8.04 (32-bit) |
| VmWare | default | Ubuntu 8.04 (64-bit) | Ubuntu
8.04 (64-bit) |
| VmWare | default | Ubuntu 8.10 (32-bit) | Ubuntu
8.10 (32-bit) |
| VmWare | default | Ubuntu 8.10 (64-bit) | Ubuntu
8.10 (64-bit) |
| VmWare | default | Ubuntu 9.04 (32-bit) | Ubuntu
9.04 (32-bit) |
| VmWare | default | Ubuntu 9.04 (64-bit) | Ubuntu
9.04 (64-bit) |
| VmWare | default | Ubuntu 9.10 (32-bit) | Ubuntu
9.10 (32-bit) |
| VmWare | default | Ubuntu 9.10 (64-bit) | Ubuntu
9.10 (64-bit) |
+-----------------+--------------------+-----------------------+-----------------------+
mysql> select h.hypervisor_type, h.hypervisor_version, h.guest_os_name,
g.display_name from guest_os_hypervisor h join guest_os g on g.id =
h.guest_os_id where hypervisor_type = "xenserver" and guest_os_id=139;
+-----------------+--------------------+-------------------+-------------------+
| hypervisor_type | hypervisor_version | guest_os_name | display_name
|
+-----------------+--------------------+-------------------+-------------------+
| XenServer | default | Other PV (32-bit) | Other PV
(32-bit) |
| Xenserver | XCP 1.0 | Other PV (32-bit) | Other PV
(32-bit) |
| Xenserver | 5.6 FP1 | Other PV (32-bit) | Other PV
(32-bit) |
| Xenserver | 5.6 SP2 | Other PV (32-bit) | Other PV
(32-bit) |
| Xenserver | 6.0 | Other PV (32-bit) | Other PV
(32-bit) |
| Xenserver | 6.0.2 | Other PV (32-bit) | Other PV
(32-bit) |
| Xenserver | 6.1.0 | Other PV (32-bit) | Other PV
(32-bit) |
| Xenserver | 6.2.0 | Other PV (32-bit) | Other PV
(32-bit) |
| Xenserver | 6.2.5 | Other PV (32-bit) | Other PV
(32-bit) |
| Xenserver | 6.5.0 | Other PV (32-bit) | Other PV
(32-bit) |
+-----------------+--------------------+-------------------+-------------------+
mysql> select h.hypervisor_type, h.hypervisor_version, h.guest_os_name,
g.display_name from guest_os_hypervisor h join guest_os g on g.id =
h.guest_os_id where hypervisor_type = "xenserver" and guest_os_id=140;
+-----------------+--------------------+-------------------+-------------------+
| hypervisor_type | hypervisor_version | guest_os_name | display_name
|
+-----------------+--------------------+-------------------+-------------------+
| XenServer | default | Other PV (64-bit) | Other PV
(64-bit) |
| Xenserver | XCP 1.0 | Other PV (64-bit) | Other PV
(64-bit) |
| Xenserver | 5.6 FP1 | Other PV (64-bit) | Other PV
(64-bit) |
| Xenserver | 5.6 SP2 | Other PV (64-bit) | Other PV
(64-bit) |
| Xenserver | 6.0 | Other PV (64-bit) | Other PV
(64-bit) |
| Xenserver | 6.0.2 | Other PV (64-bit) | Other PV
(64-bit) |
| Xenserver | 6.1.0 | Other PV (64-bit) | Other PV
(64-bit) |
| Xenserver | 6.2.0 | Other PV (64-bit) | Other PV
(64-bit) |
| Xenserver | 6.2.5 | Other PV (64-bit) | Other PV
(64-bit) |
| Xenserver | 6.5.0 | Other PV (64-bit) | Other PV
(64-bit) |
+-----------------+--------------------+-------------------+-------------------+
```
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/greenqloud/cloudstack
fixingGuestOsHyperMappings
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/cloudstack/pull/1589.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #1589
----
commit cef0afcde7684f8433b1ced42be6a2ba873c63f6
Author: nnesic <[email protected]>
Date: 2016-06-10T15:47:13Z
Fixing erraneous guest_os_hypervisor mappings
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---