This is an automated email from the ASF dual-hosted git repository.

dahn pushed a commit to branch 4.16
in repository https://gitbox.apache.org/repos/asf/cloudstack.git


The following commit(s) were added to refs/heads/4.16 by this push:
     new 5297b52  Improve the guest OS hypervisor mappings addition on upgrade. 
(#5911)
5297b52 is described below

commit 5297b52d98a394713a9fe9c58eb4394738251b68
Author: sureshanaparti <[email protected]>
AuthorDate: Thu Feb 10 19:13:03 2022 +0530

    Improve the guest OS hypervisor mappings addition on upgrade. (#5911)
    
    - This removes the hardcoded guest os ids 305 - 329 in upgrade path 4.14.0 
to 4.15.0, and 330 - 349 in upgrade path 4.15.0.0 to 4.15.1.0.
---
 api/src/main/java/com/cloud/storage/GuestOS.java   |   2 +-
 .../cloud/storage/GuestOSHypervisorMapping.java    |  57 +++++
 .../src/main/java/com/cloud/storage/GuestOSVO.java |   2 +-
 .../java/com/cloud/storage/dao/GuestOSDao.java     |   1 +
 .../java/com/cloud/storage/dao/GuestOSDaoImpl.java |  22 +-
 .../cloud/storage/dao/GuestOSHypervisorDao.java    |   2 +
 .../storage/dao/GuestOSHypervisorDaoImpl.java      |  19 +-
 .../main/java/com/cloud/upgrade/GuestOsMapper.java | 191 ++++++++++++++++
 .../com/cloud/upgrade/dao/Upgrade41400to41500.java | 238 ++++++++++++++++++++
 .../com/cloud/upgrade/dao/Upgrade41500to41510.java | 139 ++++++++++++
 .../com/cloud/upgrade/dao/Upgrade41510to41520.java |  13 ++
 .../com/cloud/upgrade/dao/Upgrade41520to41600.java |   9 +
 .../com/cloud/upgrade/dao/Upgrade41600to41610.java |   9 +
 .../resources/META-INF/db/schema-41400to41500.sql  | 243 ---------------------
 .../resources/META-INF/db/schema-41500to41510.sql  |  96 --------
 .../main/java/com/cloud/api/ApiResponseHelper.java |   2 +-
 .../com/cloud/server/ManagementServerImpl.java     |   4 +-
 17 files changed, 703 insertions(+), 346 deletions(-)

diff --git a/api/src/main/java/com/cloud/storage/GuestOS.java 
b/api/src/main/java/com/cloud/storage/GuestOS.java
index 33c0872..371260b 100644
--- a/api/src/main/java/com/cloud/storage/GuestOS.java
+++ b/api/src/main/java/com/cloud/storage/GuestOS.java
@@ -33,5 +33,5 @@ public interface GuestOS extends InternalIdentity, Identity {
 
     Date getRemoved();
 
-    boolean isUserDefined();
+    boolean getIsUserDefined();
 }
diff --git a/api/src/main/java/com/cloud/storage/GuestOSHypervisorMapping.java 
b/api/src/main/java/com/cloud/storage/GuestOSHypervisorMapping.java
new file mode 100644
index 0000000..64dd439
--- /dev/null
+++ b/api/src/main/java/com/cloud/storage/GuestOSHypervisorMapping.java
@@ -0,0 +1,57 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+package com.cloud.storage;
+
+import org.apache.commons.lang3.StringUtils;
+
+public class GuestOSHypervisorMapping {
+
+    private String hypervisorType;
+    private String hypervisorVersion;
+    private String guestOsName;
+
+    public GuestOSHypervisorMapping(String hypervisorType, String 
hypervisorVersion, String guestOsName) {
+        this.hypervisorType = hypervisorType;
+        this.hypervisorVersion = hypervisorVersion;
+        this.guestOsName = guestOsName;
+    }
+
+    public String getHypervisorType() {
+        return hypervisorType;
+    }
+
+    public String getHypervisorVersion() {
+        return hypervisorVersion;
+    }
+
+    public String getGuestOsName() {
+        return guestOsName;
+    }
+
+    public boolean isValid() {
+        if (StringUtils.isBlank(hypervisorType) || 
StringUtils.isBlank(hypervisorVersion) || StringUtils.isBlank(guestOsName)) {
+            return false;
+        }
+
+        return true;
+    }
+
+    @Override
+    public String toString() {
+        return "Hypervisor(Version): " + hypervisorType + "(" + 
hypervisorVersion + "), Guest OS: " + guestOsName;
+    }
+}
diff --git a/engine/schema/src/main/java/com/cloud/storage/GuestOSVO.java 
b/engine/schema/src/main/java/com/cloud/storage/GuestOSVO.java
index 1afea4e..f04f9a4 100644
--- a/engine/schema/src/main/java/com/cloud/storage/GuestOSVO.java
+++ b/engine/schema/src/main/java/com/cloud/storage/GuestOSVO.java
@@ -113,7 +113,7 @@ public class GuestOSVO implements GuestOS {
     }
 
     @Override
-    public boolean isUserDefined() {
+    public boolean getIsUserDefined() {
         return isUserDefined;
     }
 
diff --git a/engine/schema/src/main/java/com/cloud/storage/dao/GuestOSDao.java 
b/engine/schema/src/main/java/com/cloud/storage/dao/GuestOSDao.java
index a9d0cdb..83e19b1 100644
--- a/engine/schema/src/main/java/com/cloud/storage/dao/GuestOSDao.java
+++ b/engine/schema/src/main/java/com/cloud/storage/dao/GuestOSDao.java
@@ -23,4 +23,5 @@ public interface GuestOSDao extends GenericDao<GuestOSVO, 
Long> {
 
     GuestOSVO listByDisplayName(String displayName);
 
+    GuestOSVO findByCategoryIdAndDisplayNameOrderByCreatedDesc(long 
categoryId, String displayName);
 }
diff --git 
a/engine/schema/src/main/java/com/cloud/storage/dao/GuestOSDaoImpl.java 
b/engine/schema/src/main/java/com/cloud/storage/dao/GuestOSDaoImpl.java
index 178eab8..68da2b9 100644
--- a/engine/schema/src/main/java/com/cloud/storage/dao/GuestOSDaoImpl.java
+++ b/engine/schema/src/main/java/com/cloud/storage/dao/GuestOSDaoImpl.java
@@ -17,9 +17,13 @@
 package com.cloud.storage.dao;
 
 
+import java.util.List;
+
+import org.apache.commons.collections.CollectionUtils;
 import org.springframework.stereotype.Component;
 
 import com.cloud.storage.GuestOSVO;
+import com.cloud.utils.db.Filter;
 import com.cloud.utils.db.GenericDaoBase;
 import com.cloud.utils.db.SearchBuilder;
 import com.cloud.utils.db.SearchCriteria;
@@ -29,9 +33,11 @@ public class GuestOSDaoImpl extends 
GenericDaoBase<GuestOSVO, Long> implements G
 
     protected final SearchBuilder<GuestOSVO> Search;
 
-    protected GuestOSDaoImpl() {
+    public GuestOSDaoImpl() {
         Search = createSearchBuilder();
+        Search.and("category_id", Search.entity().getCategoryId(), 
SearchCriteria.Op.EQ);
         Search.and("display_name", Search.entity().getDisplayName(), 
SearchCriteria.Op.EQ);
+        Search.and("is_user_defined", Search.entity().getIsUserDefined(), 
SearchCriteria.Op.EQ);
         Search.done();
     }
 
@@ -42,4 +48,18 @@ public class GuestOSDaoImpl extends 
GenericDaoBase<GuestOSVO, Long> implements G
         return findOneBy(sc);
     }
 
+    @Override
+    public GuestOSVO findByCategoryIdAndDisplayNameOrderByCreatedDesc(long 
categoryId, String displayName) {
+        SearchCriteria<GuestOSVO> sc = Search.create();
+        sc.setParameters("category_id", categoryId);
+        sc.setParameters("display_name", displayName);
+        sc.setParameters("is_user_defined", false);
+
+        Filter orderByFilter = new Filter(GuestOSVO.class, "created", false, 
null, 1L);
+        List<GuestOSVO> guestOSes = listBy(sc, orderByFilter);
+        if (CollectionUtils.isNotEmpty(guestOSes)) {
+            return guestOSes.get(0);
+        }
+        return null;
+    }
 }
diff --git 
a/engine/schema/src/main/java/com/cloud/storage/dao/GuestOSHypervisorDao.java 
b/engine/schema/src/main/java/com/cloud/storage/dao/GuestOSHypervisorDao.java
index 41b9571..17c6b3c 100644
--- 
a/engine/schema/src/main/java/com/cloud/storage/dao/GuestOSHypervisorDao.java
+++ 
b/engine/schema/src/main/java/com/cloud/storage/dao/GuestOSHypervisorDao.java
@@ -34,6 +34,8 @@ public interface GuestOSHypervisorDao extends 
GenericDao<GuestOSHypervisorVO, Lo
 
     GuestOSHypervisorVO findByOsNameAndHypervisor(String guestOsName, String 
hypervisorType, String hypervisorVersion);
 
+    GuestOSHypervisorVO findByOsNameAndHypervisorOrderByCreatedDesc(String 
guestOsName, String hypervisorType, String hypervisorVersion);
+
     List<GuestOSHypervisorVO> listByOsNameAndHypervisorMinimumVersion(String 
guestOsName, String hypervisorType,
                                                                       String 
minHypervisorVersion);
 
diff --git 
a/engine/schema/src/main/java/com/cloud/storage/dao/GuestOSHypervisorDaoImpl.java
 
b/engine/schema/src/main/java/com/cloud/storage/dao/GuestOSHypervisorDaoImpl.java
index add4bfc..31143dc 100644
--- 
a/engine/schema/src/main/java/com/cloud/storage/dao/GuestOSHypervisorDaoImpl.java
+++ 
b/engine/schema/src/main/java/com/cloud/storage/dao/GuestOSHypervisorDaoImpl.java
@@ -40,7 +40,7 @@ public class GuestOSHypervisorDaoImpl extends 
GenericDaoBase<GuestOSHypervisorVO
     protected final SearchBuilder<GuestOSHypervisorVO> guestOsNameSearch;
     protected final SearchBuilder<GuestOSHypervisorVO> 
availableHypervisorVersionSearch;
 
-    protected GuestOSHypervisorDaoImpl() {
+    public GuestOSHypervisorDaoImpl() {
         guestOsSearch = createSearchBuilder();
         guestOsSearch.and("guest_os_id", 
guestOsSearch.entity().getGuestOsId(), SearchCriteria.Op.EQ);
         guestOsSearch.done();
@@ -62,6 +62,7 @@ public class GuestOSHypervisorDaoImpl extends 
GenericDaoBase<GuestOSHypervisorVO
         guestOsNameSearch.and("guest_os_name", 
guestOsNameSearch.entity().getGuestOsName(), SearchCriteria.Op.EQ);
         guestOsNameSearch.and("hypervisor_type", 
guestOsNameSearch.entity().getHypervisorType(), SearchCriteria.Op.EQ);
         guestOsNameSearch.and("hypervisor_version", 
guestOsNameSearch.entity().getHypervisorVersion(), SearchCriteria.Op.EQ);
+        guestOsNameSearch.and("is_user_defined", 
guestOsNameSearch.entity().getIsUserDefined(), SearchCriteria.Op.EQ);
         guestOsNameSearch.done();
 
         availableHypervisorVersionSearch = createSearchBuilder();
@@ -134,6 +135,22 @@ public class GuestOSHypervisorDaoImpl extends 
GenericDaoBase<GuestOSHypervisorVO
     }
 
     @Override
+    public GuestOSHypervisorVO 
findByOsNameAndHypervisorOrderByCreatedDesc(String guestOsName, String 
hypervisorType, String hypervisorVersion) {
+        SearchCriteria<GuestOSHypervisorVO> sc = guestOsNameSearch.create();
+        sc.setParameters("guest_os_name", guestOsName);
+        sc.setParameters("hypervisor_type", hypervisorType);
+        sc.setParameters("hypervisor_version", hypervisorVersion);
+        sc.setParameters("is_user_defined", false);
+
+        Filter orderByFilter = new Filter(GuestOSHypervisorVO.class, 
"created", false, null, 1L);
+        List<GuestOSHypervisorVO> GuestOSHypervisorVOs = listBy(sc, 
orderByFilter);
+        if (CollectionUtils.isNotEmpty(GuestOSHypervisorVOs)) {
+            return GuestOSHypervisorVOs.get(0);
+        }
+        return null;
+    }
+
+    @Override
     public List<GuestOSHypervisorVO> 
listByOsNameAndHypervisorMinimumVersion(String guestOsName, String 
hypervisorType,
                                                                              
String minHypervisorVersion) {
         final QueryBuilder<GuestOSHypervisorVO> sc = 
QueryBuilder.create(GuestOSHypervisorVO.class);
diff --git a/engine/schema/src/main/java/com/cloud/upgrade/GuestOsMapper.java 
b/engine/schema/src/main/java/com/cloud/upgrade/GuestOsMapper.java
new file mode 100644
index 0000000..f8b3d7a
--- /dev/null
+++ b/engine/schema/src/main/java/com/cloud/upgrade/GuestOsMapper.java
@@ -0,0 +1,191 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+package com.cloud.upgrade;
+
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.log4j.Logger;
+
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.SQLException;
+import java.util.List;
+
+import javax.inject.Inject;
+
+import com.cloud.storage.GuestOSHypervisorMapping;
+import com.cloud.storage.GuestOSHypervisorVO;
+import com.cloud.storage.GuestOSVO;
+import com.cloud.storage.dao.GuestOSDao;
+import com.cloud.storage.dao.GuestOSDaoImpl;
+import com.cloud.storage.dao.GuestOSHypervisorDao;
+import com.cloud.storage.dao.GuestOSHypervisorDaoImpl;
+
+public class GuestOsMapper {
+
+    final static Logger LOG = Logger.getLogger(GuestOsMapper.class);
+
+    @Inject
+    GuestOSHypervisorDao guestOSHypervisorDao;
+    @Inject
+    GuestOSDao guestOSDao;
+
+    private static final String updateGuestOsHypervisorSql =
+            "UPDATE `cloud`.`guest_os_hypervisor` SET guest_os_id = ? WHERE 
guest_os_id = ? AND hypervisor_type = ? AND hypervisor_version = ? AND 
guest_os_name = ? AND is_user_defined = 0 AND removed IS NULL";
+
+    public GuestOsMapper() {
+        guestOSHypervisorDao = new GuestOSHypervisorDaoImpl();
+        guestOSDao = new GuestOSDaoImpl();
+    }
+
+    private long getGuestOsId(long categoryId, String displayName) {
+        GuestOSVO guestOS = 
guestOSDao.findByCategoryIdAndDisplayNameOrderByCreatedDesc(categoryId, 
displayName);
+        if (guestOS != null) {
+            guestOS.getId();
+        }
+
+        LOG.warn("Unable to find the guest OS details with category id: " + 
categoryId + " and display name: " + displayName);
+        return 0;
+    }
+
+    private long getGuestOsIdFromHypervisorMapping(GuestOSHypervisorMapping 
mapping) {
+        GuestOSHypervisorVO guestOSHypervisorVO = 
guestOSHypervisorDao.findByOsNameAndHypervisorOrderByCreatedDesc(mapping.getGuestOsName(),
 mapping.getHypervisorType(), mapping.getHypervisorVersion());
+        if (guestOSHypervisorVO != null) {
+            guestOSHypervisorVO.getGuestOsId();
+        }
+
+        LOG.debug("Unable to find the guest OS hypervisor mapping details for 
" + mapping.toString());
+        return 0;
+    }
+
+    public void addGuestOsAndHypervisorMappings(long categoryId, String 
displayName, List<GuestOSHypervisorMapping> mappings) {
+        if (!addGuestOs(categoryId, displayName)) {
+            LOG.warn("Couldn't add the guest OS with category id: " + 
categoryId + " and display name: " + displayName);
+            return;
+        }
+
+        if (CollectionUtils.isEmpty(mappings)) {
+            return;
+        }
+
+        long guestOsId = getGuestOsId(categoryId, displayName);
+        if (guestOsId == 0) {
+            LOG.debug("No guest OS found with category id: " + categoryId + " 
and display name: " + displayName);
+            return;
+        }
+
+        for (final GuestOSHypervisorMapping mapping : mappings) {
+            addGuestOsHypervisorMapping(mapping, guestOsId);
+        }
+    }
+
+    private boolean addGuestOs(long categoryId, String displayName) {
+        LOG.debug("Adding guest OS with category id: " + categoryId + " and 
display name: " + displayName);
+        GuestOSVO guestOS = new GuestOSVO();
+        guestOS.setCategoryId(categoryId);
+        guestOS.setDisplayName(displayName);
+        guestOS = guestOSDao.persist(guestOS);
+        return (guestOS != null);
+    }
+
+    public void addGuestOsHypervisorMapping(GuestOSHypervisorMapping mapping, 
long guestOsId) {
+        if(!isValidGuestOSHypervisorMapping(mapping)) {
+            return;
+        }
+
+        LOG.debug("Adding guest OS hypervisor mapping - " + 
mapping.toString());
+        GuestOSHypervisorVO guestOsMapping = new GuestOSHypervisorVO();
+        guestOsMapping.setHypervisorType(mapping.getHypervisorType());
+        guestOsMapping.setHypervisorVersion(mapping.getHypervisorVersion());
+        guestOsMapping.setGuestOsName(mapping.getGuestOsName());
+        guestOsMapping.setGuestOsId(guestOsId);
+        guestOSHypervisorDao.persist(guestOsMapping);
+    }
+
+    public void updateGuestOsName(long categoryId, String oldDisplayName, 
String newDisplayName) {
+        GuestOSVO guestOS = 
guestOSDao.findByCategoryIdAndDisplayNameOrderByCreatedDesc(categoryId, 
oldDisplayName);
+        if (guestOS == null) {
+            LOG.debug("Unable to update guest OS name, as there is no guest OS 
with category id: " + categoryId + " and display name: " + oldDisplayName);
+            return;
+        }
+
+        guestOS.setDisplayName(newDisplayName);
+        guestOSDao.update(guestOS.getId(), guestOS);
+    }
+
+    public void updateGuestOsNameFromMapping(String newDisplayName, 
GuestOSHypervisorMapping mapping) {
+        if(!isValidGuestOSHypervisorMapping(mapping)) {
+            return;
+        }
+
+        GuestOSHypervisorVO guestOSHypervisorVO = 
guestOSHypervisorDao.findByOsNameAndHypervisorOrderByCreatedDesc(mapping.getGuestOsName(),
 mapping.getHypervisorType(), mapping.getHypervisorVersion());
+        if (guestOSHypervisorVO == null) {
+            LOG.debug("Unable to update guest OS name, as there is no guest os 
hypervisor mapping");
+            return;
+        }
+
+        long guestOsId = guestOSHypervisorVO.getGuestOsId();
+        GuestOSVO guestOS = guestOSDao.findById(guestOsId);
+        if (guestOS != null) {
+            guestOS.setDisplayName(newDisplayName);
+            guestOSDao.update(guestOS.getId(), guestOS);
+        }
+    }
+
+    public void updateGuestOsIdInHypervisorMapping(Connection conn, long 
categoryId, String displayName, GuestOSHypervisorMapping mapping) {
+        if(!isValidGuestOSHypervisorMapping(mapping)) {
+            return;
+        }
+
+        long oldGuestOsId = getGuestOsIdFromHypervisorMapping(mapping);
+        if (oldGuestOsId == 0) {
+            LOG.debug("Unable to update guest OS in hypervisor mapping, as 
there is no guest os hypervisor mapping - " + mapping.toString());
+            return;
+        }
+
+        long newGuestOsId = getGuestOsId(categoryId, displayName);
+        if (newGuestOsId == 0) {
+            LOG.debug("Unable to update guest OS id in hypervisor mapping, as 
there is no guest OS with category id: " + categoryId + " and display name: " + 
displayName);
+            return;
+        }
+
+        updateGuestOsIdInMapping(conn, oldGuestOsId, newGuestOsId, mapping);
+    }
+
+    private void updateGuestOsIdInMapping(Connection conn, long oldGuestOsId, 
long newGuestOsId, GuestOSHypervisorMapping mapping) {
+        LOG.debug("Updating guest os id: " + oldGuestOsId + " to id: " + 
newGuestOsId + " in hypervisor mapping - " + mapping.toString());
+        try {
+            PreparedStatement pstmt = 
conn.prepareStatement(updateGuestOsHypervisorSql);
+            pstmt.setLong(1, newGuestOsId);
+            pstmt.setLong(2, oldGuestOsId);
+            pstmt.setString(3, mapping.getHypervisorType());
+            pstmt.setString(4, mapping.getHypervisorVersion());
+            pstmt.setString(5, mapping.getGuestOsName());
+            pstmt.executeUpdate();
+        } catch (SQLException e) {
+            LOG.error("Failed to update guest OS id in hypervisor mapping due 
to: " + e.getMessage(), e);
+        }
+    }
+
+    private boolean isValidGuestOSHypervisorMapping(GuestOSHypervisorMapping 
mapping) {
+        if (mapping != null && mapping.isValid()) {
+            return true;
+        }
+
+        LOG.warn("Invalid Guest OS hypervisor mapping");
+        return false;
+    }
+}
diff --git 
a/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade41400to41500.java 
b/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade41400to41500.java
index ba969ae..f35f10a 100644
--- a/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade41400to41500.java
+++ b/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade41400to41500.java
@@ -29,11 +29,14 @@ import java.util.Map;
 
 import org.apache.log4j.Logger;
 
+import com.cloud.storage.GuestOSHypervisorMapping;
+import com.cloud.upgrade.GuestOsMapper;
 import com.cloud.utils.exception.CloudRuntimeException;
 
 public class Upgrade41400to41500 implements DbUpgrade {
 
     final static Logger LOG = Logger.getLogger(Upgrade41400to41500.class);
+    private GuestOsMapper guestOsMapper = new GuestOsMapper();
 
     @Override
     public String[] getUpgradableVersionRange() {
@@ -64,6 +67,7 @@ public class Upgrade41400to41500 implements DbUpgrade {
     @Override
     public void performDataMigration(Connection conn) {
         addRolePermissionsForNewReadOnlyAndSupportRoles(conn);
+        updateGuestOsMappings(conn);
     }
 
     private void addRolePermissionsForNewReadOnlyAndSupportRoles(final 
Connection conn) {
@@ -348,6 +352,240 @@ public class Upgrade41400to41500 implements DbUpgrade {
         }
     }
 
+    private void updateGuestOsMappings(final Connection conn) {
+        LOG.debug("Updating guest OS mappings");
+
+        // The below existing Guest OS Ids must be used for updating the guest 
OS hypervisor mappings
+        // CentOS - 1, Debian - 2, Oracle - 3, RedHat - 4, SUSE - 5, Windows - 
6, Other - 7, Novel - 8, Unix - 9, Ubuntu - 10, None - 11
+
+        // OVF configured OS while registering deploy-as-is templates Linux 
3.x Kernel OS
+        guestOsMapper.addGuestOsAndHypervisorMappings(11, "OVF Configured OS", 
null);
+
+        List<GuestOSHypervisorMapping> mappings = new 
ArrayList<GuestOSHypervisorMapping>();
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.0", 
"other3xLinux64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.5", 
"other3xLinux64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7", 
"other3xLinux64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.1", 
"other3xLinux64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.2", 
"other3xLinux64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.3", 
"other3xLinux64Guest"));
+        guestOsMapper.addGuestOsAndHypervisorMappings(2, "Linux 3.x Kernel (64 
bit)", mappings);
+        mappings.clear();
+
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.0", 
"other3xLinuxGuest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.5", 
"other3xLinuxGuest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7", 
"other3xLinuxGuest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.1", 
"other3xLinuxGuest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.2", 
"other3xLinuxGuest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.3", 
"other3xLinuxGuest"));
+        guestOsMapper.addGuestOsAndHypervisorMappings(2, "Linux 3.x Kernel (32 
bit)", mappings);
+        mappings.clear();
+
+        // Add Amazonlinux as support guest os, and VMWare guest os mappings
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.1", 
"amazonlinux2_64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.2", 
"amazonlinux2_64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.3", 
"amazonlinux2_64Guest"));
+        guestOsMapper.addGuestOsAndHypervisorMappings(7, "Amazon Linux 2 (64 
bit)", mappings);
+        mappings.clear();
+
+        // Add asianux4 32 as support guest os, and VMWare guest os mappings
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.0", 
"asianux4Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.5", 
"asianux4Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7", 
"asianux4Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.1", 
"asianux4Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.2", 
"asianux4Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.3", 
"asianux4Guest"));
+        guestOsMapper.addGuestOsAndHypervisorMappings(7, "Asianux Server 4 (32 
bit)", mappings);
+        mappings.clear();
+
+        // Add asianux4 64 as support guest os, and VMWare guest os mappings
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.0", 
"asianux4_64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.5", 
"asianux4_64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7", 
"asianux4_64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.1", 
"asianux4_64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.2", 
"asianux4_64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.3", 
"asianux4_64Guest"));
+        guestOsMapper.addGuestOsAndHypervisorMappings(7, "Asianux Server 4 (64 
bit)", mappings);
+        mappings.clear();
+
+        // Add asianux5 32 as support guest os, and VMWare guest os mappings
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.0", 
"asianux5Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.5", 
"asianux5Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7", 
"asianux5Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.1", 
"asianux5Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.2", 
"asianux5Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.3", 
"asianux5Guest"));
+        guestOsMapper.addGuestOsAndHypervisorMappings(7, "Asianux Server 5 (32 
bit)", mappings);
+        mappings.clear();
+
+        // Add asianux5 64 as support guest os, and VMWare guest os mappings
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.0", 
"asianux5_64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.5", 
"asianux5_64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7", 
"asianux5_64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.1", 
"asianux5_64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.2", 
"asianux5_64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.3", 
"asianux5_64Guest"));
+        guestOsMapper.addGuestOsAndHypervisorMappings(7, "Asianux Server 5 (64 
bit)", mappings);
+        mappings.clear();
+
+        // Add asianux7 32 as support guest os, and VMWare guest os mappings
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.5", 
"asianux7Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7", 
"asianux7Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.1", 
"asianux7Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.2", 
"asianux7Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.3", 
"asianux7Guest"));
+        guestOsMapper.addGuestOsAndHypervisorMappings(7, "Asianux Server 7 (32 
bit)", mappings);
+        mappings.clear();
+
+        // Add asianux7 64 as support guest os, and  VMWare guest os mappings
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.5", 
"asianux7_64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7", 
"asianux7_64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.1", 
"asianux7_64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.2", 
"asianux7_64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.3", 
"asianux7_64Guest"));
+        guestOsMapper.addGuestOsAndHypervisorMappings(7, "Asianux Server 7 (64 
bit)", mappings);
+        mappings.clear();
+
+        // Add asianux8 as support guest os, and VMWare guest os mappings
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7", 
"asianux8_64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.1", 
"asianux8_64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.2", 
"asianux8_64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.3", 
"asianux8_64Guest"));
+        guestOsMapper.addGuestOsAndHypervisorMappings(7, "Asianux Server 8 (64 
bit)", mappings);
+        mappings.clear();
+
+        // Add eComStation 2.0 as support guest os, and VMWare guest os 
mappings
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7", 
"eComStation2Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.1", 
"eComStation2Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.2", 
"eComStation2Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.3", 
"eComStation2Guest"));
+        guestOsMapper.addGuestOsAndHypervisorMappings(7, "eComStation 2.0", 
mappings);
+        mappings.clear();
+
+        // Add macOS 10.13 (64 bit) as support guest os, and VMWare guest os 
mappings
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7", 
"darwin17_64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.1", 
"darwin17_64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.2", 
"darwin17_64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.3", 
"darwin17_64Guest"));
+        guestOsMapper.addGuestOsAndHypervisorMappings(7, "macOS 10.13 (64 
bit)", mappings);
+        mappings.clear();
+
+        // Add macOS 10.14 (64 bit) as support guest os, and VMWare guest os 
mapping
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7", 
"darwin18_64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.1", 
"darwin18_64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.2", 
"darwin18_64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.3", 
"darwin18_64Guest"));
+        guestOsMapper.addGuestOsAndHypervisorMappings(7, "macOS 10.14 (64 
bit)", mappings);
+        mappings.clear();
+
+        // Add Fedora Linux (64 bit) as support guest os, and VMWare guest os 
mappings
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.0", 
"fedora64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.5", 
"fedora64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7", 
"fedora64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.1", 
"fedora64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.2", 
"fedora64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.3", 
"fedora64Guest"));
+        guestOsMapper.addGuestOsAndHypervisorMappings(7, "Fedora Linux (64 
bit)", mappings);
+        mappings.clear();
+
+        // Add Fedora Linux as support guest os, and VMWare guest os mappings
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.0", 
"fedoraGuest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.5", 
"fedoraGuest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7", 
"fedoraGuest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.1", 
"fedoraGuest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.2", 
"fedoraGuest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.3", 
"fedoraGuest"));
+        guestOsMapper.addGuestOsAndHypervisorMappings(7, "Fedora Linux", 
mappings);
+        mappings.clear();
+
+        // Add Mandrake Linux as support guest os, and VMWare guest os mappings
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.0", 
"mandrakeGuest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.5", 
"mandrakeGuest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7", 
"mandrakeGuest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.1", 
"mandrakeGuest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.2", 
"mandrakeGuest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.3", 
"mandrakeGuest"));
+        guestOsMapper.addGuestOsAndHypervisorMappings(7, "Mandrake Linux", 
mappings);
+        mappings.clear();
+
+        // Add Mandriva Linux (64 bit)  as support guest os, and VMWare guest 
os mappings
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.0", 
"mandriva64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.5", 
"mandriva64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7", 
"mandriva64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.1", 
"mandriva64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.2", 
"mandriva64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.3", 
"mandriva64Guest"));
+        guestOsMapper.addGuestOsAndHypervisorMappings(7, "Mandriva Linux (64 
bit)", mappings);
+        mappings.clear();
+
+        // Add Mandriva Linux  as support guest os, and VMWare guest os 
mappings
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.0", 
"mandrivaGuest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.5", 
"mandrivaGuest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7", 
"mandrivaGuest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.1", 
"mandrivaGuest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.2", 
"mandrivaGuest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.3", 
"mandrivaGuest"));
+        guestOsMapper.addGuestOsAndHypervisorMappings(7, "Mandriva Linux", 
mappings);
+        mappings.clear();
+
+        // Add SCO OpenServer 5   as support guest os, and VMWare guest os 
mappings
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.0", 
"openServer5Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.5", 
"openServer5Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7", 
"openServer5Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.1", 
"openServer5Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.2", 
"openServer5Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.3", 
"openServer5Guest"));
+        guestOsMapper.addGuestOsAndHypervisorMappings(7, "SCO OpenServer 5", 
mappings);
+        mappings.clear();
+
+        // Add SCO OpenServer 6 as support guest os, and VMWare guest os 
mappings
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.0", 
"openServer6Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.5", 
"openServer6Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7", 
"openServer6Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.1", 
"openServer6Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.2", 
"openServer6Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.3", 
"openServer6Guest"));
+        guestOsMapper.addGuestOsAndHypervisorMappings(7, "SCO OpenServer 6", 
mappings);
+        mappings.clear();
+
+        // Add OpenSUSE Linux (64 bit) as support guest os, and VMWare guest 
os mappings
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.0", 
"opensuse64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.5", 
"opensuse64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7", 
"opensuse64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.1", 
"opensuse64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.2", 
"opensuse64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.3", 
"opensuse64Guest"));
+        guestOsMapper.addGuestOsAndHypervisorMappings(7, "OpenSUSE Linux (64 
bit)", mappings);
+        mappings.clear();
+
+        // Add OpenSUSE Linux (32 bit) as support guest os, and VMWare guest 
os mappings
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.0", 
"opensuseGuest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.5", 
"opensuseGuest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7", 
"opensuseGuest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.1", 
"opensuseGuest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.2", 
"opensuseGuest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.3", 
"opensuseGuest"));
+        guestOsMapper.addGuestOsAndHypervisorMappings(7, "OpenSUSE Linux (32 
bit)", mappings);
+        mappings.clear();
+
+        // Add Solaris 11 (64 bit) as support guest os, and VMWare guest os 
mappings
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.0", 
"solaris11_64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.5", 
"solaris11_64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7", 
"solaris11_64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.1", 
"solaris11_64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.2", 
"solaris11_64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.3", 
"solaris11_64Guest"));
+        guestOsMapper.addGuestOsAndHypervisorMappings(7, "Solaris 11 (64 
bit)", mappings);
+        mappings.clear();
+
+        // Add  VMware Photon (64 bit) as support guest os, and VMWare guest 
os mappings
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.5", 
"vmwarePhoton64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7", 
"vmwarePhoton64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.1", 
"vmwarePhoton64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.2", 
"vmwarePhoton64Guest"));
+        mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.3", 
"vmwarePhoton64Guest"));
+        guestOsMapper.addGuestOsAndHypervisorMappings(7, "VMware Photon (64 
bit)", mappings);
+    }
+
     @Override
     public InputStream[] getCleanupScripts() {
         final String scriptFile = 
"META-INF/db/schema-41400to41500-cleanup.sql";
diff --git 
a/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade41500to41510.java 
b/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade41500to41510.java
index f12cf46..9cae725 100644
--- a/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade41500to41510.java
+++ b/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade41500to41510.java
@@ -22,19 +22,24 @@ import java.sql.Connection;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashSet;
+import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
 import org.apache.log4j.Logger;
 
 import com.cloud.hypervisor.Hypervisor;
+import com.cloud.storage.GuestOSHypervisorMapping;
+import com.cloud.upgrade.GuestOsMapper;
 import com.cloud.utils.exception.CloudRuntimeException;
 
 public class Upgrade41500to41510 implements DbUpgrade, 
DbUpgradeSystemVmTemplate {
 
     final static Logger LOG = Logger.getLogger(Upgrade41500to41510.class);
+    private GuestOsMapper guestOsMapper = new GuestOsMapper();
 
     @Override
     public String[] getUpgradableVersionRange() {
@@ -64,6 +69,8 @@ public class Upgrade41500to41510 implements DbUpgrade, 
DbUpgradeSystemVmTemplate
 
     @Override
     public void performDataMigration(Connection conn) {
+        correctGuestOsNames(conn);
+        updateGuestOsMappings(conn);
     }
 
     @Override
@@ -235,6 +242,138 @@ public class Upgrade41500to41510 implements DbUpgrade, 
DbUpgradeSystemVmTemplate
         LOG.debug("Updating System Vm Template IDs Complete");
     }
 
+    private void correctGuestOsNames(final Connection conn) {
+        guestOsMapper.updateGuestOsName(7, "Fedora Linux", "Fedora Linux (32 
bit)");
+        guestOsMapper.updateGuestOsName(7, "Mandriva Linux", "Mandriva Linux 
(32 bit)");
+
+        GuestOSHypervisorMapping mapping = new 
GuestOSHypervisorMapping("VMware", "6.7.3", "opensuseGuest");
+        guestOsMapper.updateGuestOsNameFromMapping("OpenSUSE Linux (32 bit)", 
mapping);
+    }
+
+    private void updateGuestOsMappings(final Connection conn) {
+        LOG.debug("Updating guest OS mappings");
+
+        // Add support for SUSE Linux Enterprise Desktop 12 SP3 (64-bit) for 
Xenserver 8.1.0
+        List<GuestOSHypervisorMapping> mappings = new 
ArrayList<GuestOSHypervisorMapping>();
+        mappings.add(new GuestOSHypervisorMapping("Xenserver", "8.1.0", "SUSE 
Linux Enterprise Desktop 12 SP3 (64-bit)"));
+        guestOsMapper.addGuestOsAndHypervisorMappings (5, "SUSE Linux 
Enterprise Desktop 12 SP3 (64-bit)", mappings);
+        mappings.clear();
+
+        // Add support for SUSE Linux Enterprise Desktop 12 SP4 (64-bit) for 
Xenserver 8.1.0
+        mappings.add(new GuestOSHypervisorMapping("Xenserver", "8.1.0", "SUSE 
Linux Enterprise Desktop 12 SP4 (64-bit)"));
+        guestOsMapper.addGuestOsAndHypervisorMappings (5, "SUSE Linux 
Enterprise Desktop 12 SP4 (64-bit)", mappings);
+        mappings.clear();
+
+        // Add support for SUSE Linux Enterprise Server 12 SP4 (64-bit) for 
Xenserver 8.1.0
+        mappings.add(new GuestOSHypervisorMapping("Xenserver", "8.1.0", "SUSE 
Linux Enterprise Server 12 SP4 (64-bit)"));
+        mappings.add(new GuestOSHypervisorMapping("Xenserver", "8.1.0", 
"NeoKylin Linux Server 7"));
+        guestOsMapper.addGuestOsAndHypervisorMappings(5, "SUSE Linux 
Enterprise Server 12 SP4 (64-bit)", mappings);
+        mappings.clear();
+
+        // Add support for Scientific Linux 7 for Xenserver 8.1.0
+        mappings.add(new GuestOSHypervisorMapping("Xenserver", "8.1.0", 
"Scientific Linux 7"));
+        guestOsMapper.addGuestOsAndHypervisorMappings (9, "Scientific Linux 
7", mappings);
+        mappings.clear();
+
+        // Add support for NeoKylin Linux Server 7 for Xenserver 8.1.0
+        guestOsMapper.addGuestOsAndHypervisorMappings(9, "NeoKylin Linux 
Server 7", mappings); //334
+        mappings.clear();
+
+        // Pass Guest OS Ids to update pre-4.14 mappings
+        // Add support CentOS 8 for Xenserver 8.1.0
+        guestOsMapper.addGuestOsHypervisorMapping(new 
GuestOSHypervisorMapping("Xenserver", "8.1.0", "CentOS 8"), 297);
+
+        // Add support for Debian Buster 10 for Xenserver 8.1.0
+        guestOsMapper.addGuestOsHypervisorMapping(new 
GuestOSHypervisorMapping("Xenserver", "8.1.0", "Debian Buster 10"), 292);
+        guestOsMapper.addGuestOsHypervisorMapping(new 
GuestOSHypervisorMapping("Xenserver", "8.1.0", "Debian Buster 10"), 293);
+
+        // Add support for SUSE Linux Enterprise 15 (64-bit) for Xenserver 
8.1.0
+        guestOsMapper.addGuestOsHypervisorMapping(new 
GuestOSHypervisorMapping("Xenserver", "8.1.0", "SUSE Linux Enterprise 15 
(64-bit)"), 291);
+
+        // Add support for Ubuntu Focal Fossa 20.04 for Xenserver 8.2.0
+        mappings.add(new GuestOSHypervisorMapping("Xenserver", "8.2.0", 
"Ubuntu Focal Fossa 20.04"));
+        guestOsMapper.addGuestOsAndHypervisorMappings(10, "Ubuntu 20.04 LTS", 
mappings);
+        mappings.clear();
+
+        // Add support for darwin19_64Guest from VMware 7.0
+        mappings.add(new GuestOSHypervisorMapping("VMware", "7.0", 
"darwin19_64Guest"));
+        guestOsMapper.addGuestOsAndHypervisorMappings(7, "macOS 10.15 (64 
bit)", mappings);
+        mappings.clear();
+
+        // Add support for debian11_64Guest from VMware 7.0
+        mappings.add(new GuestOSHypervisorMapping("VMware", "7.0", 
"debian11_64Guest"));
+        guestOsMapper.addGuestOsAndHypervisorMappings(2, "Debian GNU/Linux 11 
(64-bit)", mappings);
+        mappings.clear();
+
+        // Add support for debian11Guest from VMware 7.0
+        mappings.add(new GuestOSHypervisorMapping("VMware", "7.0", 
"debian11Guest"));
+        guestOsMapper.addGuestOsAndHypervisorMappings(2, "Debian GNU/Linux 11 
(32-bit)", mappings);
+        mappings.clear();
+
+        // Add support for windows2019srv_64Guest from VMware 7.0
+        guestOsMapper.addGuestOsHypervisorMapping(new 
GuestOSHypervisorMapping("VMware", "7.0", "windows2019srv_64Guest"), 276);
+
+        // Add support for amazonlinux3_64Guest from VMware 7.0.1.0
+        mappings.add(new GuestOSHypervisorMapping("VMware", "7.0.1.0", 
"amazonlinux3_64Guest"));
+        guestOsMapper.addGuestOsAndHypervisorMappings(7, "Amazon Linux 3 (64 
bit)", mappings);
+        mappings.clear();
+
+        // Add support for asianux9_64Guest from VMware 7.0.1.0
+        mappings.add(new GuestOSHypervisorMapping("VMware", "7.0.1.0", 
"asianux9_64Guest"));
+        guestOsMapper.addGuestOsAndHypervisorMappings(7, "Asianux Server 9 (64 
bit)", mappings);
+        mappings.clear();
+
+        // Add support for centos9_64Guest from VMware 7.0.1.0
+        mappings.add(new GuestOSHypervisorMapping("VMware", "7.0.1.0", 
"centos9_64Guest"));
+        guestOsMapper.addGuestOsAndHypervisorMappings(1, "CentOS 9", mappings);
+        mappings.clear();
+
+        // Add support for darwin20_64Guest from VMware 7.0.1.0
+        mappings.add(new GuestOSHypervisorMapping("VMware", "7.0.1.0", 
"darwin20_64Guest"));
+        // Add support for darwin21_64Guest from VMware 7.0.1.0
+        mappings.add(new GuestOSHypervisorMapping("VMware", "7.0.1.0", 
"darwin21_64Guest"));
+        guestOsMapper.addGuestOsAndHypervisorMappings(7, "macOS 11 (64 bit)", 
mappings);
+        mappings.clear();
+
+        // Add support for freebsd13_64Guest from VMware 7.0.1.0
+        mappings.add(new GuestOSHypervisorMapping("VMware", "7.0.1.0", 
"freebsd13_64Guest"));
+        guestOsMapper.addGuestOsAndHypervisorMappings(9, "FreeBSD 13 
(64-bit)", mappings);
+        mappings.clear();
+
+        // Add support for freebsd13Guest from VMware 7.0.1.0
+        mappings.add(new GuestOSHypervisorMapping("VMware", "7.0.1.0", 
"freebsd13Guest"));
+        guestOsMapper.addGuestOsAndHypervisorMappings(9, "FreeBSD 13 
(32-bit)", mappings);
+        mappings.clear();
+
+        // Add support for oracleLinux9_64Guest from VMware 7.0.1.0
+        mappings.add(new GuestOSHypervisorMapping("VMware", "7.0.1.0", 
"oracleLinux9_64Guest"));
+        guestOsMapper.addGuestOsAndHypervisorMappings(3, "Oracle Linux 9", 
mappings);
+        mappings.clear();
+
+        // Add support for other5xLinux64Guest from VMware 7.0.1.0
+        mappings.add(new GuestOSHypervisorMapping("VMware", "7.0.1.0", 
"other5xLinux64Guest"));
+        guestOsMapper.addGuestOsAndHypervisorMappings(2, "Linux 5.x Kernel 
(64-bit)", mappings);
+        mappings.clear();
+
+        // Add support for other5xLinuxGuest from VMware 7.0.1.0
+        mappings.add(new GuestOSHypervisorMapping("VMware", "7.0.1.0", 
"other5xLinuxGuest"));
+        guestOsMapper.addGuestOsAndHypervisorMappings(2, "Linux 5.x Kernel 
(32-bit)", mappings);
+        mappings.clear();
+
+        // Add support for rhel9_64Guest from VMware 7.0.1.0
+        mappings.add(new GuestOSHypervisorMapping("VMware", "7.0.1.0", 
"rhel9_64Guest"));
+        guestOsMapper.addGuestOsAndHypervisorMappings(4, "Red Hat Enterprise 
Linux 9.0", mappings);
+        mappings.clear();
+
+        // Add support for sles16_64Guest from VMware 7.0.1.0
+        mappings.add(new GuestOSHypervisorMapping("VMware", "7.0.1.0", 
"sles16_64Guest"));
+        guestOsMapper.addGuestOsAndHypervisorMappings(5, "SUSE Linux 
Enterprise Server 16 (64-bit)", mappings);
+        mappings.clear();
+
+        // Add support for windows2019srvNext_64Guest from VMware 7.0.1.0 - 
Pass Guest OS Ids to update pre-4.14 mappings
+        guestOsMapper.addGuestOsHypervisorMapping(new 
GuestOSHypervisorMapping("VMware", "7.0.1.0", "windows2019srvNext_64Guest"), 
276);
+    }
+
     @Override
     public InputStream[] getCleanupScripts() {
         final String scriptFile = 
"META-INF/db/schema-41500to41510-cleanup.sql";
diff --git 
a/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade41510to41520.java 
b/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade41510to41520.java
index 8416651..9f3e344 100644
--- a/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade41510to41520.java
+++ b/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade41510to41520.java
@@ -16,13 +16,20 @@
 // under the License.
 package com.cloud.upgrade.dao;
 
+import com.cloud.storage.GuestOSHypervisorMapping;
+import com.cloud.upgrade.GuestOsMapper;
 import com.cloud.utils.exception.CloudRuntimeException;
 
 import java.io.InputStream;
 import java.sql.Connection;
 
+import org.apache.log4j.Logger;
+
 public class Upgrade41510to41520 implements DbUpgrade {
 
+    final static Logger LOG = Logger.getLogger(Upgrade41510to41520.class);
+    private GuestOsMapper guestOsMapper = new GuestOsMapper();
+
     @Override
     public String[] getUpgradableVersionRange() {
         return new String[]{"4.15.1.0", "4.15.2.0"};
@@ -51,6 +58,12 @@ public class Upgrade41510to41520 implements DbUpgrade {
 
     @Override
     public void performDataMigration(Connection conn) {
+        correctGuestOsIdsInHypervisorMapping(conn);
+    }
+
+    private void correctGuestOsIdsInHypervisorMapping(final Connection conn) {
+        LOG.debug("Correcting guest OS ids in hypervisor mappings");
+        guestOsMapper.updateGuestOsIdInHypervisorMapping(conn, 10, "Ubuntu 
20.04 LTS", new GuestOSHypervisorMapping("Xenserver", "8.2.0", "Ubuntu Focal 
Fossa 20.04"));
     }
 
     @Override
diff --git 
a/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade41520to41600.java 
b/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade41520to41600.java
index fdc2618..b498de7 100644
--- a/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade41520to41600.java
+++ b/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade41520to41600.java
@@ -25,6 +25,8 @@ import java.sql.SQLException;
 import java.util.Arrays;
 import java.util.List;
 
+import com.cloud.storage.GuestOSHypervisorMapping;
+import com.cloud.upgrade.GuestOsMapper;
 import com.cloud.upgrade.RolePermissionChecker;
 import com.cloud.upgrade.SystemVmTemplateRegistration;
 import org.apache.cloudstack.acl.RoleType;
@@ -37,6 +39,7 @@ public class Upgrade41520to41600 implements DbUpgrade, 
DbUpgradeSystemVmTemplate
     final static Logger LOG = Logger.getLogger(Upgrade41520to41600.class);
     private SystemVmTemplateRegistration systemVmTemplateRegistration;
     private RolePermissionChecker rolePermissionChecker = new 
RolePermissionChecker();
+    private GuestOsMapper guestOsMapper = new GuestOsMapper();
 
     public Upgrade41520to41600() {
     }
@@ -71,6 +74,12 @@ public class Upgrade41520to41600 implements DbUpgrade, 
DbUpgradeSystemVmTemplate
     public void performDataMigration(Connection conn) {
         generateUuidForExistingSshKeyPairs(conn);
         populateAnnotationPermissions(conn);
+        correctGuestOsIdsInHypervisorMapping(conn);
+    }
+
+    private void correctGuestOsIdsInHypervisorMapping(final Connection conn) {
+        LOG.debug("Correcting guest OS ids in hypervisor mappings");
+        guestOsMapper.updateGuestOsIdInHypervisorMapping(conn, 10, "Ubuntu 
20.04 LTS", new GuestOSHypervisorMapping("Xenserver", "8.2.0", "Ubuntu Focal 
Fossa 20.04"));
     }
 
     private void populateAnnotationPermissions(Connection conn) {
diff --git 
a/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade41600to41610.java 
b/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade41600to41610.java
index ea796a9..8fff153 100644
--- a/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade41600to41610.java
+++ b/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade41600to41610.java
@@ -17,6 +17,8 @@
 
 package com.cloud.upgrade.dao;
 
+import com.cloud.storage.GuestOSHypervisorMapping;
+import com.cloud.upgrade.GuestOsMapper;
 import com.cloud.upgrade.SystemVmTemplateRegistration;
 import com.cloud.utils.exception.CloudRuntimeException;
 import org.apache.log4j.Logger;
@@ -28,6 +30,7 @@ public class Upgrade41600to41610 implements DbUpgrade, 
DbUpgradeSystemVmTemplate
 
     final static Logger LOG = Logger.getLogger(Upgrade41600to41610.class);
     private SystemVmTemplateRegistration systemVmTemplateRegistration;
+    private GuestOsMapper guestOsMapper = new GuestOsMapper();
 
     @Override
     public String[] getUpgradableVersionRange() {
@@ -57,6 +60,12 @@ public class Upgrade41600to41610 implements DbUpgrade, 
DbUpgradeSystemVmTemplate
 
     @Override
     public void performDataMigration(Connection conn) {
+        correctGuestOsIdsInHypervisorMapping(conn);
+    }
+
+    private void correctGuestOsIdsInHypervisorMapping(final Connection conn) {
+        LOG.debug("Correcting guest OS ids in hypervisor mappings");
+        guestOsMapper.updateGuestOsIdInHypervisorMapping(conn, 10, "Ubuntu 
20.04 LTS", new GuestOSHypervisorMapping("Xenserver", "8.2.0", "Ubuntu Focal 
Fossa 20.04"));
     }
 
     @Override
diff --git 
a/engine/schema/src/main/resources/META-INF/db/schema-41400to41500.sql 
b/engine/schema/src/main/resources/META-INF/db/schema-41400to41500.sql
index 9ead785..a2db61b 100644
--- a/engine/schema/src/main/resources/META-INF/db/schema-41400to41500.sql
+++ b/engine/schema/src/main/resources/META-INF/db/schema-41400to41500.sql
@@ -588,249 +588,6 @@ CREATE VIEW `cloud`.`image_store_view` AS
             left join
         `cloud`.`image_store_details` ON image_store_details.store_id = 
image_store.id;
 
--- OVF configured OS while registering deploy-as-is templates Linux 3.x Kernel 
OS
-INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name, created) 
VALUES (305, UUID(), 11, 'OVF Configured OS', now());
-INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name, created) 
VALUES (306, UUID(), 2, 'Linux 3.x Kernel (64 bit)', now());
-INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name, created) 
VALUES (307, UUID(), 2, 'Linux 3.x Kernel (32 bit)', now());
-
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(), 'VMware', '6.0', 'other3xLinux64Guest', 306, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(), 'VMware', '6.5', 'other3xLinux64Guest', 306, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(), 'VMware', '6.7', 'other3xLinux64Guest', 306, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(), 'VMware', '6.7.1', 'other3xLinux64Guest', 306, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(), 'VMware', '6.7.2', 'other3xLinux64Guest', 306, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(), 'VMware', '6.7.3', 'other3xLinux64Guest', 306, now(), 0);
-
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(), 'VMware', '6.0', 'other3xLinuxGuest', 307, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(), 'VMware', '6.5', 'other3xLinuxGuest', 307, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(), 'VMware', '6.7', 'other3xLinuxGuest', 307, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(), 'VMware', '6.7.1', 'other3xLinuxGuest', 307, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(), 'VMware', '6.7.2', 'other3xLinuxGuest', 307, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid, hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(), 'VMware', '6.7.3', 'other3xLinuxGuest', 307, now(), 0);
-
-
--- Add amazonlinux as support guest os
-INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name, created) 
VALUES (308, UUID(), 7, 'Amazon Linux 2 (64 bit)', now());
--- Amazonlinux VMWare guest os mapping
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.1', 'amazonlinux2_64Guest', 308, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.2', 'amazonlinux2_64Guest', 308, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.3', 'amazonlinux2_64Guest', 308, now(), 0);
-
-
--- Add asianux4 32 as support guest os
-INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name, created) 
VALUES (309, UUID(), 7, 'Asianux Server 4 (32 bit)', now());
--- asianux4 VMWare guest os mapping
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.0', 'asianux4Guest', 309, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.5', 'asianux4Guest', 309, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7', 'asianux4Guest', 309, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.1', 'asianux4Guest', 309, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.2', 'asianux4Guest', 309, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.3', 'asianux4Guest', 309, now(), 0);
-
-
--- Add asianux4 64 as support guest os
-INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name, created) 
VALUES (310, UUID(), 7, 'Asianux Server 4 (64 bit)', now());
--- asianux4 VMWare guest os mapping
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.0', 'asianux4_64Guest', 310, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.5', 'asianux4_64Guest', 310, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7', 'asianux4_64Guest', 310, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.1', 'asianux4_64Guest', 310, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.2', 'asianux4_64Guest', 310, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.3', 'asianux4_64Guest', 310, now(), 0);
-
-
--- Add asianux5 32 as support guest os
-INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name, created) 
VALUES (311, UUID(), 7, 'Asianux Server 5 (32 bit)', now());
--- asianux5 VMWare guest os mapping
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.0', 'asianux5Guest', 311, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.5', 'asianux5Guest', 311, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7', 'asianux5Guest', 311, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.1', 'asianux5Guest', 311, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.2', 'asianux5Guest', 311, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.3', 'asianux5Guest', 311, now(), 0);
-
-
--- Add asianux5 64 as support guest os
-INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name, created) 
VALUES (312, UUID(), 7, 'Asianux Server 5 (64 bit)', now());
--- asianux5 VMWare guest os mapping
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.0', 'asianux5_64Guest', 312, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.5', 'asianux5_64Guest', 312, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7', 'asianux5_64Guest', 312, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.1', 'asianux5_64Guest', 312, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.2', 'asianux5_64Guest', 312, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.3', 'asianux5_64Guest', 312, now(), 0);
-
-
--- Add asianux7 32 as support guest os
-INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name, created) 
VALUES (313, UUID(), 7, 'Asianux Server 7 (32 bit)', now());
--- asianux7 VMWare guest os mapping
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.5', 'asianux7Guest', 313, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7', 'asianux7Guest', 313, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.1', 'asianux7Guest', 313, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.2', 'asianux7Guest', 313, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.3', 'asianux7Guest', 313, now(), 0);
-
-
--- Add asianux7 64 as support guest os
-INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name, created) 
VALUES (314, UUID(), 7, 'Asianux Server 7 (64 bit)', now());
--- asianux7 VMWare guest os mapping
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.5', 'asianux7_64Guest', 314, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7', 'asianux7_64Guest', 314, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.1', 'asianux7_64Guest', 314, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.2', 'asianux7_64Guest', 314, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.3', 'asianux7_64Guest', 314, now(), 0);
-
-
--- Add asianux8 as support guest os
-INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name, created) 
VALUES (315, UUID(), 7, 'Asianux Server 8 (64 bit)', now());
--- asianux8 VMWare guest os mapping
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7', 'asianux8_64Guest', 315, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.1', 'asianux8_64Guest', 315, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.2', 'asianux8_64Guest', 315, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.3', 'asianux8_64Guest', 315, now(), 0);
-
-
--- Add eComStation 2.0   as support guest os
-INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name, created) 
VALUES (316, UUID(), 7, 'eComStation 2.0', now());
--- eComStation 2.0 VMWare guest os mapping
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7', 'eComStation2Guest', 316, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.1', 'eComStation2Guest', 316, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.2', 'eComStation2Guest', 316, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.3', 'eComStation2Guest', 316, now(), 0);
-
--- Add macOS 10.13 (64 bit)  as support guest os
-INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name, created) 
VALUES (317, UUID(), 7, 'macOS 10.13 (64 bit)', now());
--- macOS 10.13 (64 bit)  VMWare guest os mapping
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7', 'darwin17_64Guest', 317, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.1', 'darwin17_64Guest', 317, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.2', 'darwin17_64Guest', 317, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.3', 'darwin17_64Guest', 317, now(), 0);
-
--- Add macOS 10.14 (64 bit)  as support guest os
-INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name, created) 
VALUES (318, UUID(), 7, 'macOS 10.14 (64 bit)', now());
--- macOS 10.14 (64 bit) VMWare guest os mapping
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7', 'darwin18_64Guest', 318, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.1', 'darwin18_64Guest', 318, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.2', 'darwin18_64Guest', 318, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.3', 'darwin18_64Guest', 318, now(), 0);
-
-
--- Add Fedora Linux (64 bit)   as support guest os
-INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name, created) 
VALUES (319, UUID(), 7, 'Fedora Linux (64 bit)', now());
--- Fedora Linux (64 bit)  VMWare guest os mapping
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.0', 'fedora64Guest', 319, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.5', 'fedora64Guest', 319, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7', 'fedora64Guest', 319, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.1', 'fedora64Guest', 319, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.2', 'fedora64Guest', 319, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.3', 'fedora64Guest', 319, now(), 0);
-
-
--- Add Fedora Linux   as support guest os
-INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name, created) 
VALUES (320, UUID(), 7, 'Fedora Linux', now());
--- Fedora Linux  VMWare guest os mapping
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.0', 'fedoraGuest', 320, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.5', 'fedoraGuest', 320, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7', 'fedoraGuest', 320, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.1', 'fedoraGuest', 320, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.2', 'fedoraGuest', 320, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.3', 'fedoraGuest', 320, now(), 0);
-
--- Add Mandrake Linux   as support guest os
-INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name, created) 
VALUES (321, UUID(), 7, 'Mandrake Linux', now());
--- Mandrake Linux  VMWare guest os mapping
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.0', 'mandrakeGuest', 321, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.5', 'mandrakeGuest', 321, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7', 'mandrakeGuest', 321, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.1', 'mandrakeGuest', 321, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.2', 'mandrakeGuest', 321, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.3', 'mandrakeGuest', 321, now(), 0);
-
--- Add Mandriva Linux (64 bit)  as support guest os
-INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name, created) 
VALUES (322, UUID(), 7, 'Mandriva Linux (64 bit)', now());
--- Mandriva Linux (64 bit)  VMWare guest os mapping
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.0', 'mandriva64Guest', 322, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.5', 'mandriva64Guest', 322, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7', 'mandriva64Guest', 322, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.1', 'mandriva64Guest', 322, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.2', 'mandriva64Guest', 322, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.3', 'mandriva64Guest', 322, now(), 0);
-
-
--- Add Mandriva Linux  as support guest os
-INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name, created) 
VALUES (323, UUID(), 7, 'Mandriva Linux', now());
--- Mandriva Linux  VMWare guest os mapping
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.0', 'mandrivaGuest', 323, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.5', 'mandrivaGuest', 323, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7', 'mandrivaGuest', 323, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.1', 'mandrivaGuest', 323, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.2', 'mandrivaGuest', 323, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.3', 'mandrivaGuest', 323, now(), 0);
-
-
--- Add SCO OpenServer 5   as support guest os
-INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name, created) 
VALUES (324, UUID(), 7, 'SCO OpenServer 5', now());
--- SCO OpenServer 5   VMWare guest os mapping
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.0', 'openServer5Guest', 324, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.5', 'openServer5Guest', 324, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7', 'openServer5Guest', 324, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.1', 'openServer5Guest', 324, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.2', 'openServer5Guest', 324, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.3', 'openServer5Guest', 324, now(), 0);
-
-
--- Add SCO OpenServer 6   as support guest os
-INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name, created) 
VALUES (325, UUID(), 7, 'SCO OpenServer 6', now());
--- SCO OpenServer 6   VMWare guest os mapping
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.0', 'openServer6Guest', 325, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.5', 'openServer6Guest', 325, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7', 'openServer6Guest', 325, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.1', 'openServer6Guest', 325, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.2', 'openServer6Guest', 325, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.3', 'openServer6Guest', 325, now(), 0);
-
-
-
--- Add OpenSUSE Linux (64 bit)    as support guest os
-INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name, created) 
VALUES (326, UUID(), 7, 'OpenSUSE Linux (64 bit)', now());
--- OpenSUSE Linux (64 bit)   VMWare guest os mapping
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.0', 'opensuse64Guest', 326, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.5', 'opensuse64Guest', 326, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7', 'opensuse64Guest', 326, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.1', 'opensuse64Guest', 326, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.2', 'opensuse64Guest', 326, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.3', 'opensuse64Guest', 326, now(), 0);
-
-
--- Add SCO OpenServer 6   as support guest os
-INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name, created) 
VALUES (327, UUID(), 7, 'SCO OpenServer 6', now());
--- SCO OpenServer 6   VMWare guest os mapping
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.0', 'opensuseGuest', 327, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.5', 'opensuseGuest', 327, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7', 'opensuseGuest', 327, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.1', 'opensuseGuest', 327, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.2', 'opensuseGuest', 327, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.3', 'opensuseGuest', 327, now(), 0);
-
-
--- Add Solaris 11 (64 bit)    as support guest os
-INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name, created) 
VALUES (328, UUID(), 7, 'Solaris 11 (64 bit)', now());
--- Solaris 11 (64 bit)    VMWare guest os mapping
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.0', 'solaris11_64Guest', 328, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.5', 'solaris11_64Guest', 328, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7', 'solaris11_64Guest', 328, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.1', 'solaris11_64Guest', 328, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.2', 'solaris11_64Guest', 328, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.3', 'solaris11_64Guest', 328, now(), 0);
-
--- Add  VMware Photon (64 bit)     as support guest os
-INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name, created) 
VALUES (329, UUID(), 7, 'VMware Photon (64 bit)', now());
--- VMware Photon (64 bit)    VMWare guest os mapping
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.5', 'vmwarePhoton64Guest', 329, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7', 'vmwarePhoton64Guest', 329, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.1', 'vmwarePhoton64Guest', 329, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.2', 'vmwarePhoton64Guest', 329, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '6.7.3', 'vmwarePhoton64Guest', 329, now(), 0);
-
 -- Fix OS category for Guest OS 'Other PV Virtio-SCSI (64-bit)'
 UPDATE `cloud`.`guest_os` SET category_id = 7 WHERE id = 275 AND display_name 
= 'Other PV Virtio-SCSI (64-bit)';
 
diff --git 
a/engine/schema/src/main/resources/META-INF/db/schema-41500to41510.sql 
b/engine/schema/src/main/resources/META-INF/db/schema-41500to41510.sql
index 07f832b..97a4a3e 100644
--- a/engine/schema/src/main/resources/META-INF/db/schema-41500to41510.sql
+++ b/engine/schema/src/main/resources/META-INF/db/schema-41500to41510.sql
@@ -18,33 +18,6 @@
 --;
 -- Schema upgrade from 4.15.0.0 to 4.15.1.0
 --;
--- Correct guest OS names
-UPDATE `cloud`.`guest_os` SET display_name='Fedora Linux (32 bit)' WHERE 
id=320;
-UPDATE `cloud`.`guest_os` SET display_name='Mandriva Linux (32 bit)' WHERE 
id=323;
-UPDATE `cloud`.`guest_os` SET display_name='OpenSUSE Linux (32 bit)' WHERE 
id=327;
-
--- Add support for SUSE Linux Enterprise Desktop 12 SP3 (64-bit) for Xenserver 
8.1.0
-INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name, created) 
VALUES (330, UUID(), 5, 'SUSE Linux Enterprise Desktop 12 SP3 (64-bit)', now());
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'Xenserver', '8.1.0', 'SUSE Linux Enterprise Desktop 12 SP3 
(64-bit)', 330, now(), 0);
--- Add support for SUSE Linux Enterprise Desktop 12 SP4 (64-bit) for Xenserver 
8.1.0
-INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name, created) 
VALUES (331, UUID(), 5, 'SUSE Linux Enterprise Desktop 12 SP4 (64-bit)', now());
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'Xenserver', '8.1.0', 'SUSE Linux Enterprise Desktop 12 SP4 
(64-bit)', 331, now(), 0);
--- Add support for SUSE Linux Enterprise Server 12 SP4 (64-bit) for Xenserver 
8.1.0
-INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name, created) 
VALUES (332, UUID(), 5, 'SUSE Linux Enterprise Server 12 SP4 (64-bit)', now());
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'Xenserver', '8.1.0', 'SUSE Linux Enterprise Server 12 SP4 
(64-bit)', 332, now(), 0);
--- Add support for Scientific Linux 7 for Xenserver 8.1.0
-INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name, created) 
VALUES (333, UUID(), 9, 'Scientific Linux 7', now());
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'Xenserver', '8.1.0', 'Scientific Linux 7', 333, now(), 0);
--- Add support for NeoKylin Linux Server 7 for Xenserver 8.1.0
-INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name, created) 
VALUES (334, UUID(), 9, 'NeoKylin Linux Server 7', now());
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'Xenserver', '8.1.0', 'NeoKylin Linux Server 7', 332, now(), 0);
--- Add support CentOS 8 for Xenserver 8.1.0
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'Xenserver', '8.1.0', 'CentOS 8', 297, now(), 0);
--- Add support for Debian Buster 10 for Xenserver 8.1.0
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'Xenserver', '8.1.0', 'Debian Buster 10', 292, now(), 0);
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'Xenserver', '8.1.0', 'Debian Buster 10', 293, now(), 0);
--- Add support for SUSE Linux Enterprise 15 (64-bit) for Xenserver 8.1.0
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'Xenserver', '8.1.0', 'SUSE Linux Enterprise 15 (64-bit)', 291, 
now(), 0);
 
 -- Add XenServer 8.2.0 hypervisor capabilities
 INSERT IGNORE INTO `cloud`.`hypervisor_capabilities`(uuid, hypervisor_type, 
hypervisor_version, max_guests_limit, max_data_volumes_limit, 
max_hosts_per_cluster, storage_motion_supported) values (UUID(), 'XenServer', 
'8.2.0', 1000, 253, 64, 1);
@@ -52,10 +25,6 @@ INSERT IGNORE INTO `cloud`.`hypervisor_capabilities`(uuid, 
hypervisor_type, hype
 -- Copy XenServer 8.1.0 hypervisor guest OS mappings to XenServer 8.2.0
 INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
SELECT UUID(),'Xenserver', '8.2.0', guest_os_name, guest_os_id, 
utc_timestamp(), 0 FROM `cloud`.`guest_os_hypervisor` WHERE 
hypervisor_type='Xenserver' AND hypervisor_version='8.1.0';
 
--- Add support for Ubuntu Focal Fossa 20.04 for Xenserver 8.2.0
-INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name, created) 
VALUES (335, UUID(), 10, 'Ubuntu 20.04 LTS', now());
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'Xenserver', '8.2.0', 'Ubuntu Focal Fossa 20.04', 330, now(), 0);
-
 ALTER TABLE `cloud`.`s2s_customer_gateway` ADD COLUMN `ike_version` varchar(5) 
NOT NULL DEFAULT 'ike' COMMENT 'one of ike, ikev1, ikev2';
 ALTER TABLE `cloud`.`s2s_customer_gateway` ADD COLUMN `split_connections` 
int(1) NOT NULL DEFAULT 0;
 
@@ -63,72 +32,7 @@ ALTER TABLE `cloud`.`s2s_customer_gateway` ADD COLUMN 
`split_connections` int(1)
 INSERT IGNORE INTO `cloud`.`hypervisor_capabilities` (uuid, hypervisor_type, 
hypervisor_version, max_guests_limit, security_group_enabled, 
max_data_volumes_limit, max_hosts_per_cluster, storage_motion_supported, 
vm_snapshot_enabled) values (UUID(), 'VMware', '7.0', 1024, 0, 59, 64, 1, 1);
 INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
SELECT UUID(),'VMware', '7.0', guest_os_name, guest_os_id, utc_timestamp(), 0  
FROM `cloud`.`guest_os_hypervisor` WHERE hypervisor_type='VMware' AND 
hypervisor_version='6.7';
 
--- Add support for darwin19_64Guest from VMware 7.0
-INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name, created) 
VALUES (336, UUID(), 7, 'macOS 10.15 (64 bit)', now());
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '7.0', 'darwin19_64Guest', 336, now(), 0);
-
--- Add support for debian11_64Guest from VMware 7.0
-INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name, created) 
VALUES (337, UUID(), 2, 'Debian GNU/Linux 11 (64-bit)', now());
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '7.0', 'debian11_64Guest', 337, now(), 0);
-
--- Add support for debian11Guest from VMware 7.0
-INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name, created) 
VALUES (338, UUID(), 2, 'Debian GNU/Linux 11 (32-bit)', now());
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '7.0', 'debian11Guest', 338, now(), 0);
-
--- Add support for windows2019srv_64Guest from VMware 7.0
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '7.0', 'windows2019srv_64Guest', 276, now(), 0);
-
-
 -- Add support for VMware 7.0.1.0
 INSERT IGNORE INTO `cloud`.`hypervisor_capabilities` (uuid, hypervisor_type, 
hypervisor_version, max_guests_limit, security_group_enabled, 
max_data_volumes_limit, max_hosts_per_cluster, storage_motion_supported, 
vm_snapshot_enabled) values (UUID(), 'VMware', '7.0.1.0', 1024, 0, 59, 64, 1, 
1);
 INSERT IGNORE INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
SELECT UUID(),'VMware', '7.0.1.0', guest_os_name, guest_os_id, utc_timestamp(), 
0  FROM `cloud`.`guest_os_hypervisor` WHERE hypervisor_type='VMware' AND 
hypervisor_version='7.0';
 
--- Add support for amazonlinux3_64Guest from VMware 7.0.1.0
-INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name, created) 
VALUES (339, UUID(), 7, 'Amazon Linux 3 (64 bit)', now());
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '7.0.1.0', 'amazonlinux3_64Guest', 339, now(), 0);
-
--- Add support for asianux9_64Guest from VMware 7.0.1.0
-INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name, created) 
VALUES (340, UUID(), 7, 'Asianux Server 9 (64 bit)', now());
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '7.0.1.0', 'asianux9_64Guest', 340, now(), 0);
-
--- Add support for centos9_64Guest from VMware 7.0.1.0
-INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name, created) 
VALUES (341, UUID(), 1, 'CentOS 9', now());
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '7.0.1.0', 'centos9_64Guest', 341, now(), 0);
-
--- Add support for darwin20_64Guest from VMware 7.0.1.0
-INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name, created) 
VALUES (342, UUID(), 7, 'macOS 11 (64 bit)', now());
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '7.0.1.0', 'darwin20_64Guest', 342, now(), 0);
-
--- Add support for darwin21_64Guest from VMware 7.0.1.0
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '7.0.1.0', 'darwin21_64Guest', 342, now(), 0);
-
--- Add support for freebsd13_64Guest from VMware 7.0.1.0
-INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name, created) 
VALUES (343, UUID(), 9, 'FreeBSD 13 (64-bit)', now());
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '7.0.1.0', 'freebsd13_64Guest', 343, now(), 0);
-
--- Add support for freebsd13Guest from VMware 7.0.1.0
-INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name, created) 
VALUES (344, UUID(), 9, 'FreeBSD 13 (32-bit)', now());
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '7.0.1.0', 'freebsd13Guest', 344, now(), 0);
-
--- Add support for oracleLinux9_64Guest from VMware 7.0.1.0
-INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name, created) 
VALUES (345, UUID(), 3, 'Oracle Linux 9', now());
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '7.0.1.0', 'oracleLinux9_64Guest', 345, now(), 0);
-
--- Add support for other5xLinux64Guest from VMware 7.0.1.0
-INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name, created) 
VALUES (346, UUID(), 2, 'Linux 5.x Kernel (64-bit)', now());
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '7.0.1.0', 'other5xLinux64Guest', 346, now(), 0);
-
--- Add support for other5xLinuxGuest from VMware 7.0.1.0
-INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name, created) 
VALUES (347, UUID(), 2, 'Linux 5.x Kernel (32-bit)', now());
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '7.0.1.0', 'other5xLinuxGuest', 347, now(), 0);
-
--- Add support for rhel9_64Guest from VMware 7.0.1.0
-INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name, created) 
VALUES (348, UUID(), 4, 'Red Hat Enterprise Linux 9.0', now());
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '7.0.1.0', 'rhel9_64Guest', 348, now(), 0);
-
--- Add support for sles16_64Guest from VMware 7.0.1.0
-INSERT INTO `cloud`.`guest_os` (id, uuid, category_id, display_name, created) 
VALUES (349, UUID(), 5, 'SUSE Linux Enterprise Server 16 (64-bit)', now());
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '7.0.1.0', 'sles16_64Guest', 349, now(), 0);
-
--- Add support for windows2019srvNext_64Guest from VMware 7.0.1.0
-INSERT INTO `cloud`.`guest_os_hypervisor` (uuid,hypervisor_type, 
hypervisor_version, guest_os_name, guest_os_id, created, is_user_defined) 
VALUES (UUID(),'VMware', '7.0.1.0', 'windows2019srvNext_64Guest', 276, now(), 
0);
diff --git a/server/src/main/java/com/cloud/api/ApiResponseHelper.java 
b/server/src/main/java/com/cloud/api/ApiResponseHelper.java
index 914d54d..3621397 100644
--- a/server/src/main/java/com/cloud/api/ApiResponseHelper.java
+++ b/server/src/main/java/com/cloud/api/ApiResponseHelper.java
@@ -3447,7 +3447,7 @@ public class ApiResponseHelper implements 
ResponseGenerator {
         GuestOSResponse response = new GuestOSResponse();
         response.setDescription(guestOS.getDisplayName());
         response.setId(guestOS.getUuid());
-        response.setIsUserDefined(guestOS.isUserDefined());
+        response.setIsUserDefined(guestOS.getIsUserDefined());
         GuestOSCategoryVO category = 
ApiDBUtils.findGuestOsCategoryById(guestOS.getCategoryId());
         if (category != null) {
             response.setOsCategoryId(category.getUuid());
diff --git a/server/src/main/java/com/cloud/server/ManagementServerImpl.java 
b/server/src/main/java/com/cloud/server/ManagementServerImpl.java
index 565efa7..6b88d40 100644
--- a/server/src/main/java/com/cloud/server/ManagementServerImpl.java
+++ b/server/src/main/java/com/cloud/server/ManagementServerImpl.java
@@ -2593,7 +2593,7 @@ public class ManagementServerImpl extends ManagerBase 
implements ManagementServe
             throw new InvalidParameterValueException("Guest OS not found. 
Please specify a valid ID for the Guest OS");
         }
 
-        if (!guestOsHandle.isUserDefined()) {
+        if (!guestOsHandle.getIsUserDefined()) {
             throw new InvalidParameterValueException("Unable to modify system 
defined guest OS");
         }
 
@@ -2635,7 +2635,7 @@ public class ManagementServerImpl extends ManagerBase 
implements ManagementServe
             throw new InvalidParameterValueException("Guest OS not found. 
Please specify a valid ID for the Guest OS");
         }
 
-        if (!guestOs.isUserDefined()) {
+        if (!guestOs.getIsUserDefined()) {
             throw new InvalidParameterValueException("Unable to remove system 
defined guest OS");
         }
 

Reply via email to