nixos/timesyncd: remove migration path dating back to 19.09
Also remove the test that only tested this migration and nothing else about systemd-timesyncd.
This commit is contained in:
@@ -74,17 +74,6 @@ in
|
||||
# This means that systemd-timesyncd needs to have NSS modules path in LD_LIBRARY_PATH. When systemd-resolved is disabled we still need to set
|
||||
# NSS module path so that systemd-timesyncd keeps using other NSS modules that are configured in the system.
|
||||
environment.LD_LIBRARY_PATH = config.system.nssModules.path;
|
||||
|
||||
preStart =
|
||||
# workaround an issue of systemd-timesyncd not starting due to upstream systemd reverting their dynamic users changes
|
||||
# - https://github.com/NixOS/nixpkgs/pull/61321#issuecomment-492423742
|
||||
# - https://github.com/systemd/systemd/issues/12131
|
||||
lib.optionalString (versionOlder config.system.stateVersion "19.09") ''
|
||||
if [ -L /var/lib/systemd/timesync ]; then
|
||||
rm /var/lib/systemd/timesync
|
||||
mv /var/lib/private/systemd/timesync /var/lib/systemd/timesync
|
||||
fi
|
||||
'';
|
||||
};
|
||||
|
||||
environment.etc."systemd/timesyncd.conf".text = ''
|
||||
|
||||
@@ -1482,7 +1482,6 @@ in
|
||||
systemd-sysusers-immutable = runTest ./systemd-sysusers-immutable.nix;
|
||||
systemd-sysusers-mutable = runTest ./systemd-sysusers-mutable.nix;
|
||||
systemd-sysusers-password-option-override-ordering = runTest ./systemd-sysusers-password-option-override-ordering.nix;
|
||||
systemd-timesyncd = runTest ./systemd-timesyncd.nix;
|
||||
systemd-timesyncd-nscd-dnssec = runTest ./systemd-timesyncd-nscd-dnssec.nix;
|
||||
systemd-user-linger = runTest ./systemd-user-linger.nix;
|
||||
systemd-user-tmpfiles-rules = runTest ./systemd-user-tmpfiles-rules.nix;
|
||||
|
||||
@@ -1,70 +0,0 @@
|
||||
# Regression test for systemd-timesync having moved the state directory without
|
||||
# upstream providing a migration path. https://github.com/systemd/systemd/issues/12131
|
||||
|
||||
let
|
||||
common =
|
||||
{ lib, ... }:
|
||||
{
|
||||
# override the `false` value from the qemu-vm base profile
|
||||
services.timesyncd.enable = lib.mkForce true;
|
||||
};
|
||||
mkVM = conf: {
|
||||
imports = [
|
||||
conf
|
||||
common
|
||||
];
|
||||
};
|
||||
in
|
||||
{
|
||||
name = "systemd-timesyncd";
|
||||
nodes = {
|
||||
current = mkVM { };
|
||||
pre1909 = mkVM (
|
||||
{ lib, ... }:
|
||||
{
|
||||
# create the path that should be migrated by our activation script when
|
||||
# upgrading to a newer nixos version
|
||||
system.stateVersion = "19.03";
|
||||
systemd.services.old-timesync-state-dir = {
|
||||
requiredBy = [ "sysinit.target" ];
|
||||
before = [ "systemd-timesyncd.service" ];
|
||||
after = [ "local-fs.target" ];
|
||||
unitConfig.DefaultDependencies = false;
|
||||
serviceConfig.Type = "oneshot";
|
||||
script = ''
|
||||
rm -rf /var/lib/systemd/timesync
|
||||
mkdir -p /var/lib/systemd /var/lib/private/systemd/timesync
|
||||
ln -s /var/lib/private/systemd/timesync /var/lib/systemd/timesync
|
||||
chown systemd-timesync: /var/lib/private/systemd/timesync
|
||||
'';
|
||||
};
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
start_all()
|
||||
current.succeed("systemctl status systemd-timesyncd.service")
|
||||
# on a new install with a recent systemd there should not be any
|
||||
# leftovers from the dynamic user mess
|
||||
current.succeed("test -e /var/lib/systemd/timesync")
|
||||
current.succeed("test ! -L /var/lib/systemd/timesync")
|
||||
|
||||
# timesyncd should be running on the upgrading system since we fixed the
|
||||
# file bits in the activation script
|
||||
pre1909.succeed("systemctl status systemd-timesyncd.service")
|
||||
|
||||
# the path should be gone after the migration
|
||||
pre1909.succeed("test ! -e /var/lib/private/systemd/timesync")
|
||||
|
||||
# and the new path should no longer be a symlink
|
||||
pre1909.succeed("test -e /var/lib/systemd/timesync")
|
||||
pre1909.succeed("test ! -L /var/lib/systemd/timesync")
|
||||
|
||||
# after a restart things should still work and not fail in the activation
|
||||
# scripts and cause the boot to fail..
|
||||
pre1909.shutdown()
|
||||
pre1909.start()
|
||||
pre1909.succeed("systemctl status systemd-timesyncd.service")
|
||||
'';
|
||||
}
|
||||
Reference in New Issue
Block a user