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.
---

Reply via email to