avoid hard coded guest OS IDs (#7279)

This commit is contained in:
dahn 2023-02-23 06:19:45 -08:00 committed by GitHub
parent 0457cc559e
commit aa881f6bf3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 21 additions and 7 deletions

View File

@ -102,8 +102,16 @@ public class GuestOsMapper {
guestOS = guestOSDao.persist(guestOS);
return (guestOS != null);
}
public void addGuestOsHypervisorMapping(GuestOSHypervisorMapping mapping, long category, String displayName) {
long guestOsId = getGuestOsId(category, displayName);
if (guestOsId == 0) {
LOG.error(String.format("no guest os found for category %d and name %s, skipping mapping it to %s/%s", guestOsId, displayName, mapping.getHypervisorType(), mapping.getHypervisorVersion()));
} else {
addGuestOsHypervisorMapping(mapping, guestOsId);
}
}
public void addGuestOsHypervisorMapping(GuestOSHypervisorMapping mapping, long guestOsId) {
private void addGuestOsHypervisorMapping(GuestOSHypervisorMapping mapping, long guestOsId) {
if(!isValidGuestOSHypervisorMapping(mapping)) {
return;
}

View File

@ -283,14 +283,18 @@ public class Upgrade41720to41800 implements DbUpgrade, DbUpgradeSystemVmTemplate
// 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);
guestOsMapper.addGuestOsHypervisorMapping(new GuestOSHypervisorMapping("Xenserver", "8.1.0", "CentOS 8"),
1, "CentOS 8");
// 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);
guestOsMapper.addGuestOsHypervisorMapping(new GuestOSHypervisorMapping("Xenserver", "8.1.0", "Debian Buster 10"),
2, "Debian GNU/Linux 10 (32-bit)");
guestOsMapper.addGuestOsHypervisorMapping(new GuestOSHypervisorMapping("Xenserver", "8.1.0", "Debian Buster 10"),
2, "Debian GNU/Linux 10 (64-bit)");
// 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);
guestOsMapper.addGuestOsHypervisorMapping(new GuestOSHypervisorMapping("Xenserver", "8.1.0", "SUSE Linux Enterprise 15 (64-bit)"),
5, "SUSE Linux Enterprise Server 15 (64-bit)");
// 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"));
@ -313,7 +317,8 @@ public class Upgrade41720to41800 implements DbUpgrade, DbUpgradeSystemVmTemplate
mappings.clear();
// Add support for windows2019srv_64Guest from VMware 7.0
guestOsMapper.addGuestOsHypervisorMapping(new GuestOSHypervisorMapping("VMware", "7.0", "windows2019srv_64Guest"), 276);
guestOsMapper.addGuestOsHypervisorMapping(new GuestOSHypervisorMapping("VMware", "7.0", "windows2019srv_64Guest"),
6, "Windows Server 2019 (64-bit)");
// Add support for amazonlinux3_64Guest from VMware 7.0.1.0
mappings.add(new GuestOSHypervisorMapping("VMware", "7.0.1.0", "amazonlinux3_64Guest"));
@ -373,7 +378,8 @@ public class Upgrade41720to41800 implements DbUpgrade, DbUpgradeSystemVmTemplate
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);
guestOsMapper.addGuestOsHypervisorMapping(new GuestOSHypervisorMapping("VMware", "7.0.1.0", "windows2019srvNext_64Guest"),
6, "Windows Server 2019 (64-bit)");
// 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