Skip to content

feat: add guest-to-host time synchronisation - #2364

Merged
lowjoel merged 1 commit into
developfrom
lowjoel/v3-clock-sync
Aug 17, 2026
Merged

lowjoel merged 1 commit into
developfrom
lowjoel/v3-clock-sync

Conversation

@lowjoel

@lowjoel lowjoel commented Aug 14, 2026 •

Copy link
Copy Markdown
Contributor

What kind of change does this PR introduce?

Fixes KUBE-1282.

For v3 qemu images, add guest-to-host time synchronisation.

This ensures that the time between the host and guest does not drift. This uses less resources than the full NTP stack because this uses the Linux PTP_KVM device and does not require network access.

What is the current behavior?

The default arch_sys_counter clock source is used, which loses ~3s of accuracy a day. A pod running for ~1 year is about 15mins off. systemd-timesyncd is installed on the node, but several (~200) pods had NTP sync errors.

With such a large drift, all backups will fail.

What is the new behavior?

We will maintain a constant time sync between guest-and-host even with network disruptions.

@lowjoel
lowjoel force-pushed the lowjoel/v3-clock-sync branch 6 times, most recently from d862968 to 3b43472 Compare August 17, 2026 02:58
@lowjoel
lowjoel force-pushed the lowjoel/v3-clock-sync branch from 3b43472 to 9debff6 Compare August 17, 2026 03:52
@lowjoel
lowjoel marked this pull request as ready for review August 17, 2026 03:53
@lowjoel
lowjoel requested review from a team as code owners August 17, 2026 03:53
@lowjoel
lowjoel added this pull request to the merge queue Aug 17, 2026
Merged via the queue into develop with commit 667e8c6 Aug 17, 2026
111 checks passed
@lowjoel
lowjoel deleted the lowjoel/v3-clock-sync branch August 17, 2026 06:17
hunleyd added a commit that referenced this pull request Aug 22, 2026
…c-spool-path-defaults-onto-the-10gb-root-volume

* origin/develop:
  Report final AMI disk usage to workflow job (#2384)
  Re-organize build scripts, add to shellcheck (#2380)
  feat: Do not hardcode `orioledb.main_buffers` in `postgresql.conf` (#2365)
  feat: add orioledb debug symbols (#2379)
  chore: Make postgresql.env optional in database-optimizations.service (#2372)
  feat: bump to PostgREST v14.17 (#2374)
  ansible: Bump versions to get new AMIs built (#2376)
  Revert PostgREST bump to v14.17 (#2371)
  fix: disable APT timers during Supabase upgrades (#2358)
  gha/nix-install-ephemeral: Actually copy to s3, not just echo it (#2369)
  feat: bump to PostgREST v14.17 (#2363)
  feat: add guest-to-host time synchronisation (#2364)
  ci: Add final job that depends on the important jobs (#2361)
  feat: Add ORIOLEDB_ENABLED into /etc/environment.d/postgresql.env (#2362)
  fix: harden post-upgrade vacuum analyze in pg_upgrade complete script (#2356)
  feat: Bump admin-api to 0.114.0 (#2342)
  feat: [ansible/tasks] adding reindex script for collation version change (#2343)
  Revert "Lots of bootstrap script clean ups (#2326)" (#2357)
  ci: Delete nix-eval workflow (#2347)
hunleyd added a commit that referenced this pull request Aug 25, 2026
…nix-pkg-for-pgbackrest

* origin/develop: (26 commits)
  chore(nix): remove LLVM JIT support from postgresql build (#2296)
  fix: cover pg_cron legacy extversion strings with alignment migration and alias scripts (#2300)
  docs: commit supabase/postgres's CLAUDE.md (#2395)
  ansible: Setup swap in stage2 not stage1 (#2381)
  ci: install AMI postgres profile via nix-env --set (#2309)
  images: clean up nix at end of process (#2393)
  ansible: Stop compiling binaries (#2382)
  Report final AMI disk usage to workflow job (#2384)
  Re-organize build scripts, add to shellcheck (#2380)
  feat: Do not hardcode `orioledb.main_buffers` in `postgresql.conf` (#2365)
  feat: add orioledb debug symbols (#2379)
  chore: Make postgresql.env optional in database-optimizations.service (#2372)
  feat: bump to PostgREST v14.17 (#2374)
  ansible: Bump versions to get new AMIs built (#2376)
  Revert PostgREST bump to v14.17 (#2371)
  fix: disable APT timers during Supabase upgrades (#2358)
  gha/nix-install-ephemeral: Actually copy to s3, not just echo it (#2369)
  feat: bump to PostgREST v14.17 (#2363)
  feat: add guest-to-host time synchronisation (#2364)
  ci: Add final job that depends on the important jobs (#2361)
  ...
hunleyd added a commit that referenced this pull request Aug 25, 2026
…chiving-on-customer-tier

* origin/develop: (26 commits)
  chore(nix): remove LLVM JIT support from postgresql build (#2296)
  fix: cover pg_cron legacy extversion strings with alignment migration and alias scripts (#2300)
  docs: commit supabase/postgres's CLAUDE.md (#2395)
  ansible: Setup swap in stage2 not stage1 (#2381)
  ci: install AMI postgres profile via nix-env --set (#2309)
  images: clean up nix at end of process (#2393)
  ansible: Stop compiling binaries (#2382)
  Report final AMI disk usage to workflow job (#2384)
  Re-organize build scripts, add to shellcheck (#2380)
  feat: Do not hardcode `orioledb.main_buffers` in `postgresql.conf` (#2365)
  feat: add orioledb debug symbols (#2379)
  chore: Make postgresql.env optional in database-optimizations.service (#2372)
  feat: bump to PostgREST v14.17 (#2374)
  ansible: Bump versions to get new AMIs built (#2376)
  Revert PostgREST bump to v14.17 (#2371)
  fix: disable APT timers during Supabase upgrades (#2358)
  gha/nix-install-ephemeral: Actually copy to s3, not just echo it (#2369)
  feat: bump to PostgREST v14.17 (#2363)
  feat: add guest-to-host time synchronisation (#2364)
  ci: Add final job that depends on the important jobs (#2361)
  ...
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