Subject: [DISCUSS] Replacing the default built-in CentOS template in
CloudStack

Hi all,

I'd like to start a discussion on replacing the default built-in template
that ships with every CloudStack installation.

The original GitHub discussion is here, and you're welcome to comment there
as well:
https://github.com/apache/cloudstack/discussions/13797

Today, the built-in templates registered for each hypervisor are quite
outdated:

- KVM: CentOS 5.5 (64-bit) no GUI

http://download.cloudstack.org/releases/2.2.0/eec2209b-9875-3c8d-92be-c001bd8a0faf.qcow2.bz2
- XenServer: CentOS 5.6 (64-bit) no GUI
  http://download.cloudstack.org/templates/builtin/centos56-x86_64.vhd.bz2
- vSphere: CentOS 5.3 (64-bit) no GUI
  http://download.cloudstack.org/releases/2.2.0/CentOS5.3-x86_64.ova

These templates are no longer practical, even for basic testing:

1. The VM deploys, but the SSH service doesn't work, so it's of little use
for validating a fresh installation.
2. They're starting to break outright on newer hypervisors. On ACS 4.22
with XenServer 8.4, deploying a VM from the default CentOS template fails
with "Cannot find Template CentOS 7 on XenServer host", because XenServer
8.4 has deprecated the CentOS 7 guest template (tracked in
https://github.com/apache/cloudstack/issues/13798).

What I'd like to see is a new default template that is:

- current, and in line with what users actually run today
- small in footprint, so it downloads quickly and can be used for quick
testing right after installation
- functional for the core guest features: root password reset, SSH keys,
user data, and cloud-init

Candidates I've looked at:

- macchinina (https://github.com/NuxRo/macchinina)
- Alpine Linux cloud images (https://alpinelinux.org/cloud/)
- CirrOS (https://github.com/cirros-dev/cirros)
- Debian cloud images (https://cloud.debian.org/images/cloud/)
- Ubuntu minimal cloud images (
https://cloud-images.ubuntu.com/minimal/releases/)
- AlmaLinux Generic Cloud (
https://wiki.almalinux.org/cloud/Generic-cloud.html)
- Rocky Linux (https://wiki.rockylinux.org/rocky/image/)
- Fedora Cloud (https://fedoraproject.org/cloud/download/)

My personal preference is between two options:

1. macchinina: built for CloudStack testing, but it needs a refresh and
someone to maintain it going forward.
2. Alpine cloud image: very small and well maintained upstream. We'd need
to run tests to confirm password, SSH key, and user-data behaviour across
hypervisors.

Most of the mainstream distro cloud images are in the 500-600 MB range,
which goes against the "quick test after install" goal.

I'd love to hear the community's views on:

- which image (or images) you'd prefer as the default
- any hypervisor-specific concerns (KVM / XenServer-XCP-ng / VMware)


If there's rough consensus, I'm happy to follow up with a PR and testing
across hypervisors.

Thanks,
Kiran Chavala

Reply via email to