Skip to content

Ubuntu/questing: SRU 25.3 snapshot#6619

Merged
blackboxsw merged 46 commits into
canonical:ubuntu/questingfrom
blackboxsw:ubuntu/questing
Dec 12, 2025
Merged

Ubuntu/questing: SRU 25.3 snapshot#6619
blackboxsw merged 46 commits into
canonical:ubuntu/questingfrom
blackboxsw:ubuntu/questing

Conversation

@blackboxsw
Copy link
Copy Markdown
Collaborator

In order to SRU 25.3 to plucky and earlier, we also need to SRU to questing. This was previously blocked on awaiting SRU verification of https://bugs.launchpad.net/bugs/2127022 which was completed 12/10/2025.

process to create this packaging branch

new_upstream_snapshot -c 25.3

Proposed Commit Message

See individual commits, all automated by new_upstream_snapshot. No manual intervention required for quilt patches.

Additional Context

Test Steps

Validate that the only delta exists is authorship in debian/changelog. All else is covered by CI

Merge type

  • Squash merge using "Proposed Commit Message"
  • Rebase and merge unique commits. Requires commit messages per-commit each referencing the pull request number (#<PR_NUM>)
  • git push the branch and the related release tag on the commandline once approved. Follow with dput

aciba90 and others added 30 commits August 26, 2025 10:50
Updates the ntp client used on Raspberry Pi OS
to `systemd-timesyncd`.

Signed-off-by: paulober <paul.oberosler@raspberrypi.com>
Promote the use of pytest and discourage the use of TestCase tests.

Include relevant fixtures and update recommendations.
Signed-off-by: paulober <paul.oberosler@raspberrypi.com>
Nmap's netcat implementation doesn't support creating a return
socket for datagram mode. Switch the socket mode to stream for
better compatibility.

Fixes canonicalGH-6136
The faults of incompetent abilities will be consigned to oblivion
Remove helpers.TestCase inheritance and replace self.assert methods with bare assert statements. 
This change is a refactor only. Test behavior and coverage remains exactly the same.

canonicalGH-6427
Signed-off-by: paulober <paul.oberosler@raspberrypi.com>
The position of the cached func in the decorator and decorated
signatures varies depending on how the decorator is called (with or
without args). Fix the latter case.

Fixes tox -e hypothesis-slow.

Fixes canonicalGH-5869
…nical#6399)

If cloud-init DataSources are separately packaged by a distro then it
is possible that running "cloud-init devel net-convert -h" (and trying
to convert between some network formats) can fail with errors if
Azure, Openstack, or VMware cloud-init code is not present.

I observed these errors when running the above command on an Alpine
system where cloud-init's various DataSources are separately packaged
and only the NoCloud DataSource was installed.

This PR prevents import failures of Azure, Openstack, and VMware
specific code from causing such errors. Instead the accepted list of
inputs ("-k") is dynamically adapted based on the presence/absence of
each of the Azure/Openstack/VMware related code.

NOTE: I realise that cloud-init does not currently officially support
the packaging of DataSources code separately. However I believe that
Ubuntu is currently in the process of developing/testing such separate
DataSources packaging and so this PR would be relevant to Ubuntu also.
Allow setting release major.minor version with subscription-manager

Fixes canonicalGH-6030
Modify meson.build to install relevant files for OpenRC

Also modify 2 OpenRC scripts to run required scripts from
/usr/libexec path rather than /usr/lib.
Remove helpers.TestCase inheritance, replace unittest assertions with pytest equivalents,
and rename helper methods using pytest naming convention. This change is a refactor only.
Test behavior and coverage remains exactly the same.

canonicalGH-6427
Use debian distro package renames and lookups when determining
system package names for test-requirements.txt.

Otherwise, pyserial dependency gets translated to invalid
system package name python3-pyserial.
To allow for a low-dependency installation of cloud-init, optionalize the
bash-completion dependency, defaulted to true. This means behaviorally
nothing changes, but that the bash-completion features can be easily
turned off if not desired.
Previously, the do_as function failed because commands
were not quoted correctly. The quoting logic has been
fixed to ensure commands execute reliably.

Fixes canonicalGH-6171
Respect --directory when --output-kind is netplan.

Previously, if the netplan python API was present, cloud-init was
unconditionally ignoring the directory target and writing to
/etc/netplan/50-cloud-init.yaml or a similar location using the netplan
API. That writing operation only succeeded if the user had write
permission under /etc/netplan.

In the no-permission case, cloud-init falls back to manually writing to
$target + etc/netplan/50-cloud-init.yaml and that's why tests didn't
catch this issue.

Fixes: canonicalGH-6141
DarkPhily and others added 13 commits September 11, 2025 10:07
…anonical#6445)

This PR tries to accomplish hotplug support for the Hetzner cloud.
cloud-init should pick up the newly attached private network and
configure the interface accordingly. Furthermore, this PR also prepares
cloud-init to use the IPv6 Hetzner metadata-service
Only pass absolute path to netplan python API if an explicit target is
passed to netplan.Renderer.render_network_state. That is, when called
from cloud-init net-convert.
In jsonschema v2.0.0 the not keyword was introduced.
Provide support for this schema inversion in is_valid().

Fixes canonicalGH-6468

Signed-off-by: Mostafa Abdelwahab <moustapha.hicham@gmail.com>
Refactored tests/unittests/test_registry.py to use pytest instead of
unittest.TestCase as part of the pytest migration effort.

- Removed TestCase inheritance and replaced with pytest fixtures
- Converted self.assert* methods to bare assert statements
- Replaced self.assertRaises with pytest.raises context manager
- Removed unnessary global state reset fixture (per review feedback)
- Maintained all original test functionality

Related: canonical#6427
…al#6481)

Refactored tests/unittests/distros/test_hosts.py to use pytest instead of
unittest.TestCase as part of the pytest migration effort.

- Removed TestCase inheritance
- Converted self.assert* methods to bare assert statements
- Maintained all original test functionality

Related: canonical#6427
…cal#6460)

When adding post-up/pre-down entries to /etc/network/interfaces to
manage routes use the "ip" binary if available rather than the "route"
binary.

Fixes: canonicalGH-6250
…og (canonical#6470)

Additionally, redact duplicated runtime key verification in
cc_rh_subscription in favor of initial JSON schema validation warnings.

Fixes canonicalGH-6370

Signed-off-by: Mostafa Abdelwahab <moustapha.hicham@gmail.com>
…l#6371)

Fixes canonicalGH-5812

Signed-off-by: Mostafa Abdelwahab <moustapha.hicham@gmail.com>
Bump the version in cloudinit/version.py to 25.3 and
update ChangeLog.
@blackboxsw blackboxsw requested a review from holmanb December 11, 2025 18:41
@github-actions github-actions Bot added the packaging Supplemental package review requested label Dec 11, 2025
@blackboxsw
Copy link
Copy Markdown
Collaborator Author

Excpected CLA failure on github obscured emails

@holmanb
Copy link
Copy Markdown
Member

holmanb commented Dec 11, 2025

Excpected CLA failure on github obscured emails

Does this check make sense on these branches? It will be ignored it isn't a useful signal.

@blackboxsw
Copy link
Copy Markdown
Collaborator Author

Excpected CLA failure on github obscured emails

Does this check make sense on these branches? It will be ignored it isn't a useful signal.

I think it doesn't make sense. We capture this on tip-of-main and should only be a gate to what is contributed there. These downstream branches won't generally be taking external commits that aren't already committed to upstream/main. Just put up a PR for this against main

@blackboxsw
Copy link
Copy Markdown
Collaborator Author

Excpected CLA failure on github obscured emails

Does this check make sense on these branches? It will be ignored it isn't a useful signal.

I think it doesn't make sense. We capture this on tip-of-main and should only be a gate to what is contributed there. These downstream branches won't generally be taking external commits that aren't already committed to upstream/main. Just put up a PR for this against main

@holmanb We landed the no-CLA-workflow on downstream PR yesterday, so I think this is ready for review.

@holmanb
Copy link
Copy Markdown
Member

holmanb commented Dec 12, 2025

@blackboxsw we didn't include a deprecation version boundary to plucky or questing. Adding that will prevent exit code 2 surprises from new deprecations on old series.

Copy link
Copy Markdown
Member

@holmanb holmanb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See comment

@blackboxsw
Copy link
Copy Markdown
Collaborator Author

@blackboxsw we didn't include a deprecation version boundary to plucky or questing. Adding that will prevent exit code 2 surprises from new deprecations on old series.

Thank you @holmanb, I've added a commit to pin to 25.3 for questing and a debian/changelog fix and git rebased the pull request to include it within the proposed questing deb package version 25.3-0ubuntu1~25.10.1.

I'll followup with a separate plucky branch now.

@blackboxsw blackboxsw requested a review from holmanb December 12, 2025 21:27
Copy link
Copy Markdown
Member

@holmanb holmanb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @blackboxsw!

@blackboxsw blackboxsw merged commit 7a8102f into canonical:ubuntu/questing Dec 12, 2025
19 of 20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

packaging Supplemental package review requested

Projects

None yet

Development

Successfully merging this pull request may close these issues.