Merge branch '4.16' into main

This commit is contained in:
Suresh Kumar Anaparti 2022-02-10 20:56:52 +05:30
commit 212a4dedfc
No known key found for this signature in database
GPG Key ID: D7CEAE3A9E71D0AA
20 changed files with 753 additions and 364 deletions

View File

@ -33,5 +33,5 @@ public interface GuestOS extends InternalIdentity, Identity {
Date getRemoved();
boolean isUserDefined();
boolean getIsUserDefined();
}

View File

@ -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;
}
}

View File

@ -113,7 +113,7 @@ public class GuestOSVO implements GuestOS {
}
@Override
public boolean isUserDefined() {
public boolean getIsUserDefined() {
return isUserDefined;
}

View File

@ -23,4 +23,5 @@ public interface GuestOSDao extends GenericDao<GuestOSVO, Long> {
GuestOSVO listByDisplayName(String displayName);
GuestOSVO findByCategoryIdAndDisplayNameOrderByCreatedDesc(long categoryId, String displayName);
}

View File

@ -17,9 +17,13 @@
package com.cloud.storage.dao;
import java.util.List;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.stereotype.Component;
import com.cloud.storage.GuestOSVO;
import com.cloud.utils.db.Filter;
import com.cloud.utils.db.GenericDaoBase;
import com.cloud.utils.db.SearchBuilder;
import com.cloud.utils.db.SearchCriteria;
@ -29,9 +33,11 @@ public class GuestOSDaoImpl extends GenericDaoBase<GuestOSVO, Long> implements G
protected final SearchBuilder<GuestOSVO> Search;
protected GuestOSDaoImpl() {
public GuestOSDaoImpl() {
Search = createSearchBuilder();
Search.and("category_id", Search.entity().getCategoryId(), SearchCriteria.Op.EQ);
Search.and("display_name", Search.entity().getDisplayName(), SearchCriteria.Op.EQ);
Search.and("is_user_defined", Search.entity().getIsUserDefined(), SearchCriteria.Op.EQ);
Search.done();
}
@ -42,4 +48,18 @@ public class GuestOSDaoImpl extends GenericDaoBase<GuestOSVO, Long> implements G
return findOneBy(sc);
}
@Override
public GuestOSVO findByCategoryIdAndDisplayNameOrderByCreatedDesc(long categoryId, String displayName) {
SearchCriteria<GuestOSVO> sc = Search.create();
sc.setParameters("category_id", categoryId);
sc.setParameters("display_name", displayName);
sc.setParameters("is_user_defined", false);
Filter orderByFilter = new Filter(GuestOSVO.class, "created", false, null, 1L);
List<GuestOSVO> guestOSes = listBy(sc, orderByFilter);
if (CollectionUtils.isNotEmpty(guestOSes)) {
return guestOSes.get(0);
}
return null;
}
}

View File

@ -34,6 +34,8 @@ public interface GuestOSHypervisorDao extends GenericDao<GuestOSHypervisorVO, Lo
GuestOSHypervisorVO findByOsNameAndHypervisor(String guestOsName, String hypervisorType, String hypervisorVersion);
GuestOSHypervisorVO findByOsNameAndHypervisorOrderByCreatedDesc(String guestOsName, String hypervisorType, String hypervisorVersion);
List<GuestOSHypervisorVO> listByOsNameAndHypervisorMinimumVersion(String guestOsName, String hypervisorType,
String minHypervisorVersion);

View File

@ -40,7 +40,7 @@ public class GuestOSHypervisorDaoImpl extends GenericDaoBase<GuestOSHypervisorVO
protected final SearchBuilder<GuestOSHypervisorVO> guestOsNameSearch;
protected final SearchBuilder<GuestOSHypervisorVO> availableHypervisorVersionSearch;
protected GuestOSHypervisorDaoImpl() {
public GuestOSHypervisorDaoImpl() {
guestOsSearch = createSearchBuilder();
guestOsSearch.and("guest_os_id", guestOsSearch.entity().getGuestOsId(), SearchCriteria.Op.EQ);
guestOsSearch.done();
@ -62,6 +62,7 @@ public class GuestOSHypervisorDaoImpl extends GenericDaoBase<GuestOSHypervisorVO
guestOsNameSearch.and("guest_os_name", guestOsNameSearch.entity().getGuestOsName(), SearchCriteria.Op.EQ);
guestOsNameSearch.and("hypervisor_type", guestOsNameSearch.entity().getHypervisorType(), SearchCriteria.Op.EQ);
guestOsNameSearch.and("hypervisor_version", guestOsNameSearch.entity().getHypervisorVersion(), SearchCriteria.Op.EQ);
guestOsNameSearch.and("is_user_defined", guestOsNameSearch.entity().getIsUserDefined(), SearchCriteria.Op.EQ);
guestOsNameSearch.done();
availableHypervisorVersionSearch = createSearchBuilder();
@ -133,6 +134,22 @@ public class GuestOSHypervisorDaoImpl extends GenericDaoBase<GuestOSHypervisorVO
return CollectionUtils.isNotEmpty(results) ? results.get(0) : null;
}
@Override
public GuestOSHypervisorVO findByOsNameAndHypervisorOrderByCreatedDesc(String guestOsName, String hypervisorType, String hypervisorVersion) {
SearchCriteria<GuestOSHypervisorVO> sc = guestOsNameSearch.create();
sc.setParameters("guest_os_name", guestOsName);
sc.setParameters("hypervisor_type", hypervisorType);
sc.setParameters("hypervisor_version", hypervisorVersion);
sc.setParameters("is_user_defined", false);
Filter orderByFilter = new Filter(GuestOSHypervisorVO.class, "created", false, null, 1L);
List<GuestOSHypervisorVO> GuestOSHypervisorVOs = listBy(sc, orderByFilter);
if (CollectionUtils.isNotEmpty(GuestOSHypervisorVOs)) {
return GuestOSHypervisorVOs.get(0);
}
return null;
}
@Override
public List<GuestOSHypervisorVO> listByOsNameAndHypervisorMinimumVersion(String guestOsName, String hypervisorType,
String minHypervisorVersion) {

View File

@ -0,0 +1,191 @@
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
package com.cloud.upgrade;
import org.apache.commons.collections.CollectionUtils;
import org.apache.log4j.Logger;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.List;
import javax.inject.Inject;
import com.cloud.storage.GuestOSHypervisorMapping;
import com.cloud.storage.GuestOSHypervisorVO;
import com.cloud.storage.GuestOSVO;
import com.cloud.storage.dao.GuestOSDao;
import com.cloud.storage.dao.GuestOSDaoImpl;
import com.cloud.storage.dao.GuestOSHypervisorDao;
import com.cloud.storage.dao.GuestOSHypervisorDaoImpl;
public class GuestOsMapper {
final static Logger LOG = Logger.getLogger(GuestOsMapper.class);
@Inject
GuestOSHypervisorDao guestOSHypervisorDao;
@Inject
GuestOSDao guestOSDao;
private static final String updateGuestOsHypervisorSql =
"UPDATE `cloud`.`guest_os_hypervisor` SET guest_os_id = ? WHERE guest_os_id = ? AND hypervisor_type = ? AND hypervisor_version = ? AND guest_os_name = ? AND is_user_defined = 0 AND removed IS NULL";
public GuestOsMapper() {
guestOSHypervisorDao = new GuestOSHypervisorDaoImpl();
guestOSDao = new GuestOSDaoImpl();
}
private long getGuestOsId(long categoryId, String displayName) {
GuestOSVO guestOS = guestOSDao.findByCategoryIdAndDisplayNameOrderByCreatedDesc(categoryId, displayName);
if (guestOS != null) {
guestOS.getId();
}
LOG.warn("Unable to find the guest OS details with category id: " + categoryId + " and display name: " + displayName);
return 0;
}
private long getGuestOsIdFromHypervisorMapping(GuestOSHypervisorMapping mapping) {
GuestOSHypervisorVO guestOSHypervisorVO = guestOSHypervisorDao.findByOsNameAndHypervisorOrderByCreatedDesc(mapping.getGuestOsName(), mapping.getHypervisorType(), mapping.getHypervisorVersion());
if (guestOSHypervisorVO != null) {
guestOSHypervisorVO.getGuestOsId();
}
LOG.debug("Unable to find the guest OS hypervisor mapping details for " + mapping.toString());
return 0;
}
public void addGuestOsAndHypervisorMappings(long categoryId, String displayName, List<GuestOSHypervisorMapping> mappings) {
if (!addGuestOs(categoryId, displayName)) {
LOG.warn("Couldn't add the guest OS with category id: " + categoryId + " and display name: " + displayName);
return;
}
if (CollectionUtils.isEmpty(mappings)) {
return;
}
long guestOsId = getGuestOsId(categoryId, displayName);
if (guestOsId == 0) {
LOG.debug("No guest OS found with category id: " + categoryId + " and display name: " + displayName);
return;
}
for (final GuestOSHypervisorMapping mapping : mappings) {
addGuestOsHypervisorMapping(mapping, guestOsId);
}
}
private boolean addGuestOs(long categoryId, String displayName) {
LOG.debug("Adding guest OS with category id: " + categoryId + " and display name: " + displayName);
GuestOSVO guestOS = new GuestOSVO();
guestOS.setCategoryId(categoryId);
guestOS.setDisplayName(displayName);
guestOS = guestOSDao.persist(guestOS);
return (guestOS != null);
}
public void addGuestOsHypervisorMapping(GuestOSHypervisorMapping mapping, long guestOsId) {
if(!isValidGuestOSHypervisorMapping(mapping)) {
return;
}
LOG.debug("Adding guest OS hypervisor mapping - " + mapping.toString());
GuestOSHypervisorVO guestOsMapping = new GuestOSHypervisorVO();
guestOsMapping.setHypervisorType(mapping.getHypervisorType());
guestOsMapping.setHypervisorVersion(mapping.getHypervisorVersion());
guestOsMapping.setGuestOsName(mapping.getGuestOsName());
guestOsMapping.setGuestOsId(guestOsId);
guestOSHypervisorDao.persist(guestOsMapping);
}
public void updateGuestOsName(long categoryId, String oldDisplayName, String newDisplayName) {
GuestOSVO guestOS = guestOSDao.findByCategoryIdAndDisplayNameOrderByCreatedDesc(categoryId, oldDisplayName);
if (guestOS == null) {
LOG.debug("Unable to update guest OS name, as there is no guest OS with category id: " + categoryId + " and display name: " + oldDisplayName);
return;
}
guestOS.setDisplayName(newDisplayName);
guestOSDao.update(guestOS.getId(), guestOS);
}
public void updateGuestOsNameFromMapping(String newDisplayName, GuestOSHypervisorMapping mapping) {
if(!isValidGuestOSHypervisorMapping(mapping)) {
return;
}
GuestOSHypervisorVO guestOSHypervisorVO = guestOSHypervisorDao.findByOsNameAndHypervisorOrderByCreatedDesc(mapping.getGuestOsName(), mapping.getHypervisorType(), mapping.getHypervisorVersion());
if (guestOSHypervisorVO == null) {
LOG.debug("Unable to update guest OS name, as there is no guest os hypervisor mapping");
return;
}
long guestOsId = guestOSHypervisorVO.getGuestOsId();
GuestOSVO guestOS = guestOSDao.findById(guestOsId);
if (guestOS != null) {
guestOS.setDisplayName(newDisplayName);
guestOSDao.update(guestOS.getId(), guestOS);
}
}
public void updateGuestOsIdInHypervisorMapping(Connection conn, long categoryId, String displayName, GuestOSHypervisorMapping mapping) {
if(!isValidGuestOSHypervisorMapping(mapping)) {
return;
}
long oldGuestOsId = getGuestOsIdFromHypervisorMapping(mapping);
if (oldGuestOsId == 0) {
LOG.debug("Unable to update guest OS in hypervisor mapping, as there is no guest os hypervisor mapping - " + mapping.toString());
return;
}
long newGuestOsId = getGuestOsId(categoryId, displayName);
if (newGuestOsId == 0) {
LOG.debug("Unable to update guest OS id in hypervisor mapping, as there is no guest OS with category id: " + categoryId + " and display name: " + displayName);
return;
}
updateGuestOsIdInMapping(conn, oldGuestOsId, newGuestOsId, mapping);
}
private void updateGuestOsIdInMapping(Connection conn, long oldGuestOsId, long newGuestOsId, GuestOSHypervisorMapping mapping) {
LOG.debug("Updating guest os id: " + oldGuestOsId + " to id: " + newGuestOsId + " in hypervisor mapping - " + mapping.toString());
try {
PreparedStatement pstmt = conn.prepareStatement(updateGuestOsHypervisorSql);
pstmt.setLong(1, newGuestOsId);
pstmt.setLong(2, oldGuestOsId);
pstmt.setString(3, mapping.getHypervisorType());
pstmt.setString(4, mapping.getHypervisorVersion());
pstmt.setString(5, mapping.getGuestOsName());
pstmt.executeUpdate();
} catch (SQLException e) {
LOG.error("Failed to update guest OS id in hypervisor mapping due to: " + e.getMessage(), e);
}
}
private boolean isValidGuestOSHypervisorMapping(GuestOSHypervisorMapping mapping) {
if (mapping != null && mapping.isValid()) {
return true;
}
LOG.warn("Invalid Guest OS hypervisor mapping");
return false;
}
}

View File

@ -29,11 +29,14 @@ import java.util.Map;
import org.apache.log4j.Logger;
import com.cloud.storage.GuestOSHypervisorMapping;
import com.cloud.upgrade.GuestOsMapper;
import com.cloud.utils.exception.CloudRuntimeException;
public class Upgrade41400to41500 implements DbUpgrade {
final static Logger LOG = Logger.getLogger(Upgrade41400to41500.class);
private GuestOsMapper guestOsMapper = new GuestOsMapper();
@Override
public String[] getUpgradableVersionRange() {
@ -64,6 +67,7 @@ public class Upgrade41400to41500 implements DbUpgrade {
@Override
public void performDataMigration(Connection conn) {
addRolePermissionsForNewReadOnlyAndSupportRoles(conn);
updateGuestOsMappings(conn);
}
private void addRolePermissionsForNewReadOnlyAndSupportRoles(final Connection conn) {
@ -348,6 +352,240 @@ public class Upgrade41400to41500 implements DbUpgrade {
}
}
private void updateGuestOsMappings(final Connection conn) {
LOG.debug("Updating guest OS mappings");
// The below existing Guest OS Ids must be used for updating the guest OS hypervisor mappings
// CentOS - 1, Debian - 2, Oracle - 3, RedHat - 4, SUSE - 5, Windows - 6, Other - 7, Novel - 8, Unix - 9, Ubuntu - 10, None - 11
// OVF configured OS while registering deploy-as-is templates Linux 3.x Kernel OS
guestOsMapper.addGuestOsAndHypervisorMappings(11, "OVF Configured OS", null);
List<GuestOSHypervisorMapping> mappings = new ArrayList<GuestOSHypervisorMapping>();
mappings.add(new GuestOSHypervisorMapping("VMware", "6.0", "other3xLinux64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.5", "other3xLinux64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7", "other3xLinux64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.1", "other3xLinux64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.2", "other3xLinux64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.3", "other3xLinux64Guest"));
guestOsMapper.addGuestOsAndHypervisorMappings(2, "Linux 3.x Kernel (64 bit)", mappings);
mappings.clear();
mappings.add(new GuestOSHypervisorMapping("VMware", "6.0", "other3xLinuxGuest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.5", "other3xLinuxGuest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7", "other3xLinuxGuest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.1", "other3xLinuxGuest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.2", "other3xLinuxGuest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.3", "other3xLinuxGuest"));
guestOsMapper.addGuestOsAndHypervisorMappings(2, "Linux 3.x Kernel (32 bit)", mappings);
mappings.clear();
// Add Amazonlinux as support guest os, and VMWare guest os mappings
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.1", "amazonlinux2_64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.2", "amazonlinux2_64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.3", "amazonlinux2_64Guest"));
guestOsMapper.addGuestOsAndHypervisorMappings(7, "Amazon Linux 2 (64 bit)", mappings);
mappings.clear();
// Add asianux4 32 as support guest os, and VMWare guest os mappings
mappings.add(new GuestOSHypervisorMapping("VMware", "6.0", "asianux4Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.5", "asianux4Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7", "asianux4Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.1", "asianux4Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.2", "asianux4Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.3", "asianux4Guest"));
guestOsMapper.addGuestOsAndHypervisorMappings(7, "Asianux Server 4 (32 bit)", mappings);
mappings.clear();
// Add asianux4 64 as support guest os, and VMWare guest os mappings
mappings.add(new GuestOSHypervisorMapping("VMware", "6.0", "asianux4_64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.5", "asianux4_64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7", "asianux4_64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.1", "asianux4_64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.2", "asianux4_64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.3", "asianux4_64Guest"));
guestOsMapper.addGuestOsAndHypervisorMappings(7, "Asianux Server 4 (64 bit)", mappings);
mappings.clear();
// Add asianux5 32 as support guest os, and VMWare guest os mappings
mappings.add(new GuestOSHypervisorMapping("VMware", "6.0", "asianux5Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.5", "asianux5Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7", "asianux5Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.1", "asianux5Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.2", "asianux5Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.3", "asianux5Guest"));
guestOsMapper.addGuestOsAndHypervisorMappings(7, "Asianux Server 5 (32 bit)", mappings);
mappings.clear();
// Add asianux5 64 as support guest os, and VMWare guest os mappings
mappings.add(new GuestOSHypervisorMapping("VMware", "6.0", "asianux5_64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.5", "asianux5_64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7", "asianux5_64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.1", "asianux5_64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.2", "asianux5_64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.3", "asianux5_64Guest"));
guestOsMapper.addGuestOsAndHypervisorMappings(7, "Asianux Server 5 (64 bit)", mappings);
mappings.clear();
// Add asianux7 32 as support guest os, and VMWare guest os mappings
mappings.add(new GuestOSHypervisorMapping("VMware", "6.5", "asianux7Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7", "asianux7Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.1", "asianux7Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.2", "asianux7Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.3", "asianux7Guest"));
guestOsMapper.addGuestOsAndHypervisorMappings(7, "Asianux Server 7 (32 bit)", mappings);
mappings.clear();
// Add asianux7 64 as support guest os, and VMWare guest os mappings
mappings.add(new GuestOSHypervisorMapping("VMware", "6.5", "asianux7_64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7", "asianux7_64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.1", "asianux7_64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.2", "asianux7_64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.3", "asianux7_64Guest"));
guestOsMapper.addGuestOsAndHypervisorMappings(7, "Asianux Server 7 (64 bit)", mappings);
mappings.clear();
// Add asianux8 as support guest os, and VMWare guest os mappings
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7", "asianux8_64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.1", "asianux8_64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.2", "asianux8_64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.3", "asianux8_64Guest"));
guestOsMapper.addGuestOsAndHypervisorMappings(7, "Asianux Server 8 (64 bit)", mappings);
mappings.clear();
// Add eComStation 2.0 as support guest os, and VMWare guest os mappings
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7", "eComStation2Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.1", "eComStation2Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.2", "eComStation2Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.3", "eComStation2Guest"));
guestOsMapper.addGuestOsAndHypervisorMappings(7, "eComStation 2.0", mappings);
mappings.clear();
// Add macOS 10.13 (64 bit) as support guest os, and VMWare guest os mappings
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7", "darwin17_64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.1", "darwin17_64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.2", "darwin17_64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.3", "darwin17_64Guest"));
guestOsMapper.addGuestOsAndHypervisorMappings(7, "macOS 10.13 (64 bit)", mappings);
mappings.clear();
// Add macOS 10.14 (64 bit) as support guest os, and VMWare guest os mapping
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7", "darwin18_64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.1", "darwin18_64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.2", "darwin18_64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.3", "darwin18_64Guest"));
guestOsMapper.addGuestOsAndHypervisorMappings(7, "macOS 10.14 (64 bit)", mappings);
mappings.clear();
// Add Fedora Linux (64 bit) as support guest os, and VMWare guest os mappings
mappings.add(new GuestOSHypervisorMapping("VMware", "6.0", "fedora64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.5", "fedora64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7", "fedora64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.1", "fedora64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.2", "fedora64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.3", "fedora64Guest"));
guestOsMapper.addGuestOsAndHypervisorMappings(7, "Fedora Linux (64 bit)", mappings);
mappings.clear();
// Add Fedora Linux as support guest os, and VMWare guest os mappings
mappings.add(new GuestOSHypervisorMapping("VMware", "6.0", "fedoraGuest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.5", "fedoraGuest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7", "fedoraGuest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.1", "fedoraGuest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.2", "fedoraGuest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.3", "fedoraGuest"));
guestOsMapper.addGuestOsAndHypervisorMappings(7, "Fedora Linux", mappings);
mappings.clear();
// Add Mandrake Linux as support guest os, and VMWare guest os mappings
mappings.add(new GuestOSHypervisorMapping("VMware", "6.0", "mandrakeGuest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.5", "mandrakeGuest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7", "mandrakeGuest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.1", "mandrakeGuest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.2", "mandrakeGuest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.3", "mandrakeGuest"));
guestOsMapper.addGuestOsAndHypervisorMappings(7, "Mandrake Linux", mappings);
mappings.clear();
// Add Mandriva Linux (64 bit) as support guest os, and VMWare guest os mappings
mappings.add(new GuestOSHypervisorMapping("VMware", "6.0", "mandriva64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.5", "mandriva64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7", "mandriva64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.1", "mandriva64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.2", "mandriva64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.3", "mandriva64Guest"));
guestOsMapper.addGuestOsAndHypervisorMappings(7, "Mandriva Linux (64 bit)", mappings);
mappings.clear();
// Add Mandriva Linux as support guest os, and VMWare guest os mappings
mappings.add(new GuestOSHypervisorMapping("VMware", "6.0", "mandrivaGuest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.5", "mandrivaGuest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7", "mandrivaGuest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.1", "mandrivaGuest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.2", "mandrivaGuest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.3", "mandrivaGuest"));
guestOsMapper.addGuestOsAndHypervisorMappings(7, "Mandriva Linux", mappings);
mappings.clear();
// Add SCO OpenServer 5 as support guest os, and VMWare guest os mappings
mappings.add(new GuestOSHypervisorMapping("VMware", "6.0", "openServer5Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.5", "openServer5Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7", "openServer5Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.1", "openServer5Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.2", "openServer5Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.3", "openServer5Guest"));
guestOsMapper.addGuestOsAndHypervisorMappings(7, "SCO OpenServer 5", mappings);
mappings.clear();
// Add SCO OpenServer 6 as support guest os, and VMWare guest os mappings
mappings.add(new GuestOSHypervisorMapping("VMware", "6.0", "openServer6Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.5", "openServer6Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7", "openServer6Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.1", "openServer6Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.2", "openServer6Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.3", "openServer6Guest"));
guestOsMapper.addGuestOsAndHypervisorMappings(7, "SCO OpenServer 6", mappings);
mappings.clear();
// Add OpenSUSE Linux (64 bit) as support guest os, and VMWare guest os mappings
mappings.add(new GuestOSHypervisorMapping("VMware", "6.0", "opensuse64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.5", "opensuse64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7", "opensuse64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.1", "opensuse64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.2", "opensuse64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.3", "opensuse64Guest"));
guestOsMapper.addGuestOsAndHypervisorMappings(7, "OpenSUSE Linux (64 bit)", mappings);
mappings.clear();
// Add OpenSUSE Linux (32 bit) as support guest os, and VMWare guest os mappings
mappings.add(new GuestOSHypervisorMapping("VMware", "6.0", "opensuseGuest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.5", "opensuseGuest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7", "opensuseGuest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.1", "opensuseGuest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.2", "opensuseGuest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.3", "opensuseGuest"));
guestOsMapper.addGuestOsAndHypervisorMappings(7, "OpenSUSE Linux (32 bit)", mappings);
mappings.clear();
// Add Solaris 11 (64 bit) as support guest os, and VMWare guest os mappings
mappings.add(new GuestOSHypervisorMapping("VMware", "6.0", "solaris11_64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.5", "solaris11_64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7", "solaris11_64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.1", "solaris11_64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.2", "solaris11_64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.3", "solaris11_64Guest"));
guestOsMapper.addGuestOsAndHypervisorMappings(7, "Solaris 11 (64 bit)", mappings);
mappings.clear();
// Add VMware Photon (64 bit) as support guest os, and VMWare guest os mappings
mappings.add(new GuestOSHypervisorMapping("VMware", "6.5", "vmwarePhoton64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7", "vmwarePhoton64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.1", "vmwarePhoton64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.2", "vmwarePhoton64Guest"));
mappings.add(new GuestOSHypervisorMapping("VMware", "6.7.3", "vmwarePhoton64Guest"));
guestOsMapper.addGuestOsAndHypervisorMappings(7, "VMware Photon (64 bit)", mappings);
}
@Override
public InputStream[] getCleanupScripts() {
final String scriptFile = "META-INF/db/schema-41400to41500-cleanup.sql";

View File

@ -22,19 +22,24 @@ import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.apache.log4j.Logger;
import com.cloud.hypervisor.Hypervisor;
import com.cloud.storage.GuestOSHypervisorMapping;
import com.cloud.upgrade.GuestOsMapper;
import com.cloud.utils.exception.CloudRuntimeException;
public class Upgrade41500to41510 implements DbUpgrade, DbUpgradeSystemVmTemplate {
final static Logger LOG = Logger.getLogger(Upgrade41500to41510.class);
private GuestOsMapper guestOsMapper = new GuestOsMapper();
@Override
public String[] getUpgradableVersionRange() {
@ -64,6 +69,8 @@ public class Upgrade41500to41510 implements DbUpgrade, DbUpgradeSystemVmTemplate
@Override
public void performDataMigration(Connection conn) {
correctGuestOsNames(conn);
updateGuestOsMappings(conn);
}
@Override
@ -235,6 +242,138 @@ public class Upgrade41500to41510 implements DbUpgrade, DbUpgradeSystemVmTemplate
LOG.debug("Updating System Vm Template IDs Complete");
}
private void correctGuestOsNames(final Connection conn) {
guestOsMapper.updateGuestOsName(7, "Fedora Linux", "Fedora Linux (32 bit)");
guestOsMapper.updateGuestOsName(7, "Mandriva Linux", "Mandriva Linux (32 bit)");
GuestOSHypervisorMapping mapping = new GuestOSHypervisorMapping("VMware", "6.7.3", "opensuseGuest");
guestOsMapper.updateGuestOsNameFromMapping("OpenSUSE Linux (32 bit)", mapping);
}
private void updateGuestOsMappings(final Connection conn) {
LOG.debug("Updating guest OS mappings");
// Add support for SUSE Linux Enterprise Desktop 12 SP3 (64-bit) for Xenserver 8.1.0
List<GuestOSHypervisorMapping> mappings = new ArrayList<GuestOSHypervisorMapping>();
mappings.add(new GuestOSHypervisorMapping("Xenserver", "8.1.0", "SUSE Linux Enterprise Desktop 12 SP3 (64-bit)"));
guestOsMapper.addGuestOsAndHypervisorMappings (5, "SUSE Linux Enterprise Desktop 12 SP3 (64-bit)", mappings);
mappings.clear();
// Add support for SUSE Linux Enterprise Desktop 12 SP4 (64-bit) for Xenserver 8.1.0
mappings.add(new GuestOSHypervisorMapping("Xenserver", "8.1.0", "SUSE Linux Enterprise Desktop 12 SP4 (64-bit)"));
guestOsMapper.addGuestOsAndHypervisorMappings (5, "SUSE Linux Enterprise Desktop 12 SP4 (64-bit)", mappings);
mappings.clear();
// Add support for SUSE Linux Enterprise Server 12 SP4 (64-bit) for Xenserver 8.1.0
mappings.add(new GuestOSHypervisorMapping("Xenserver", "8.1.0", "SUSE Linux Enterprise Server 12 SP4 (64-bit)"));
mappings.add(new GuestOSHypervisorMapping("Xenserver", "8.1.0", "NeoKylin Linux Server 7"));
guestOsMapper.addGuestOsAndHypervisorMappings(5, "SUSE Linux Enterprise Server 12 SP4 (64-bit)", mappings);
mappings.clear();
// Add support for Scientific Linux 7 for Xenserver 8.1.0
mappings.add(new GuestOSHypervisorMapping("Xenserver", "8.1.0", "Scientific Linux 7"));
guestOsMapper.addGuestOsAndHypervisorMappings (9, "Scientific Linux 7", mappings);
mappings.clear();
// Add support for NeoKylin Linux Server 7 for Xenserver 8.1.0
guestOsMapper.addGuestOsAndHypervisorMappings(9, "NeoKylin Linux Server 7", mappings); //334
mappings.clear();
// Pass Guest OS Ids to update pre-4.14 mappings
// Add support CentOS 8 for Xenserver 8.1.0
guestOsMapper.addGuestOsHypervisorMapping(new GuestOSHypervisorMapping("Xenserver", "8.1.0", "CentOS 8"), 297);
// Add support for Debian Buster 10 for Xenserver 8.1.0
guestOsMapper.addGuestOsHypervisorMapping(new GuestOSHypervisorMapping("Xenserver", "8.1.0", "Debian Buster 10"), 292);
guestOsMapper.addGuestOsHypervisorMapping(new GuestOSHypervisorMapping("Xenserver", "8.1.0", "Debian Buster 10"), 293);
// Add support for SUSE Linux Enterprise 15 (64-bit) for Xenserver 8.1.0
guestOsMapper.addGuestOsHypervisorMapping(new GuestOSHypervisorMapping("Xenserver", "8.1.0", "SUSE Linux Enterprise 15 (64-bit)"), 291);
// Add support for Ubuntu Focal Fossa 20.04 for Xenserver 8.2.0
mappings.add(new GuestOSHypervisorMapping("Xenserver", "8.2.0", "Ubuntu Focal Fossa 20.04"));
guestOsMapper.addGuestOsAndHypervisorMappings(10, "Ubuntu 20.04 LTS", mappings);
mappings.clear();
// Add support for darwin19_64Guest from VMware 7.0
mappings.add(new GuestOSHypervisorMapping("VMware", "7.0", "darwin19_64Guest"));
guestOsMapper.addGuestOsAndHypervisorMappings(7, "macOS 10.15 (64 bit)", mappings);
mappings.clear();
// Add support for debian11_64Guest from VMware 7.0
mappings.add(new GuestOSHypervisorMapping("VMware", "7.0", "debian11_64Guest"));
guestOsMapper.addGuestOsAndHypervisorMappings(2, "Debian GNU/Linux 11 (64-bit)", mappings);
mappings.clear();
// Add support for debian11Guest from VMware 7.0
mappings.add(new GuestOSHypervisorMapping("VMware", "7.0", "debian11Guest"));
guestOsMapper.addGuestOsAndHypervisorMappings(2, "Debian GNU/Linux 11 (32-bit)", mappings);
mappings.clear();
// Add support for windows2019srv_64Guest from VMware 7.0
guestOsMapper.addGuestOsHypervisorMapping(new GuestOSHypervisorMapping("VMware", "7.0", "windows2019srv_64Guest"), 276);
// Add support for amazonlinux3_64Guest from VMware 7.0.1.0
mappings.add(new GuestOSHypervisorMapping("VMware", "7.0.1.0", "amazonlinux3_64Guest"));
guestOsMapper.addGuestOsAndHypervisorMappings(7, "Amazon Linux 3 (64 bit)", mappings);
mappings.clear();
// Add support for asianux9_64Guest from VMware 7.0.1.0
mappings.add(new GuestOSHypervisorMapping("VMware", "7.0.1.0", "asianux9_64Guest"));
guestOsMapper.addGuestOsAndHypervisorMappings(7, "Asianux Server 9 (64 bit)", mappings);
mappings.clear();
// Add support for centos9_64Guest from VMware 7.0.1.0
mappings.add(new GuestOSHypervisorMapping("VMware", "7.0.1.0", "centos9_64Guest"));
guestOsMapper.addGuestOsAndHypervisorMappings(1, "CentOS 9", mappings);
mappings.clear();
// Add support for darwin20_64Guest from VMware 7.0.1.0
mappings.add(new GuestOSHypervisorMapping("VMware", "7.0.1.0", "darwin20_64Guest"));
// Add support for darwin21_64Guest from VMware 7.0.1.0
mappings.add(new GuestOSHypervisorMapping("VMware", "7.0.1.0", "darwin21_64Guest"));
guestOsMapper.addGuestOsAndHypervisorMappings(7, "macOS 11 (64 bit)", mappings);
mappings.clear();
// Add support for freebsd13_64Guest from VMware 7.0.1.0
mappings.add(new GuestOSHypervisorMapping("VMware", "7.0.1.0", "freebsd13_64Guest"));
guestOsMapper.addGuestOsAndHypervisorMappings(9, "FreeBSD 13 (64-bit)", mappings);
mappings.clear();
// Add support for freebsd13Guest from VMware 7.0.1.0
mappings.add(new GuestOSHypervisorMapping("VMware", "7.0.1.0", "freebsd13Guest"));
guestOsMapper.addGuestOsAndHypervisorMappings(9, "FreeBSD 13 (32-bit)", mappings);
mappings.clear();
// Add support for oracleLinux9_64Guest from VMware 7.0.1.0
mappings.add(new GuestOSHypervisorMapping("VMware", "7.0.1.0", "oracleLinux9_64Guest"));
guestOsMapper.addGuestOsAndHypervisorMappings(3, "Oracle Linux 9", mappings);
mappings.clear();
// Add support for other5xLinux64Guest from VMware 7.0.1.0
mappings.add(new GuestOSHypervisorMapping("VMware", "7.0.1.0", "other5xLinux64Guest"));
guestOsMapper.addGuestOsAndHypervisorMappings(2, "Linux 5.x Kernel (64-bit)", mappings);
mappings.clear();
// Add support for other5xLinuxGuest from VMware 7.0.1.0
mappings.add(new GuestOSHypervisorMapping("VMware", "7.0.1.0", "other5xLinuxGuest"));
guestOsMapper.addGuestOsAndHypervisorMappings(2, "Linux 5.x Kernel (32-bit)", mappings);
mappings.clear();
// Add support for rhel9_64Guest from VMware 7.0.1.0
mappings.add(new GuestOSHypervisorMapping("VMware", "7.0.1.0", "rhel9_64Guest"));
guestOsMapper.addGuestOsAndHypervisorMappings(4, "Red Hat Enterprise Linux 9.0", mappings);
mappings.clear();
// Add support for sles16_64Guest from VMware 7.0.1.0
mappings.add(new GuestOSHypervisorMapping("VMware", "7.0.1.0", "sles16_64Guest"));
guestOsMapper.addGuestOsAndHypervisorMappings(5, "SUSE Linux Enterprise Server 16 (64-bit)", mappings);
mappings.clear();
// Add support for windows2019srvNext_64Guest from VMware 7.0.1.0 - Pass Guest OS Ids to update pre-4.14 mappings
guestOsMapper.addGuestOsHypervisorMapping(new GuestOSHypervisorMapping("VMware", "7.0.1.0", "windows2019srvNext_64Guest"), 276);
}
@Override
public InputStream[] getCleanupScripts() {
final String scriptFile = "META-INF/db/schema-41500to41510-cleanup.sql";

View File

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

View File

@ -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) {

View File

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

View File

@ -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)';

View File

@ -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);

View File

@ -1792,6 +1792,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;
}

View File

@ -3446,7 +3446,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());

View File

@ -2631,7 +2631,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");
}
@ -2673,7 +2673,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");
}

View File

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

View File

@ -2294,6 +2294,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();