Skip to content

24 builtin debian13 templates - #14493

Draft
weizhouapache wants to merge 9 commits into
apache:mainfrom
shapeblue:24-builtin-debian13-templates
Draft

weizhouapache wants to merge 9 commits into
apache:mainfrom
shapeblue:24-builtin-debian13-templates

Conversation

@weizhouapache

Copy link
Copy Markdown
Member

Description

This PR...

Types of changes

  • Breaking change (fix or feature that would cause existing functionality to change)
  • New feature (non-breaking change which adds functionality)
  • Bug fix (non-breaking change which fixes an issue)
  • Enhancement (improves an existing feature and functionality)
  • Cleanup (Code refactoring and cleanup, that may add test cases)
  • Build/CI
  • Test (unit or integration test code)

Feature/Enhancement Scale or Bug Severity

Feature/Enhancement Scale

  • Major
  • Minor

Bug Severity

  • BLOCKER
  • Critical
  • Major
  • Minor
  • Trivial

Screenshots (if appropriate):

How Has This Been Tested?

How did you try to break this feature and the system with this change?

- templates.sql: use the patched Debian 13 images (20261017-2634) from
  http://10.0.34.8/templates/debian-13-genericcloud-amd64/ for the KVM,
  XenServer (vhd.bz2) and VMware (ova) templates, with their SHA-512
  checksums
- scripts/util/build-acs-image.sh: new script to patch, shrink and
  convert a cloud image (qcow2) to VHD, OVA and XenServer VHD for
  CloudStack, and to create SHA512SUMS
- schema-21to22.sql, schema-2214to30.sql: remove the inserts of the old
  CentOS 5 builtin templates (ids 4, 7 and 5)
…n 12 (64-bit)

templates.sql cannot reference the 'Debian GNU/Linux 12 (64-bit)' guest OS
because it is only added by a later upgrade script with an auto-generated id.
Update the guest_os_id of the built-in Debian 13 templates (KVM, XenServer,
VMware) in the 4.23.0.0 to 4.24.0.0 upgrade, looking the guest OS up by name.

Also rename the VMware built-in template to debian13-x86_64-vmware to match the
KVM and XenServer names, and drop the 4.3 upgrade statement that forced the
XenServer built-in template back to guest OS 142.
get_suitable_test_template now returns the shared public test template
(tiny-kvm on KVM), registered by the admin only when it is missing, and
falls back to the built-in template. It was already doing this for
XenServer. The hypervisor argument is optional and is detected from the
hosts when not given.

Tests that only need a small guest now use it instead of the built-in
template, and test_ipv4_routing, test_snapshots and test_restore_vm no
longer register their own copy of the tiny template.

Tests that depend on the built-in template are not changed, for example
test_deploy_vm_root_resize (needs a template of at least 1 GiB),
test_templates, test_sharedfs_lifecycle and test_vm_autoscaling.
…again

TestSnapshotStandaloneBackup takes a snapshot, expunges the VM and then
deletes its template, to test the snapshot without its template. It needs
its own template, so it cannot use the shared public test template.
The Debian 13 cloud image has no NFS client, so mounting an NFS share in the
guest fails with "NFS: mount program didn't pass remote address". The shared
file system smoke test mounts the share in the guest. Install nfs-common
with the other guest packages.
Moving the smoke tests to the shared tiny-kvm template broke the tests that
need more from the guest. Run these on the Debian 13 built-in template, taken
with get_template on every hypervisor.

- test_attach_multiple_volumes, test_volumes: they detach data disks from a
  running VM, which the tiny-kvm guest never releases.
- test_backup_recovery_nas, test_backup_recovery_kboss: they create a VM from a
  backup and expect the files written in the guest to be in it.
- test_primary_storage: it puts a primary storage with running VMs in
  maintenance, which needs a guest that shuts down on request.
- test_volumes: use the 512 MiB big offering, as the Debian 13 guest does not
  boot with the 128 MiB tiny or the 256 MiB small offering.
- test_vm_autoscaling: the scale up condition needs at least 1 percent CPU, and
  an idle Debian 13 VM uses about 0.4 percent. Start a CPU loop from the
  template user data.
… templates

The images were rebuilt with the nfs-common package installed. The URLs are
unchanged, so the KVM, XenServer and VMware templates get the checksums of
the new files.
…n templates

The images are built from the Debian 13 genericcloud image of 20261021-2638
with the nfs-common package installed. Update the URLs and the SHA-512
checksums of the KVM, XenServer and VMware templates.
The tests write a file in the guest and take a live backup a few seconds later.
The backup is not quiesced, so a file that was not flushed yet can be missing
from the backup. The guest root filesystem commits its journal about every 5
seconds, which is also the wait before the backup. Run sync after each touch,
so that the file is on the disk before the backup starts.
@weizhouapache

Copy link
Copy Markdown
Member Author

@blueorangutan package

@codecov

codecov Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 20.45%. Comparing base (d3f0700) to head (d823180).
⚠️ Report is 41 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff              @@
##               main   #14493      +/-   ##
============================================
+ Coverage     20.39%   20.45%   +0.05%     
- Complexity    21283    21415     +132     
============================================
  Files          6481     6487       +6     
  Lines        588040   589337    +1297     
  Branches      72021    72248     +227     
============================================
+ Hits         119957   120533     +576     
- Misses       455052   455668     +616     
- Partials      13031    13136     +105     
Flag Coverage Δ
uitests 3.70% <ø> (+<0.01%) ⬆️
unittests 21.75% <ø> (+0.05%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@blueorangutan

Copy link
Copy Markdown

Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ el10 ✔️ debian ✔️ suse15. SL-JID 19708

@weizhouapache

Copy link
Copy Markdown
Member Author

@blueorangutan test matrix

@blueorangutan

Copy link
Copy Markdown

@weizhouapache a [SL] Trillian-Jenkins matrix job (ol8 mgmt + kvm-ol8, ubuntu24 mgmt + kvm-ubuntu24, ol8 mgmt + vmware-70u3, ol9 mgmt + xcpng82) has been kicked to run smoke tests

@blueorangutan

Copy link
Copy Markdown

[SF] Trillian Build Failed (tid-17238)

@blueorangutan

Copy link
Copy Markdown

[SF] Trillian Build Failed (tid-17240)

@blueorangutan

Copy link
Copy Markdown

[SF] Trillian Build Failed (tid-17239)

@blueorangutan

Copy link
Copy Markdown

[SF] Trillian Build Failed (tid-17237)

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants