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 <n...@greenqloud.com> 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 infrastruct...@apache.org or file a JIRA ticket with INFRA. ---