Skip to content

Conversation

@blackboxsw
Copy link
Collaborator

Proposed Commit Message

Change the installed ntp client package from ntp to ntpsec
when user-data requests `ntp_client: ntp`.

Fix inability to install ntp deb packages from universe in Ubuntu for
some time which resulted in errors from `cloud-init status` and
failed integration tests.

Most distributions have migrated away from ntp to ntpsec as replacement
implementation which has better security and maintenance as a project.

Package migration has happened in many distributions already:
- Ubuntu was in Xenial 2016
- OpenSUSE available since 2019
- Fedora 34 2021
- Debian Bookworm 2023
- Alpine 3.10 2019

Additional Context

Failed jenkins job

Test Steps

CLOUD_INIT_OS_IMAGE=resolute tox -e integration-tests -- tests/integration_tests/modules/test_ntp_servers.py

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>)

Change the installed ntp client package from ntp to ntpsec when
user-data requests `ntp_client: ntp`.

Fix inability to install ntp deb packages from universe in Ubuntu for
some time which resulted in errors from `cloud-init status` and
failed integration tests.

Most distributions have migrated away from ntp to ntpsec as replacement
implementation which has better security and maintenance as a project.

Package migration has happened in many distributions already:
- Ubuntu was in Xenial 2016
- OpenSUSE available since 2019
- Fedora 34 2021
- Debian Bookworm 2023
- Alpine 3.10 2019
@holmanb
Copy link
Member

holmanb commented Jan 23, 2026

Why did this only start failing in Noble? And when did this start failing?

@blackboxsw
Copy link
Collaborator Author

Why did this only start failing in Noble? And when did this start failing?

Questing has always been failing ntp because that package never existed in questing archives.

I am seeing intermittent failures on noble lxd but not on Azure,GCE or Ec2.

For some reason the cloud-init.log artifacts for failed noble runs are attaching the log artifacts for test_chrony to the claimed failures for test_empty_ntp on missing ntpd --version binary.

It makes me think that access to clients to systems under test are getting mixed up occasionally and executing the assertions against the wrong target in some cases and harvesting the failure logs from the wrong instance.

Noble integration tests do work from daily images today. The ntp package is present and installable, but so is ntpsec. (it doesn't fail on our azure, gce or ec2 test runs )

This set of ntp tests has intermittently failed in the past on nearly every series past Xenial when a specific Ubuntu series is pre-release under development because the transitional package ntp the fact the ntpsec provides time-daemon which also Conflicts with systemd-timesyncd and chrony packages which also provide time-daemon.

I'm have a vague memory that some of these intermittent test ntp failures in the past during development series was due to APT being unable to resolve underlying conflicts between the default chrony package and ntp or ntpsec forcing the transitional package to update its dependency/conflicts in debian/control file.

@blackboxsw blackboxsw merged commit 78f6f15 into canonical:main Jan 23, 2026
22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants