sru cloud-init (24.2 update) to focal, jammy and noble

Bug #2071762 reported by Chad Smith
14
This bug affects 1 person
Affects Status Importance Assigned to Milestone
cloud-init (Ubuntu)
New
Undecided
Unassigned
Focal
Fix Committed
Undecided
Unassigned
Jammy
Fix Committed
Undecided
Unassigned
Noble
Fix Committed
Undecided
Unassigned

Bug Description

== Begin SRU Template ==
[Impact]
This release sports both bug-fixes and new features and we would like to
make sure all of our supported customers have access to these
improvements. The notable ones are:

 - feat: Add support for FTP and FTP over TLS (#4834)
 - feature(schema): add networkv2 schema (#4892)
 - feat: Add new distro 'azurelinux' for Microsoft Azure Linux. (#4931)
 - feat: Use NetworkManager renderer by default in RHEL family
 - feat(ca_certs): Add AlmaLinux OS and CloudLinux OS support (#5264)
 - feat(sysconfig): Add DNS from interface config to resolv.conf (#5401)
 - feat(alpine): add support for Busybox adduser/addgroup (#5176)
 - feat(disk_setup): Add support for nvme devices (#5263)
 - fix: Make DataSourceOracle more resilient to early network issues (LP: #2056194)
 - bug(wait_for_url): when exceptions occur url is unset, use url_exc
   (LP: #2055077)
 - bug(vmware): initialize new DataSourceVMware attributes at unpickle
   (#5021) (LP: #2056439)
 - bug(maas): register the correct DatasourceMAASLocal in init-local
   (#5068) (LP: #2057763)
 - fix(net): klibc ipconfig PROTO compatibility (#5437)
   [Alexsander de Souza] (LP: #2065787)
 - fix(snapd): ubuntu do not snap refresh when snap absent (LP: #2064300)

Downstream Packaging changes:
 - downstream ubuntu packaging will now pin a feature DEPRECATION_INFO_BOUNDARY to match the first version of cloud-init released on each series. This boundary gates whether cloud-init will raise only INFO level logs or DEPRECATED logs (which result in an exit 2 on cloud-init status) based on whether the defined deprecation_version defined for each key in json schema.

 - drop all debian/cpick-* patches now included due to pulling all commits from upstream
 - drop package dependency on netifaces
 - logrotate config added
 - enable WSL datasource for discovery
 - shuffle common logic for apport out of debian/apport-general-hook.py and into the main repo to get better test coverage.
 - drop now unnecessary d/p/do-not-block-user-login.patch because upstream systemd ordering now aligns with previous downstream unit ordering
 - Focal-only: redact unsupported ConditionEnvironment config from hotplug units. systemd in focal doesn't support this key anyway which results in a warning log in journalctl.
     NOTE: This config setting was a supplemental gate in systemd units to prevent the individual units from being loaded in boot target if the environment provides "KERNEL_CMDLINE=cloud-init=disabled" and was only provided as a short-circuit to ds-identify which also checks for KERNEL_CMDLINE in /proc/cmdline during systemd generator timeframe to disable loading cloud-init systemd units.

This allows stable releases to retain original behavior for keys which are recently deprecated in a newer version of cloud-init.

The feature.DEPRECATION_INFO_BOUNDARY for each targeted series:
   - focal: 20.1
   - jammy: 22.1
   - noble: 24.1

See the changelog entry below for a full list of changes and bugs.

[Test Case]
The following development and SRU process was followed:
https://wiki.ubuntu.com/CloudinitUpdates

The cloud-init team will be in charge of attaching the artifacts and
console output of the appropriate run to the bug. cloud-init team
members will not mark ‘verification-done’ until this has happened.

* Automated Test Results
<TODO-SRU-VERIFICATION: attach automated cloud-init-proposed test artifacts from tests for each release with lxd artifacts>
<TODO-SRU-VERIFICATION: attach automated cloud-init-proposed test artifacts from tests for each release with kvm artifacts>
<TODO-SRU-VERIFICATION: attach automated curtin vmtest with cloud-init proposed>
<TODO-SRU-VERIFICATION: attach Solutions Testing team test results for each LTS>

* Manual Test Results
<TODO-SRU-VERIFICATION: attach manual cloud-init-proposed test artifacts from tests for each release on ec2 datasource>
<TODO-SRU-VERIFICATION: attach manual cloud-init-proposed test artifacts from tests for each release on gce datasource>
<TODO-SRU-VERIFICATION: attach manual cloud-init-proposed test artifacts from tests for each release on azure datasource>

[Regression Potential]
In order to mitigate the regression potential, the results of the
aforementioned integration tests are attached to this bug.

[Discussion]
- Given that this SRU packaging is touching systemd unit ordering we want an additional manual test performed to validate/assert that there is not a degradation to time to SSH and perceived boot time. This can likely be performed in KVM to aensure a clean boot scenario with and without cloud-init 24.2 installed in the base image.

[ChangeLog]

24.2
 - test: Fix no default user in test_status.py (#5478)
 - fix: correct deprecated_version=22.2 for users.sudo
 - test: Add jsonschema guard in test_cc_ubuntu_pro.py (#5479)
 - fix(test): Fix pycloudlib types in integration tests (#5350)
 - fix(test): Fix ip printing for non-lxd instances (#5350)
 - chore(mypy): Drop unused missing import exclusions (#5350)
 - type: Add stub types for network v1/v2 config (#5350)
 - chore: Auto-format network jsonschema in ci (#5350)
 - fix(tox): Update tox.ini (#5350)
 - chore(typing): Remove type ignores and casts (#5350)
 - refactor(typing): Remove unused code paths (#5350)
 - fix(typing): Add / update type annotations (#5350)
 - fix(typing): Remove type annotation for unused variable (#5350)
 - fix(typing): Remove invalid type annotations (#5350)
 - ci(mypy): Set default follow_imports value (#5350)
 - test: Update integration tests to pass on focal (#5476)
 - tests: update ubuntu_pro test to account for info-level deprecations
   (#5475)
 - tests: update nocloud deprecation test for boundary version (#5474)
 - fix(rh_subscription): add string type to org (#5453)
 - tests: integration tests aware of features.DEPRECATION_INFO_BOUNDARY
 - tests: update keyserver PPA key fur curtin-dev (#5472)
 - test: Fix deprecation test failures (#5466)
 - chore: fix schema.py formatting (#5465)
 - fix: dont double-log deprecated INFOs (#5465)
 - fix(test): Mock version boundary (#5464)
 - fix(schema): Don't report changed keys as deprecated (#5464)
 - test: fix unit test openstack vlan mac_address (#5367)
 - fix: Ensure properties for bonded interfaces are properly translated
   (#5367) [Curt Moore]
 - fix(schema): permit deprecated hyphenated keys under users key (#5456)
 - fix: Do not add the vlan_mac_address field into the VLAN object (#5365)
   [Curt Moore]
 - doc(refactor): Convert module docs to new system (#5427) [Sally]
 - test: Add unit tests for features.DEPRECATION_INFO_BOUNDARY (#5411)
 - feat: Add deprecation boundary support to schema validator (#5411)
 - feat: Add deprecation boundary to logger (#5411)
 - fix: Gracefully handle missing files (#5397) [Curt Moore]
 - test(openstack): Test bond mac address (#5369)
 - fix(openstack): Fix bond mac_address (#5369) [Curt Moore]
 - test: Add ds-identify integration test coverage (#5394)
 - chore(cmdline): Update comments (#5458)
 - fix: Add get_connection_with_tls_context() for requests 2.32.2+ (#5435)
   [eaglegai]
 - fix(net): klibc ipconfig PROTO compatibility (#5437)
   [Alexsander de Souza] (LP: #2065787)
 - Support metalink in yum repository config (#5444) [Ani Sinha]
 - tests: hard-code curtin-dev ppa instead of canonical-kernel-team (#5450)
 - ci: PR update checklist GH- anchors to align w/ later template (#5449)
 - test: update validate error message in test_networking (#5436)
 - ci: Add PR checklist (#5446)
 - chore: fix W0105 in t/u/s/h/test_netlink.py (#5409)
 - chore(pyproject.toml): migrate to booleans (#5409)
 - typing: add check_untyped_defs (#5409)
 - fix(openstack): Append interface / scope_id for IPv6 link-local metadata
   address (#5419) [Christian Rohmann]
 - test: Update validation error in test_cli.py test (#5430)
 - test: Update schema validation error in integration test (#5429)
 - test: bump pycloudlib to get azure oracular images (#5428)
 - fix(azure): fix discrepancy for monotonic() vs time() (#5420)
   [Chris Patterson]
 - fix(pytest): Fix broken pytest gdb flag (#5415)
 - fix: Use monotonic time (#5423)
 - docs: Remove mention of resolv.conf (#5424)
 - perf(netplan): Improve network v1 -> network v2 performance (#5391)
 - perf(set_passwords): Run module in Network stage (#5395)
 - fix(test): Remove temporary directory side effect (#5416)
 - Improve schema validator warning messages (#5404) [Ani Sinha]
 - feat(sysconfig): Add DNS from interface config to resolv.conf (#5401)
   [Ani Sinha]
 - typing: add no_implicit_optional lint (#5408)
 - doc: update examples to reflect alternative ways to provide `sudo`
   option (#5418) [Ani Sinha]
 - fix(jsonschema): Add missing sudo definition (#5418)
 - chore(doc): migrate cc modules i through r to templates (#5313)
 - chore(doc): migrate grub_dpkg to tmpl add changed/deprecation (#5313)
 - chore(json): migrate cc_apt_configure and json schema indents (#5313)
 - chore(doc): migrate ca_certs/chef to template, flatten schema (#5313)
 - chore(doc): migrate cc_byobu to templates (#5313)
 - chore(doc): migrate cc_bootcmd to templates (#5313)
 - fix(apt): Enable calling apt update multiple times (#5230)
 - chore(VMware): Modify section of instance-id in the customization config
   (#5356) [PengpengSun]
 - fix(treewide): Remove dead code (#5332) [Shreenidhi Shedi]
 - doc: network-config v2 ethernets are of type object (#5381) [Malte Poll]
 - Release 24.1.7 (#5375)
 - fix(azure): url_helper: specify User-Agent when using headers_cb with
   readurl() (#5298) [Ksenija Stanojevic]
 - fix: Stop attempting to resize ZFS in cc_growpart on Linux (#5370)
 - doc: update docs adding YAML 1.1 spec and jinja template references
 - fix(final_message): do not warn on datasourcenone when single ds
 - fix(growpart): correct growpart log message to include value of mode
 - feat(hotplug): disable hotplugd.socket (#5058)
 - feat(hotlug): trigger hotplug after cloud-init.service (#5058)
 - test: add function to push and enable systemd units (#5058)
 - test(util): fix wait_until_cloud_init exit code 2 (#5058)
 - test(hotplug): fix race getting ipv6 (#5271)
 - docs: Adjust CSS to increase font weight across the docs (#5363) [Sally]
 - fix(ec2): Correctly identify netplan renderer (#5361)
 - tests: fix expect logging from growpart on devent with partition (#5360)
 - test: Add v2 test coverage to test_net.py (#5247)
 - refactor: Simplify collect_logs() in logs.py (#5268)
 - fix: Ensure no subp from logs.py import (#5268)
 - tests: fix integration tests for ubuntu pro 32.3 release (#5351)
 - tests: add oracular's hello package for pkg upgrade test (#5354)
 - growpart: Fix behaviour for ZFS datasets (#5169) [Mina Galić]
 - device_part_info: do not recurse if we did not match anything (#5169)
   [Mina Galić]
 - feat(alpine): add support for Busybox adduser/addgroup (#5176)
   [dermotbradley]
 - ci: Move lint tip and py3-dev jobs to daily (#5347)
 - fix(netplan): treat netplan warnings on stderr as debug for cloud-init
   (#5348)
 - feat(disk_setup): Add support for nvme devices (#5263)
 - fix(log): Do not warn when doing requested operation (#5263)
 - Support sudoers in the "/usr/usr merge" location (#5161)
   [Robert Schweikert]
 - doc(nocloud): Document network-config file (#5204)
 - fix(netplan): Fix predictable interface rename issue (#5339)
 - cleanup: Don't execute code on import (#5295)
 - fix(net): Make duplicate route add succeed. (#5343)
 - fix(freebsd): correct configuration of IPv6 routes (#5291) [Théo Bertin]
 - fix(azure): disable use-dns for secondary nics (#5314)
 - chore: fix lint failure (#5320)
 - Update pylint version to support python 3.12 (#5338) [Ani Sinha]
 - fix(tests): use regex to avoid focal whitespace in jinja debug test
   (#5335)
 - chore: Add docstrings and types to Version class (#5262)
 - ci(mypy): add type-jinja2 stubs (#5337)
 - tests(alpine): github trust lxc mounted source dir cloud-init-ro (#5329)
 - test: Add oracular release to integration tests (#5328)
 - Release 24.1.6 (#5326)
 - test: Fix failing test_ec2.py test (#5324)
 - fix: Check renderer for netplan-specific code (#5321)
 - docs: Removal of top-level --file breaking change (#5308)
 - fix: typo correction of delaycompress (#5317)
 - docs: Renderers/Activators have downstream overrides (#5322)
 - fix(ec2): Ensure metadata exists before configuring PBR (#5287)
 - fix(lxd): Properly handle unicode from LXD socket (#5309)
 - docs: Prefer "artifact" over "artefact" (#5311) [Arthur Le Maitre]
 - chore(doc): migrate cc_byobu to templates
 - chore(doc): migrate cc_bootcmd to templates
 - chore(doc): migrate apt_pipelining and apk_configure to templates
 - tests: in_place mount module-docs into lxd vm/container
 - feat(docs): generate rtd module schema from rtd/module-docs
 - feat: Set RH ssh key permissions when no 'ssh_keys' group (#5296)
   [Ani Sinha]
 - test: Avoid circular import in Azure tests (#5280)
 - test: Fix test_failing_userdata_modules_exit_codes (#5279)
 - chore: Remove CPY check from ruff (#5281)
 - chore: Clean up docstrings
 - chore(ruff): Bump to version 0.4.3
 - feat(systemd): Improve AlmaLinux OS and CloudLinux OS support (#5265)
   [Elkhan Mammadli]
 - feat(ca_certs): Add AlmaLinux OS and CloudLinux OS support (#5264)
   [Elkhan Mammadli]
 - docs: cc_apt_pipelining docstring typo fix (#5273) [Alex Ratner]
 - feat(azure): add request identifier to IMDS requests (#5218)
   [Ksenija Stanojevic]
 - test: Fix TestFTP integration test (#5237) [d1r3ct0r]
 - feat(ifconfig): prepare for CIDR output (#5272) [Mina Galić]
 - fix: stop manually dropping dhcp6 key in integration test (#5267)
   [Alec Warren]
 - test: Remove some CiTestCase tests (#5256)
 - fix: Warn when signal is handled (#5186)
 - fix(snapd): ubuntu do not snap refresh when snap absent (LP: #2064300)
 - feat(landscape-client): handle already registered client (#4784)
   [Fabian Lichtenegger-Lukas]
 - doc: Show how to debug external services blocking cloud-init (#5255)
 - fix(pdb): Enable running cloud-init under pdb (#5217)
 - chore: Update systemd description (#5250)
 - fix(time): Harden cloud-init to system clock changes
 - fix: Update analyze timestamp uptime
 - fix(schema): no network validation on netplan systems without API
 - fix(mount): Don't run cloud-init.service if cloud-init disabled (#5226)
 - fix(ntp): Fix AlmaLinux OS and CloudLinux OS support (#5235)
   [Elkhan Mammadli]
 - tests: force version of cloud-init from PPA regardless of version (#5251)
 - ci: Print isort diff (#5242)
 - test: Fix integration test dependencies (#5248)
 - fix(ec2): Fix broken uuid match with other-endianness (#5236)
 - fix(schema): allow networkv2 schema without top-level key (#5239)
   [Cat Red]
 - fix(cmd): Do not hardcode reboot command (#5208)
 - test: Run Alpine tests without network (#5220)
 - docs: Add base config reference from explanation (#5241)
 - docs: Remove preview from WSL tutorial (#5225)
 - chore: Remove broken maas code (#5219)
 - feat(WSL): Add support for Ubuntu Pro configs (#5116) [Ash]
 - chore: sync ChangeLog and version.py from 24.1.x (#5228)
 - bug(package_update): avoid snap refresh in images without snap command
   (LP: #2064132)
 - ci: Skip package build on tox runs (#5210)
 - chore: Fix test skip message
 - test(ec2): adopt pycloudlib public ip creation while launching instances
 - test(ec2): add ipv6 testing for multi-nic instances
 - test(ec2): adopt pycloudlib enable_ipv6 while launching instances
 - feat: tool to print diff between netplan and networkv2 schema (#5200)
   [Cat Red]
 - test: mock internet access in test_upgrade (#5212)
 - ci: Add timezone for alpine unit tests (#5216)
 - fix: Ensure dump timestamps parsed as UTC (#5214)
 - docs: Add WSL tutorial (#5206)
 - feature(schema): add networkv2 schema (#4892) [Cat Red]
 - Add alpine unittests to ci (#5121)
 - test: Fix invalid openstack datasource name (#4905)
 - test: Fix MAAS test and mark xfail (#4905)
 - chore(ds-identify): Update shellcheck ignores (#4905)
 - fix(ds-identify): Prevent various false positives and false negatives
   (#4905)
 - Use grep for faster parsing of cloud config in ds-identify (#4905)
   [Scott Moser] (LP: #2030729)
 - tests: validate netplan API YAML instead of strict content (#5195)
 - chore(templates): update ubuntu universe wording (#5199)
 - Deprecate the users ssh-authorized-keys property (#5162)
   [Anders Björklund]
 - doc(nocloud): Describe ftp and ftp over tls implementation (#5193)
 - feat(net): provide network config to netplan.State for render (#4981)
 - docs: Add breaking datasource identification changes (#5171)
 - fix(openbsd): Update build-on-openbsd python dependencies (#5172)
   [Hyacinthe Cartiaux]
 - fix: Add subnet ipv4/ipv6 to network schema (#5191)
 - docs: Add deprecated system_info to schema (#5168)
 - docs: Add DataSourceNone documentation (#5165)
 - test: Skip test if console log is None (#5188)
 - fix(dhcp): Enable interactively running cloud-init init --local (#5166)
 - test: Update message for netplan apply dbus issue
 - test: install software-properties-common if absent during PPA setup
 - test: bump pycloudlib to use latest version
 - test: Update version of hello package installed on noble
 - test: universally ignore netplan apply dbus issue (#5178)
 - chore: Remove obsolete nose workaround
 - feat: Add support for FTP and FTP over TLS (#4834)
 - feat(opennebula): Add support for posix shell
 - test: Make analyze tests not depend on GNU date
 - test: Eliminate bash dependency from subp tests
 - docs: Add breaking changes section to reference docs (#5147) [Cat Red]
 - util: add log_level kwarg for logexc() (#5125) [Chris Patterson]
 - refactor: Make device info part of distro definition (#5067)
 - refactor: Distro-specific growpart code (#5067)
 - test(ec2): fix mocking with responses==0.9.0 (focal) (#5163)
 - chore(safeyaml): Remove unicode helper for Python2 (#5142)
 - Revert "test: fix upgrade dhcp6 on ec2 (#5131)" (#5148)
 - refactor(net): Reuse netops code
 - refactor(iproute2): Make expressions multi-line for legibility
 - feat(freebsd): support freebsd find part by gptid and ufsid (#5122)
   [jinkangkang]
 - feat: Determining route metric based on NIC name (#5070) [qidong.ld]
 - test: Enable profiling in integration tests (#5130)
 - dhcp: support configuring static routes for dhclient's unknown-121
   option (#5146) [Chris Patterson]
 - feat(azure): parse ProvisionGuestProxyAgent as bool (#5126)
   [Ksenija Stanojevic]
 - fix(url_helper): fix TCP connection leak on readurl() retries (#5144)
   [Chris Patterson]
 - test: pytest-ify t/u/sources/test_ec2.py
 - Revert "ec2: Do not enable dhcp6 on EC2 (#5104)" (#5145) [Major Hayden]
 - fix: Logging sensitive data
 - test: Mock ds-identify systemd path (#5119)
 - fix(dhcpcd): Make lease parsing more robust (#5129)
 - test: fix upgrade dhcp6 on ec2 (#5131)
 - net/dhcp: raise InvalidDHCPLeaseFileError on error parsing dhcpcd lease
   (#5128) [Chris Patterson]
 - fix: Fix runtime file locations for cloud-init (#4820)
 - ci: fix linkcheck.yml invalid yaml (#5123)
 - net/dhcp: bump dhcpcd timeout to 300s (#5127) [Chris Patterson]
 - ec2: Do not enable dhcp6 on EC2 (#5104) [Major Hayden]
 - fix: Fall back to cached local ds if no valid ds found (#4997)
   [PengpengSun]
 - ci: Make linkcheck a scheduled job (#5118)
 - net: Warn when interface rename fails
 - ephemeral(dhcpcd): Set dhcpcd interface down
 - Release 24.1.3
 - chore: Handle all level 1 TiCS security violations (#5103)
 - fix: Always use single datasource if specified (#5098)
 - fix(tests): Leaked mocks (#5097)
 - fix(rhel)!: Fix network boot order in upstream cloud-init
 - fix(rhel): Fix network ordering in sysconfig
 - feat: Use NetworkManager renderer by default in RHEL family
 - fix: Allow caret at the end of apt package (#5099)
 - test: Add missing mocks to prevent bleed through (#5082)
   [Robert Schweikert]
 - fix: Ensure network config in DataSourceOracle can be unpickled (#5073)
 - docs: set the home directory using homedir, not home (#5101)
   [Olivier Gayot] (LP: #2047796)
 - fix(cacerts): Correct configuration customizations for Photon (#5077)
   [Christopher McCann]
 - fix(test): Mock systemd fs path for non-systemd distros
 - fix(tests): Leaked subp.which mock
 - fix(networkd): add GatewayOnLink flag when necessary (#4996) [王煎饼]
 - Release 24.1.2
 - test: fix `disable_sysfs_net` mock (#5065)
 - refactor: don't import subp function directly (#5065)
 - test: Remove side effects from tests (#5074)
 - refactor: Import log module rather than functions (#5074)
 - fix: Fix breaking changes in package install (#5069)
 - fix: Undeprecate 'network' in schema route definition (#5072)
 - refactor(ec2): simplify convert_ec2_metadata_network_config
 - fix(ec2): fix ipv6 policy routing
 - fix: document and add 'accept-ra' to network schema (#5060)
 - bug(maas): register the correct DatasourceMAASLocal in init-local
   (#5068) (LP: #2057763)
 - ds-identify: Improve ds-identify testing flexibility (#5047)
 - fix(ansible): Add verify_commit and inventory to ansible.pull schema
   (#5032) [Fionn Fitzmaurice]
 - doc: Explain breaking change in status code (#5049)
 - gpg: Handle temp directory containing files (#5063)
 - distro(freebsd): add_user: respect homedir (#5061) [Mina Galić]
 - doc: Install required dependencies (#5054)
 - networkd: Always respect accept-ra if set (#4928) [Phil Sphicas]
 - chore: ignore all cloud-init_*.tar.gz in .gitignore (#5059)
 - test: Don't assume ordering of ThreadPoolExecutor submissions (#5052)
 - feat: Add new distro 'azurelinux' for Microsoft Azure Linux. (#4931)
   [Dan Streetman]
 - fix(gpg): Make gpg resilient to host configuration changes (#5026)
 - Sync 24.1.1 changelog and version
 - DS VMware: Fix ipv6 addr converter from netinfo to netifaces (#5029)
   [PengpengSun]
 - packages/debian: remove dependency on isc-dhcp-client (#5041)
   [Chris Patterson]
 - test: Allow fake_filesystem to work with TemporaryDirectory (#5035)
 - tests: Don't wait for GCE instance teardown (#5037)
 - fix: Include DataSourceCloudStack attribute in unpickle test (#5039)
 - bug(vmware): initialize new DataSourceVMware attributes at unpickle
   (#5021) (LP: #2056439)
 - fix(apt): Don't warn on apt 822 source format (#5028)
 - fix(atomic_helper.py): ensure presence of parent directories (#4938)
   [Shreenidhi Shedi]
 - fix: Add "broadcast" to network v1 schema (#5034) (LP: #2056460)
 - pro: honor but warn on custom ubuntu_advantage in /etc/cloud/cloud.cfg
   (#5030)
 - net/dhcp: handle timeouts for dhcpcd (#5022) [Chris Patterson]
 - fix: Make wait_for_url respect explicit arguments
 - test: Fix scaleway retry assumptions
 - fix: Make DataSourceOracle more resilient to early network issues
   (#5025) (LP: #2056194)
 - chore(cmd-modules): fix exit code when --mode init (#5017)
 - feat: pylint: enable W0201 - attribute-defined-outside-init
 - refactor: Ensure no attributes defined outside __init__
 - chore: disable attribute-defined-outside-init check in tests
 - refactor: Use _unpickle rather than hasattr() in sources
 - chore: remove unused vendordata "_pure" variables
 - chore(cmd-modules): deprecate --mode init (#5005)
 - tests: drop CiTestCase and convert to pytest
 - bug(tests): mock reads of host's /sys/class/net via get_sys_class_path
 - fix: log correct disabled path in ds-identify (#5016)
 - tests: ec2 dont spend > 1 second retrying 19 times when 3 times will do
 - tests: openstack mock expected ipv6 IMDS
 - bug(wait_for_url): when exceptions occur url is unset, use url_exc
   (LP: #2055077)
 - feat(run-container): Run from arbitrary commitish (#5015)
 - tests: Fix wsl test (#5008)
 - feat(ds-identify): Don't run unnecessary systemd-detect-virt (#4633)
 - chore(ephemeral): add debug log when bringing up ephemeral network
   (#5010) [Alec Warren]
 - release: sync changelog and version (#5011)
 - Cleanup test_net.py (#4840)
 - refactor: remove dependency on netifaces (#4634) [Cat Red]
 - feat: make lxc binary configurable (#5000)
 - docs: update 404 page for new doc site and bug link
 - test(aws): local network connectivity on multi-nics (#4982)
 - test: Make integration test output more useful (#4984)
== End SRU Template ==

Revision history for this message
Chad Smith (chad.smith) wrote :

Not targeting Mantic for release due to expected EOL 2024-07-11 not leaving enough time to SRU verify this release.

description: updated
description: updated
Chad Smith (chad.smith)
description: updated
Chad Smith (chad.smith)
description: updated
Chad Smith (chad.smith)
description: updated
Chad Smith (chad.smith)
description: updated
James Falcon (falcojr)
summary: - sru cloud-init (24.2 update) to focal, jammy, mantic and noble
+ sru cloud-init (24.2 update) to focal, jammy and noble
Revision history for this message
Andreas Hasenack (ahasenack) wrote :

The jammy upload has this changelog in its changes file:
 cloud-init (24.2-0ubuntu1~22.04.1) jammy; urgency=medium
 .
   * d/apport-general-hook.py: Move apport hook to main branch
   * d/cloud-init.maintscript: remove /etc/cloud/clean.d/README
   * d/cloud-init.logrotate: add logrotate config for cloud-init
   * d/cloud-init.postinst: change priority of hotplug rules.
     Avoids LP #1946003 on upgraded systems. References:
     [0] https://github.com/canonical/cloud-init/pull/4799
     [1] commit/b519d861aff8b44a0610c176cb34adcbe28df144
   * d/cloud-init.templates: enable WSL datasource by default
   * d/control: remove netifaces
   * d/p/deprecation-version-boundary.patch: Pin deprecation version to 22.1
   * drop d/p/do-not-block-user-login.patch: upstream 4981ea9 now orders
     cloud-init.service Before=systemd-user-sessions.service
   * refresh patches:
     - d/p/cli-retain-file-argument-as-main-cmd-arg.patch
     - d/p/keep-dhclient-as-priority-client.patch
     - d/p/status-do-not-remove-duplicated-data.patch
     - d/p/status-retain-recoverable-error-exit-code.patch
     - d/p/revert-551f560d-cloud-config-after-snap-seeding.patch
     - d/p/retain-ec2-default-net-update-events.patch
     - d/p/retain-old-groups.patch
   * Upstream snapshot based on 24.2. (LP: #2071762).
     List of changes from upstream can be found at
     https://raw.githubusercontent.com/canonical/cloud-init/24.2/ChangeLog
 .
 cloud-init (24.1.3-0ubuntu1~22.04.6) jammy; urgency=medium
 .
   * d/p/chad: cherry-pick snap refresh

a) Changes listed in d/changelog but not found in the actual diff/package (i.e., no diff at all on those files when compared to the previous published cloud-init package):
  * d/apport-general-hook.py: Move apport hook to main branch
  * d/cloud-init.maintscript: remove /etc/cloud/clean.d/README
  * d/cloud-init.logrotate: add logrotate config for cloud-init
  * d/cloud-init.postinst: change priority of hotplug rules.
  * d/cloud-init.templates: enable WSL datasource by default
  * d/cloud-init.templates: enable WSL datasource by default

Had a chat with James Falcon about these, and other issues we talked about, and they will upload again.

Revision history for this message
Chad Smith (chad.smith) wrote :

@andreas thank you for the review here.

We resolved my cut-n-paste issues in debian/changelog and have redacted the duplicated entries pulled up from a prior debian/changelog section.

The superfluous d/p/chad was due to snap-shotting from a local development branch instead of our public downstream branch at https://github.com/canonical/cloud-init/tree/ubuntu/jammy.

All queued unapproved uploads should be resolved as of 2024-07-11 and we would like to seek additional review if possible.

Revision history for this message
Andreas Hasenack (ahasenack) wrote : Please test proposed package

Hello Chad, or anyone else affected,

Accepted cloud-init into noble-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/cloud-init/24.2-0ubuntu1~24.04.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-noble to verification-done-noble. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-noble. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in cloud-init (Ubuntu Noble):
status: New → Fix Committed
tags: added: verification-needed verification-needed-noble
Changed in cloud-init (Ubuntu Jammy):
status: New → Fix Committed
tags: added: verification-needed-jammy
Revision history for this message
Andreas Hasenack (ahasenack) wrote :

Hello Chad, or anyone else affected,

Accepted cloud-init into jammy-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/cloud-init/24.2-0ubuntu1~22.04.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-jammy to verification-done-jammy. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-jammy. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in cloud-init (Ubuntu Focal):
status: New → Fix Committed
tags: added: verification-needed-focal
Revision history for this message
Andreas Hasenack (ahasenack) wrote :

Hello Chad, or anyone else affected,

Accepted cloud-init into focal-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/cloud-init/24.2-0ubuntu1~20.04.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-focal to verification-done-focal. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-focal. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.