Repository navigation
systemvmtemplate: bump to Debian 13 'trixie' and ACS 24.0 - #12912
weizhouapache wants to merge 15 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.44% +0.23%
- Complexity 20750 21411 +661
============================================
Files 6426 6487 +61
Lines 580181 589337 +9156
Branches 71033 72248 +1215
============================================
+ Hits 117287 120504 +3217
- Misses 450180 455701 +5521
- Partials 12714 13132 +418
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 |
|
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)
|
|
@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 19698 |
|
[SF] Trillian test result (tid-17207)
|
|
[SF] Trillian test result (tid-17206)
|
The template build disables cloud-init with /etc/cloud/cloud-init.disabled. The units of cloud-init 25.1 (Debian 13) are skipped by systemd while that file exists, so start_cloud_init did nothing: the user data of the shared filesystem VM and the CKS nodes never ran, NFS was never started and the mount of the shared filesystem got 'Connection refused'. Remove the file (and the marker written by the generator at boot) and reload systemd so that the cloud-init generator runs again, and create the file again in stop_cloud_init.
|
[SF] Trillian test result (tid-17208)
|
|
[SF] Trillian test result (tid-17209)
|
The setup scripts of the CKS nodes and the shared filesystem VMs call dhclient, and the shared filesystem VM starts [email protected] which runs /usr/sbin/dhclient. Debian 13 does not install isc-dhcp-client by default, so the commands fail: - the DHCP options (DNS server of the virtual router, domain) are not applied, /etc/resolv.conf keeps the static name servers of the zone, and cloud-init cannot resolve data-server to find the metadata server, so the user data is not applied - [email protected] fails with status 203/EXEC Install isc-dhcp-client, like it was available in the Debian 12 template.
cloud-init 25.1.x of Debian 13 fails in the CloudStack datasource when it finds no lease of dhcpcd. It asks the DHCP client for the newest lease to read the domain name and does not handle the missing lease, so the init stage of the CKS nodes and the shared filesystem VMs fails and the user data is not applied, even when the metadata server is found. This is fixed in cloud-init 26.x, see canonical/cloud-init#6554 Install cloud-init 26.2 from the Debian archive if the installed version is older.
|
Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ el10 ✔️ debian ✔️ suse15. SL-JID 19709 |
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?