From 122b018057cd8d37e0b3fcf11f658b5f11cfe57a Mon Sep 17 00:00:00 2001 From: dahn Date: Thu, 10 Feb 2022 14:27:21 +0100 Subject: [PATCH 1/3] Quota test fixes (#5959) * fixes and cleanups on quota integration test * text changes in exception messages Co-authored-by: Daan Hoogland Co-authored-by: sureshanaparti <12028987+sureshanaparti@users.noreply.github.com> --- test/integration/plugins/test_quota.py | 25 +++++++------------------ 1 file changed, 7 insertions(+), 18 deletions(-) diff --git a/test/integration/plugins/test_quota.py b/test/integration/plugins/test_quota.py index afafc238abc..420d4a9b0c3 100644 --- a/test/integration/plugins/test_quota.py +++ b/test/integration/plugins/test_quota.py @@ -56,11 +56,7 @@ class TestQuota(cloudstackTestCase): @classmethod def tearDownClass(cls): - try: - cleanup_resources(cls.apiclient, cls._cleanup) - except Exception as e: - raise Exception("Warning: Exception during cleanup : %s" % e) - return + super(TestQuota, cls).tearDownClass() def setUp(self): self.apiclient = self.testClient.getApiClient() @@ -73,12 +69,7 @@ class TestQuota(cloudstackTestCase): return def tearDown(self): - try: - #Clean up, terminate the created templates - cleanup_resources(self.apiclient, self.cleanup) - except Exception as e: - raise Exception("Warning: Exception during cleanup : %s" % e) - return + super(TestQuota, self).tearDown() #Check quotaTariffList API returning 22 items @attr(tags=["smoke", "advanced"], required_hardware="false") @@ -244,10 +235,9 @@ class TestQuota(cloudstackTestCase): cmd.startdate = today response = self.apiclient.quotaBalance(cmd) - self.debug("Quota Balance on: %s" % response.startdate) - self.debug("is: %s" % response.startquota) + self.debug(f"Quota Balance: {response.balance}") - self.assertEqual( response.startquota, 10) + self.assertEqual( response.startquota, 0, f"startQuota is supposed to be 0 but was {response.balance.startquota}") return #make credit deposit and check start and end date balances @@ -267,9 +257,8 @@ class TestQuota(cloudstackTestCase): cmd.enddate = today response = self.apiclient.quotaBalance(cmd) - self.debug("Quota Balance on: %s" % response.startdate) - self.debug("is: %s" % response.startquota) + self.debug("Quota Balance: {response.balance}") - self.assertEqual( response.startquota, 0) - self.assertEqual( response.endquota, 10) + self.assertEqual( response.balance.startquota, 0, f"startquota was supposed to be 0 but was {response.balance.startquota}") + self.assertEqual( response.balance.endquota, 10, f"endquota was supposed to be 10 but was {response.balance.endquota}") return From a3bb84b49593863447082e88789276abda96e73c Mon Sep 17 00:00:00 2001 From: Nicolas Vazquez Date: Thu, 10 Feb 2022 10:36:34 -0300 Subject: [PATCH 2/3] [VMware] Update SCSI controllers for VMs (#5910) --- .../vmware/resource/VmwareResource.java | 8 +++++ .../vmware/mo/VirtualMachineMO.java | 35 +++++++++++++++++++ 2 files changed, 43 insertions(+) diff --git a/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/resource/VmwareResource.java b/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/resource/VmwareResource.java index d2051f68916..3732804f9a8 100644 --- a/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/resource/VmwareResource.java +++ b/plugins/hypervisors/vmware/src/main/java/com/cloud/hypervisor/vmware/resource/VmwareResource.java @@ -1813,6 +1813,14 @@ public class VmwareResource implements StoragePoolResource, ServerResource, Vmwa int requiredNumScsiControllers = VmwareHelper.MAX_SCSI_CONTROLLER_COUNT - scsiControllerInfo.first(); int availableBusNum = scsiControllerInfo.second() + 1; // method returned current max. bus number + if (DiskControllerType.getType(scsiDiskController) != scsiControllerInfo.third()) { + s_logger.debug(String.format("Change controller type from: %s to: %s", scsiControllerInfo.third().toString(), + scsiDiskController)); + vmMo.tearDownDevices(new Class[]{VirtualSCSIController.class}); + vmMo.addScsiDeviceControllers(DiskControllerType.getType(scsiDiskController)); + return; + } + if (requiredNumScsiControllers == 0) { return; } diff --git a/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/VirtualMachineMO.java b/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/VirtualMachineMO.java index c27470e3ad6..80efcbc132f 100644 --- a/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/VirtualMachineMO.java +++ b/vmware-base/src/main/java/com/cloud/hypervisor/vmware/mo/VirtualMachineMO.java @@ -2293,6 +2293,41 @@ public class VirtualMachineMO extends BaseMO { throw new Exception("VMware Paravirtual SCSI Controller Not Found"); } + protected VirtualSCSIController getScsiController(DiskControllerType type) { + switch (type) { + case pvscsi: + return new ParaVirtualSCSIController(); + case lsisas1068: + return new VirtualLsiLogicSASController(); + case buslogic: + return new VirtualBusLogicController(); + default: + return new VirtualLsiLogicController(); + } + } + + public void addScsiDeviceControllers(DiskControllerType type) throws Exception { + VirtualMachineConfigSpec vmConfig = new VirtualMachineConfigSpec(); + int busNum = 0; + while (busNum < VmwareHelper.MAX_SCSI_CONTROLLER_COUNT) { + VirtualSCSIController scsiController = getScsiController(type); + scsiController.setSharedBus(VirtualSCSISharing.NO_SHARING); + scsiController.setBusNumber(busNum); + scsiController.setKey(busNum - VmwareHelper.MAX_SCSI_CONTROLLER_COUNT); + VirtualDeviceConfigSpec scsiControllerSpec = new VirtualDeviceConfigSpec(); + scsiControllerSpec.setDevice(scsiController); + scsiControllerSpec.setOperation(VirtualDeviceConfigSpecOperation.ADD); + vmConfig.getDeviceChange().add(scsiControllerSpec); + busNum++; + } + + if (configureVm(vmConfig)) { + s_logger.info("Successfully added SCSI controllers."); + } else { + throw new Exception("Unable to add Scsi controllers to the VM " + getName()); + } + } + public void ensurePvScsiDeviceController(int requiredNumScsiControllers, int availableBusNum) throws Exception { VirtualMachineConfigSpec vmConfig = new VirtualMachineConfigSpec(); From 5297b52d98a394713a9fe9c58eb4394738251b68 Mon Sep 17 00:00:00 2001 From: sureshanaparti <12028987+sureshanaparti@users.noreply.github.com> Date: Thu, 10 Feb 2022 19:13:03 +0530 Subject: [PATCH 3/3] 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. --- .../main/java/com/cloud/storage/GuestOS.java | 2 +- .../storage/GuestOSHypervisorMapping.java | 57 ++++ .../java/com/cloud/storage/GuestOSVO.java | 2 +- .../com/cloud/storage/dao/GuestOSDao.java | 1 + .../com/cloud/storage/dao/GuestOSDaoImpl.java | 22 +- .../storage/dao/GuestOSHypervisorDao.java | 2 + .../storage/dao/GuestOSHypervisorDaoImpl.java | 19 +- .../java/com/cloud/upgrade/GuestOsMapper.java | 191 ++++++++++++++ .../upgrade/dao/Upgrade41400to41500.java | 238 +++++++++++++++++ .../upgrade/dao/Upgrade41500to41510.java | 139 ++++++++++ .../upgrade/dao/Upgrade41510to41520.java | 13 + .../upgrade/dao/Upgrade41520to41600.java | 9 + .../upgrade/dao/Upgrade41600to41610.java | 9 + .../META-INF/db/schema-41400to41500.sql | 243 ------------------ .../META-INF/db/schema-41500to41510.sql | 96 ------- .../java/com/cloud/api/ApiResponseHelper.java | 2 +- .../cloud/server/ManagementServerImpl.java | 4 +- 17 files changed, 703 insertions(+), 346 deletions(-) create mode 100644 api/src/main/java/com/cloud/storage/GuestOSHypervisorMapping.java create mode 100644 engine/schema/src/main/java/com/cloud/upgrade/GuestOsMapper.java diff --git a/api/src/main/java/com/cloud/storage/GuestOS.java b/api/src/main/java/com/cloud/storage/GuestOS.java index 33c08722ad3..371260bec64 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 00000000000..64dd439cd46 --- /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 1afea4ef66b..f04f9a4208c 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 a9d0cdb8279..83e19b17e25 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 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 178eab80ecc..68da2b92acb 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 implements G protected final SearchBuilder 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 implements G return findOneBy(sc); } + @Override + public GuestOSVO findByCategoryIdAndDisplayNameOrderByCreatedDesc(long categoryId, String displayName) { + SearchCriteria 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 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 41b95718a0a..17c6b3c959d 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 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 add4bfc3e7d..31143dc195d 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 guestOsNameSearch; protected final SearchBuilder 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 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 GuestOSHypervisorVOs = listBy(sc, orderByFilter); + if (CollectionUtils.isNotEmpty(GuestOSHypervisorVOs)) { + return GuestOSHypervisorVOs.get(0); + } + return null; + } + @Override public List listByOsNameAndHypervisorMinimumVersion(String guestOsName, String hypervisorType, String minHypervisorVersion) { 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 00000000000..f8b3d7a69cd --- /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 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 ba969ae879e..f35f10aacff 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 mappings = new ArrayList(); + 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 f12cf467781..9cae7252707 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 mappings = new ArrayList(); + 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 8416651ca87..9f3e344142d 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 fdc261824d7..b498de7e7c6 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 ea796a98faa..8fff153a6c1 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 9ead785c0c4..a2db61b3f2d 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 07f832bf77a..97a4a3e4f1c 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 914d54dec8b..36213978a7c 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 565efa7545e..6b88d406566 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"); }