Repository navigation
systemvmtemplate: bump to Debian 13 'trixie' and ACS 24.0 - #12912
weizhouapache wants to merge 12 commits into
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #12912 +/- ##
============================================
+ Coverage 20.21% 20.45% +0.24%
- Complexity 20750 21417 +667
============================================
Files 6426 6487 +61
Lines 580181 589329 +9148
Branches 71033 72246 +1213
============================================
+ Hits 117287 120555 +3268
- Misses 450180 455641 +5461
- Partials 12714 13133 +419
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
failed to build new systemvm template, revisit later |
|
there are several big changes with debian 13, it looks more time is required: |
47130b5 to
3d91402
Compare
9db392e to
0300e07
Compare
- use openjdk-21-jre-headless, as openjdk-17-jre-headless is not available in Debian 13 - drop software-properties-common, which is not available in Debian 13 - configure the Docker apt repository with a keyring in /etc/apt/keyrings and a sources.list.d entry instead of apt-key and add-apt-repository; use VERSION_CODENAME from /etc/os-release instead of lsb_release - install chrony in the preseed files, as the ntp package is not available in Debian 13 - do not fail if /etc/apt/sources.list does not exist, and add the backports and security repositories in sources.list.d - disable the cloud-init units that exist, as cloud-init.service no longer exists and stopping it failed the build
|
@blueorangutan package all |
|
@weizhouapache a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress. |
|
Packaging result [SF]: ✖️ el8 ✖️ el9 ✖️ debian ✖️ suse15. SL-JID 19575 |
For 24.x and later the systemvm templates are published in a directory named after the major version, with the major.minor version in the file names (24/systemvmtemplate-24.0-x86_64-kvm.qcow2.bz2), instead of major.minor and major.minor.patch (4.22/systemvmtemplate-4.22.0-...).
… script For 24.x and later, templateConfig.sh generates metadata.ini with the templates in the directory named after the major version and with major.minor in the file and template names (24/systemvmtemplate-24.0-..., systemvm-kvm-24.0-x86_64), so that the checksums are found in sha512sum.txt. The version in metadata.ini is unchanged (24.0.0). export-templates.sh uses major.minor for the template file names too. Legacy (4.x) behavior is unchanged. Tests are updated and extended.
e9503f9 to
405cdf4
Compare
|
@blueorangutan test matrix |
|
@weizhouapache a [SL] Trillian-Jenkins matrix job (ol8 mgmt + kvm-ol8, ubuntu22 mgmt + kvm-ubuntu22, ol8 mgmt + vmware-70u3, ol9 mgmt + xcpng82) has been kicked to run smoke tests |
|
Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ el10 ✔️ debian ✖️ suse15. SL-JID 19577 |
|
@weizhouapache a [SL] Trillian-Jenkins matrix job (ol8 mgmt + kvm-ol8, ubuntu22 mgmt + kvm-ubuntu22, ol8 mgmt + vmware-70u3, ol9 mgmt + xcpng82) has been kicked to run smoke tests |
|
[SF] Trillian test result (tid-17157)
|
|
@blueorangutan test |
|
@weizhouapache a [SL] Trillian-Jenkins test job (ol8 mgmt + kvm-ol8) has been kicked to run smoke tests |
|
[SF] Trillian test result (tid-17158)
|
|
Two issues found in debian 13 systemvm template
references:
It causes VR not able to apply firewall rules
|
…exist iproute2 in Debian 13 does not install /etc/iproute2/rt_tables anymore, so adding the route table of a nic failed with FileNotFoundError when the VR was configured. Create the file in bootstrap, for all the systemvm types, from /etc/iptables/rt_tables_init, or from /usr/share/iproute2/rt_tables if it does not exist. Remove the copy from default.sh.
|
@blueorangutan package |
|
@weizhouapache a [SL] Jenkins job has been kicked to build packages. It will be bundled with no SystemVM templates. I'll keep you posted as I make progress. |
|
Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ el10 ✔️ debian ✔️ suse15. SL-JID 19619 |
|
@blueorangutan test matrix |
|
@weizhouapache a [SL] Trillian-Jenkins matrix job (ol8 mgmt + kvm-ol8, ubuntu22 mgmt + kvm-ubuntu22, ol8 mgmt + vmware-70u3, ol9 mgmt + xcpng82) has been kicked to run smoke tests |
|
[SF] Trillian test result (tid-17168)
|
|
[SF] Trillian test result (tid-17175)
|
|
[SF] Trillian test result (tid-17176)
|
cloud-init 25.1 and later (Debian 13) does not have cloud-init.service anymore. cloud-init-main is a single process which runs all the stages, and cloud-init-local, cloud-init-network, cloud-config and cloud-final hand over to it. "systemctl start cloud-init" failed, and the other two units were started without cloud-init-main, so the user data of the shared filesystem VMs and of the CKS nodes was never run. Add start_cloud_init and stop_cloud_init to common.sh and use them in sharedfsvm.sh and cksnode.sh. The old units are still used if cloud-init-main does not exist.
The ntp package does not exist in Debian 13. On Debian 12 it was a transitional package for ntpsec, and setup_ntp in common.sh configures the NTP servers in /etc/ntpsec/ntp.conf and enables the ntp service, which is an alias of ntpsec.service. With chrony, the custom NTP servers of the console proxy and secondary storage VMs were not applied.
The cgi module was removed in Python 3.13, which is used by Debian 13, so cloud-password-server failed to start with "No module named 'cgi'", and the VMs could not get their passwords. Parse the POST of savepassword.sh (multipart/form-data, sent by curl -F) with the email package instead of cgi.FieldStorage, and also accept application/x-www-form-urlencoded. Add unit tests, including a request sent by curl.
The test creates an IPv6 firewall rule with a random ICMPv6 type and code, and expects "icmpv6 code <name>" in "nft list chain". nftables 1.1.3 (Debian 13) prints the code name only for some ICMPv6 types and the number for the others, for example "icmpv6 type ind-neighbor-advert icmpv6 code 4", so the test failed depending on the random type and code. Accept both the code name and the code number.
The test creates an egress network ACL rule with a random ICMPv6 type and code, and expects "icmpv6 code <name>" in "nft list chain". nftables 1.1.3 (Debian 13) prints the code name only for some ICMPv6 types and the number for the others, for example "icmpv6 type nd-neighbor-solicit icmpv6 code 0", so the test failed depending on the random type and code. Accept both the code name and the code number, like test_network_ipv6.
|
@blueorangutan package |
|
@weizhouapache a [SL] Jenkins job has been kicked to build packages. It will be bundled with no SystemVM templates. I'll keep you posted as I make progress. |
|
Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ el10 ✔️ debian ✔️ suse15. SL-JID 19674 |
|
@blueorangutan test matrix keepEnv |
|
@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 |
|
[SF] Trillian test result (tid-17177)
|


Description
This PR duplicates #11535
Types of changes
Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale
Bug Severity
Screenshots (if appropriate):
How Has This Been Tested?
How did you try to break this feature and the system with this change?