From 926428bdb5d55769251d9f07bb6710c89f9620fa Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 10 Sep 2016 20:10:53 +0200 Subject: [PATCH 01/45] cassandra service: network-interfaces.target -> network.target --- nixos/modules/services/databases/cassandra.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/databases/cassandra.nix b/nixos/modules/services/databases/cassandra.nix index c98af617587d0a1..b43b448ed7e1edc 100644 --- a/nixos/modules/services/databases/cassandra.nix +++ b/nixos/modules/services/databases/cassandra.nix @@ -377,7 +377,7 @@ in { systemd.services.cassandra = { description = "Cassandra Daemon"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; environment = cassandraEnvironment; restartTriggers = [ cassandraConfFile cassandraLogFile cassandraRackFile ]; serviceConfig = { From 167eef2bab6f6b1ebcb03f8305dcafefd0c95544 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 10 Sep 2016 20:11:02 +0200 Subject: [PATCH 02/45] influxdb service: network-interfaces.target -> network.target --- nixos/modules/services/databases/influxdb.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/databases/influxdb.nix b/nixos/modules/services/databases/influxdb.nix index e2268bd556ef589..ed477524d4cbcb6 100644 --- a/nixos/modules/services/databases/influxdb.nix +++ b/nixos/modules/services/databases/influxdb.nix @@ -160,7 +160,7 @@ in systemd.services.influxdb = { description = "InfluxDB Server"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; serviceConfig = { ExecStart = ''${cfg.package}/bin/influxd -config "${configFile}"''; User = "${cfg.user}"; From 54b3e4fdf6df1f3f85539c39bd82597984cf832c Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 10 Sep 2016 20:11:11 +0200 Subject: [PATCH 03/45] neo4j service: network-interfaces.target -> network.target --- nixos/modules/services/databases/neo4j.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/databases/neo4j.nix b/nixos/modules/services/databases/neo4j.nix index 41b96068590639d..146a604adb2f492 100644 --- a/nixos/modules/services/databases/neo4j.nix +++ b/nixos/modules/services/databases/neo4j.nix @@ -123,7 +123,7 @@ in { systemd.services.neo4j = { description = "Neo4j Daemon"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; environment = { NEO4J_INSTANCE = cfg.dataDir; }; serviceConfig = { ExecStart = "${cfg.package}/bin/neo4j console"; From 5a085caea3ac7a24185a827636209a41c5057121 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 10 Sep 2016 20:11:34 +0200 Subject: [PATCH 04/45] apache-kafka service: network-interfaces.target -> network.target --- nixos/modules/services/misc/apache-kafka.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/misc/apache-kafka.nix b/nixos/modules/services/misc/apache-kafka.nix index 88ce8b5a23fc74a..c856d3294c013f9 100644 --- a/nixos/modules/services/misc/apache-kafka.nix +++ b/nixos/modules/services/misc/apache-kafka.nix @@ -139,7 +139,7 @@ in { systemd.services.apache-kafka = { description = "Apache Kafka Daemon"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; serviceConfig = { ExecStart = '' ${pkgs.jre}/bin/java \ From ebc8e082e96edb53dd0f485db205b1b0d4a84d69 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 10 Sep 2016 20:11:58 +0200 Subject: [PATCH 05/45] folding-at-home service: network-interfaces.target -> network.target --- nixos/modules/services/misc/folding-at-home.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/misc/folding-at-home.nix b/nixos/modules/services/misc/folding-at-home.nix index 4f09cbfdd79b474..053e7e95635fdc3 100644 --- a/nixos/modules/services/misc/folding-at-home.nix +++ b/nixos/modules/services/misc/folding-at-home.nix @@ -50,7 +50,7 @@ in { }; systemd.services.foldingathome = { - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; preStart = '' mkdir -m 0755 -p ${stateDir} From 2d48f1c487234a8bdd74af338845443336b27e16 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 10 Sep 2016 20:12:12 +0200 Subject: [PATCH 06/45] mesos-master service: network-interfaces.target -> network.target --- nixos/modules/services/misc/mesos-master.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/misc/mesos-master.nix b/nixos/modules/services/misc/mesos-master.nix index 497646b2b4187f2..99583ebeebd5102 100644 --- a/nixos/modules/services/misc/mesos-master.nix +++ b/nixos/modules/services/misc/mesos-master.nix @@ -80,7 +80,7 @@ in { systemd.services.mesos-master = { description = "Mesos Master"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; serviceConfig = { ExecStart = '' ${pkgs.mesos}/bin/mesos-master \ From 9b1177f69da66dc33dc725475fe68ca10f7ce25f Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 10 Sep 2016 20:12:23 +0200 Subject: [PATCH 07/45] mesos-slave service: network-interfaces.target -> network.target --- nixos/modules/services/misc/mesos-slave.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/misc/mesos-slave.nix b/nixos/modules/services/misc/mesos-slave.nix index 8c29734813a13c9..9ddecb6fe30c766 100644 --- a/nixos/modules/services/misc/mesos-slave.nix +++ b/nixos/modules/services/misc/mesos-slave.nix @@ -105,7 +105,7 @@ in { systemd.services.mesos-slave = { description = "Mesos Slave"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; environment.MESOS_CONTAINERIZERS = concatStringsSep "," containerizers; serviceConfig = { ExecStart = '' From 4c7f53e9b42a94bfa425bbb01a6a0ed19f250222 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 10 Sep 2016 20:12:39 +0200 Subject: [PATCH 08/45] svnserve service: network-interfaces.target -> network.target --- nixos/modules/services/misc/svnserve.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/misc/svnserve.nix b/nixos/modules/services/misc/svnserve.nix index c74befac749dbb0..04a6cd7bfa9bacd 100644 --- a/nixos/modules/services/misc/svnserve.nix +++ b/nixos/modules/services/misc/svnserve.nix @@ -35,7 +35,7 @@ in config = mkIf cfg.enable { systemd.services.svnserve = { - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; preStart = "mkdir -p ${cfg.svnBaseDir}"; script = "${pkgs.subversion.out}/bin/svnserve -r ${cfg.svnBaseDir} -d --foreground --pid-file=/var/run/svnserve.pid"; From c2d007e0f7481ad081a8000e75d85d00e285f129 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 10 Sep 2016 20:12:53 +0200 Subject: [PATCH 09/45] zookeeper service: network-interfaces.target -> network.target --- nixos/modules/services/misc/zookeeper.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/misc/zookeeper.nix b/nixos/modules/services/misc/zookeeper.nix index 4ce692b6f6a52fd..b7bca8b56b28333 100644 --- a/nixos/modules/services/misc/zookeeper.nix +++ b/nixos/modules/services/misc/zookeeper.nix @@ -113,7 +113,7 @@ in { systemd.services.zookeeper = { description = "Zookeeper Daemon"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; environment = { ZOOCFGDIR = configDir; }; serviceConfig = { ExecStart = '' From b38c0c94ab920138888b9f8fbec85bded66e0989 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 10 Sep 2016 20:13:16 +0200 Subject: [PATCH 10/45] graphite service: network-interfaces.target -> network.target --- nixos/modules/services/monitoring/graphite.nix | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/nixos/modules/services/monitoring/graphite.nix b/nixos/modules/services/monitoring/graphite.nix index 08fc3f04dbfc035..1de3320dc42c0b3 100644 --- a/nixos/modules/services/monitoring/graphite.nix +++ b/nixos/modules/services/monitoring/graphite.nix @@ -387,7 +387,7 @@ in { systemd.services.carbonCache = let name = "carbon-cache"; in { description = "Graphite Data Storage Backend"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; environment = carbonEnv; serviceConfig = { ExecStart = "${pkgs.pythonPackages.twisted}/bin/twistd ${carbonOpts name}"; @@ -410,7 +410,7 @@ in { enable = cfg.carbon.enableAggregator; description = "Carbon Data Aggregator"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; environment = carbonEnv; serviceConfig = { ExecStart = "${pkgs.pythonPackages.twisted}/bin/twistd ${carbonOpts name}"; @@ -426,7 +426,7 @@ in { systemd.services.carbonRelay = let name = "carbon-relay"; in { description = "Carbon Data Relay"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; environment = carbonEnv; serviceConfig = { ExecStart = "${pkgs.pythonPackages.twisted}/bin/twistd ${carbonOpts name}"; @@ -448,7 +448,7 @@ in { systemd.services.graphiteWeb = { description = "Graphite Web Interface"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; path = [ pkgs.perl ]; environment = { PYTHONPATH = let @@ -501,7 +501,7 @@ in { systemd.services.graphiteApi = { description = "Graphite Api Interface"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; environment = { PYTHONPATH = let aenv = pkgs.python.buildEnv.override { @@ -538,7 +538,7 @@ in { systemd.services.seyren = { description = "Graphite Alerting Dashboard"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" "mongodb.service" ]; + after = [ "network.target" "mongodb.service" ]; environment = seyrenConfig; serviceConfig = { ExecStart = "${pkgs.seyren}/bin/seyren -httpPort ${toString cfg.seyren.port}"; @@ -561,7 +561,7 @@ in { systemd.services.graphitePager = { description = "Graphite Pager Alerting Daemon"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" "redis.service" ]; + after = [ "network.target" "redis.service" ]; environment = { REDIS_URL = cfg.pager.redisUrl; GRAPHITE_URL = cfg.pager.graphiteUrl; From 1a602105619a71eec50bcca48132cacd224e0bc8 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 10 Sep 2016 20:13:40 +0200 Subject: [PATCH 11/45] nagios service: network-interfaces.target -> network.target --- nixos/modules/services/monitoring/nagios.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/monitoring/nagios.nix b/nixos/modules/services/monitoring/nagios.nix index f2f7710de9e7e8f..4914c5db97d246a 100644 --- a/nixos/modules/services/monitoring/nagios.nix +++ b/nixos/modules/services/monitoring/nagios.nix @@ -163,7 +163,7 @@ in description = "Nagios monitoring daemon"; path = [ pkgs.nagios ]; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; serviceConfig = { User = "nagios"; From 22976bc95196b55640ed3c242e6567eb84571667 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 10 Sep 2016 20:13:56 +0200 Subject: [PATCH 12/45] openafs-client service: network-interfaces.target -> network.target --- .../services/network-filesystems/openafs-client/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/network-filesystems/openafs-client/default.nix b/nixos/modules/services/network-filesystems/openafs-client/default.nix index 891f41c8dcdc35d..6f51e287910aeb1 100644 --- a/nixos/modules/services/network-filesystems/openafs-client/default.nix +++ b/nixos/modules/services/network-filesystems/openafs-client/default.nix @@ -75,7 +75,7 @@ in systemd.services.afsd = { description = "AFS client"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; preStart = '' mkdir -p -m 0755 /afs From 69e15b7ba5e7594b7418216b0f8c0aa48acd90e0 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 10 Sep 2016 20:14:09 +0200 Subject: [PATCH 13/45] bind service: network-interfaces.target -> network.target --- nixos/modules/services/networking/bind.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/networking/bind.nix b/nixos/modules/services/networking/bind.nix index 08afafceff24d3c..1b56d132cc18f57 100644 --- a/nixos/modules/services/networking/bind.nix +++ b/nixos/modules/services/networking/bind.nix @@ -146,7 +146,7 @@ in systemd.services.bind = { description = "BIND name server job"; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; preStart = '' From ae716674514dde31b452f0462e62e059780d5e05 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 10 Sep 2016 20:14:41 +0200 Subject: [PATCH 14/45] cjdns service: network-interfaces.target -> network.target --- nixos/modules/services/networking/cjdns.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/networking/cjdns.nix b/nixos/modules/services/networking/cjdns.nix index 0495b32c6fa8e6e..e878a4896fdd076 100644 --- a/nixos/modules/services/networking/cjdns.nix +++ b/nixos/modules/services/networking/cjdns.nix @@ -209,8 +209,8 @@ in systemd.services.cjdns = { description = "encrypted networking for everybody"; - wantedBy = [ "network.target" ]; - after = [ "networkSetup.service" "network-interfaces.target" ]; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; preStart = if cfg.confFile != "" then "" else '' [ -e /etc/cjdns.keys ] && source /etc/cjdns.keys From 652e0b4b8a2d4c5b7511f103d8049846602c2206 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 10 Sep 2016 20:17:04 +0200 Subject: [PATCH 15/45] oidentd service: network-interfaces.target -> network.target --- nixos/modules/services/networking/oidentd.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/networking/oidentd.nix b/nixos/modules/services/networking/oidentd.nix index 651bb8e967cf2cf..ba7acd879546dff 100644 --- a/nixos/modules/services/networking/oidentd.nix +++ b/nixos/modules/services/networking/oidentd.nix @@ -25,7 +25,7 @@ with lib; config = mkIf config.services.oidentd.enable { systemd.services.oidentd = { - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; serviceConfig.Type = "forking"; script = "${pkgs.oidentd}/sbin/oidentd -u oidentd -g nogroup" + From 67d9369e5d65a67f35abde5adaccba706f0052c8 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 10 Sep 2016 20:17:43 +0200 Subject: [PATCH 16/45] radicale service: network-interfaces.target -> network{,-online}.target --- nixos/modules/services/networking/radicale.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/networking/radicale.nix b/nixos/modules/services/networking/radicale.nix index d5e2e3041b49849..4f7ed30b2a8520b 100644 --- a/nixos/modules/services/networking/radicale.nix +++ b/nixos/modules/services/networking/radicale.nix @@ -50,7 +50,7 @@ in systemd.services.radicale = { description = "A Simple Calendar and Contact Server"; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; script = "${pkgs.pythonPackages.radicale}/bin/radicale -C ${confFile} -f"; serviceConfig.User = "radicale"; From 795defaae0664fe8315f0baed19c8c7a9cabe8d0 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 10 Sep 2016 20:18:39 +0200 Subject: [PATCH 17/45] tcpcrypt service: remove use of network-interfaces.target --- nixos/modules/services/networking/tcpcrypt.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/networking/tcpcrypt.nix b/nixos/modules/services/networking/tcpcrypt.nix index 267653abce03ac4..2f304165eb4bdc7 100644 --- a/nixos/modules/services/networking/tcpcrypt.nix +++ b/nixos/modules/services/networking/tcpcrypt.nix @@ -39,7 +39,7 @@ in description = "tcpcrypt"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; path = [ pkgs.iptables pkgs.tcpcrypt pkgs.procps ]; From 768b333dc1d5d90a38ebe7c4fb576b1345379c40 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 10 Sep 2016 20:18:51 +0200 Subject: [PATCH 18/45] tinc service: remove use of network-interfaces.target --- nixos/modules/services/networking/tinc.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/networking/tinc.nix b/nixos/modules/services/networking/tinc.nix index 8da0f817ae2a5cb..d4fa6ad4540be74 100644 --- a/nixos/modules/services/networking/tinc.nix +++ b/nixos/modules/services/networking/tinc.nix @@ -149,8 +149,8 @@ in ("tinc.${network}") ({ description = "Tinc Daemon - ${network}"; - wantedBy = [ "network.target" ]; - after = [ "network-interfaces.target" ]; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; path = [ data.package ]; restartTriggers = [ config.environment.etc."tinc/${network}/tinc.conf".source ] ++ mapAttrsToList (host: _ : config.environment.etc."tinc/${network}/hosts/${host}".source) data.hosts; From cda9af6eb8728e52908063a42f6ef889a9edcc19 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 10 Sep 2016 20:19:14 +0200 Subject: [PATCH 19/45] wpa-supplicant service: remove use of network-interfaces.target --- nixos/modules/services/networking/wpa_supplicant.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/networking/wpa_supplicant.nix b/nixos/modules/services/networking/wpa_supplicant.nix index de99ce4f026045f..a344d7855463a5b 100644 --- a/nixos/modules/services/networking/wpa_supplicant.nix +++ b/nixos/modules/services/networking/wpa_supplicant.nix @@ -128,9 +128,9 @@ in { in { description = "WPA Supplicant"; - after = [ "network-interfaces.target" ] ++ lib.concatMap deviceUnit ifaces; + after = [ "network.target" ] ++ lib.concatMap deviceUnit ifaces; requires = lib.concatMap deviceUnit ifaces; - wantedBy = [ "network.target" ]; + wantedBy = [ "network-online.target" ]; path = [ pkgs.wpa_supplicant ]; From c7ed675fe337a1ea83b75ad22e78357f7c2765f1 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 10 Sep 2016 20:19:24 +0200 Subject: [PATCH 20/45] xinetd service: remove use of network-interfaces.target --- nixos/modules/services/networking/xinetd.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/networking/xinetd.nix b/nixos/modules/services/networking/xinetd.nix index 08680b517808a31..d27f04a180f34ed 100644 --- a/nixos/modules/services/networking/xinetd.nix +++ b/nixos/modules/services/networking/xinetd.nix @@ -141,7 +141,7 @@ in config = mkIf cfg.enable { systemd.services.xinetd = { description = "xinetd server"; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; path = [ pkgs.xinetd ]; script = "xinetd -syslog daemon -dontfork -stayalive -f ${configFile}"; From 5a2a3510b936db3cb758ed0e62a90fb82949c654 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 10 Sep 2016 20:19:35 +0200 Subject: [PATCH 21/45] zerobin service: remove use of network-interfaces.target --- nixos/modules/services/networking/zerobin.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/networking/zerobin.nix b/nixos/modules/services/networking/zerobin.nix index 1c524602f8e96bf..3e7e01c97fbbf80 100644 --- a/nixos/modules/services/networking/zerobin.nix +++ b/nixos/modules/services/networking/zerobin.nix @@ -86,7 +86,7 @@ in systemd.services.zerobin = { enable = true; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; serviceConfig.ExecStart = "${pkgs.pythonPackages.zerobin}/bin/zerobin ${cfg.listenAddress} ${toString cfg.listenPort} false ${cfg.user} ${cfg.group} ${zerobin_config}"; serviceConfig.PrivateTmp="yes"; From 3826c19392aed46eac7a84e28d26311a4f8f5dc6 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 10 Sep 2016 20:19:48 +0200 Subject: [PATCH 22/45] chronos service: remove use of network-interfaces.target --- nixos/modules/services/scheduling/chronos.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/scheduling/chronos.nix b/nixos/modules/services/scheduling/chronos.nix index db1f0f5f00c99da..6c39997fec88e49 100644 --- a/nixos/modules/services/scheduling/chronos.nix +++ b/nixos/modules/services/scheduling/chronos.nix @@ -41,7 +41,7 @@ in { systemd.services.chronos = { description = "Chronos Service"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" "zookeeper.service" ]; + after = [ "network.target" "zookeeper.service" ]; serviceConfig = { ExecStart = "${pkgs.chronos}/bin/chronos --master ${cfg.master} --zk_hosts ${concatStringsSep "," cfg.zookeeperHosts} --http_port ${toString cfg.httpPort}"; From b6e5c620a3cecf3bcd43b30bd7fcf14d34af369f Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 10 Sep 2016 20:20:00 +0200 Subject: [PATCH 23/45] marathon service: remove use of network-interfaces.target --- nixos/modules/services/scheduling/marathon.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/scheduling/marathon.nix b/nixos/modules/services/scheduling/marathon.nix index 4e837c62dc11725..19c9a708f21fb96 100644 --- a/nixos/modules/services/scheduling/marathon.nix +++ b/nixos/modules/services/scheduling/marathon.nix @@ -83,7 +83,7 @@ in { description = "Marathon Service"; environment = cfg.environment; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" "zookeeper.service" "mesos-master.service" "mesos-slave.service" ]; + after = [ "network.target" "zookeeper.service" "mesos-master.service" "mesos-slave.service" ]; serviceConfig = { ExecStart = "${pkgs.marathon}/bin/marathon --master ${cfg.master} --zk zk://${concatStringsSep "," cfg.zookeeperHosts}/marathon --http_port ${toString cfg.httpPort} ${concatStringsSep " " cfg.extraCmdLineOptions}"; From 94ed3de09e22405dd2187584899b43cd121adc40 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 10 Sep 2016 20:20:12 +0200 Subject: [PATCH 24/45] elasticsearch service: remove use of network-interfaces.target --- nixos/modules/services/search/elasticsearch.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/search/elasticsearch.nix b/nixos/modules/services/search/elasticsearch.nix index 9299aaac2f70e3d..574f74d547a5f50 100644 --- a/nixos/modules/services/search/elasticsearch.nix +++ b/nixos/modules/services/search/elasticsearch.nix @@ -129,7 +129,7 @@ in { systemd.services.elasticsearch = { description = "Elasticsearch Daemon"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; path = [ pkgs.inetutils ]; environment = { ES_HOME = cfg.dataDir; From b5756c8660494a6ac0fc5ca326b9c3d5387de979 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 10 Sep 2016 20:20:28 +0200 Subject: [PATCH 25/45] kibana service: remove use of network-interfaces.target --- nixos/modules/services/search/kibana.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/search/kibana.nix b/nixos/modules/services/search/kibana.nix index 033b8139d3414fa..d377a6feeb8edb6 100644 --- a/nixos/modules/services/search/kibana.nix +++ b/nixos/modules/services/search/kibana.nix @@ -138,7 +138,7 @@ in { systemd.services.kibana = { description = "Kibana Service"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" "elasticsearch.service" ]; + after = [ "network.target" "elasticsearch.service" ]; environment = { BABEL_CACHE_PATH = "${cfg.dataDir}/.babelcache.json"; }; serviceConfig = { ExecStart = "${cfg.package}/bin/kibana --config ${cfgFile}"; From 820b769fc85b5f4378da477b602f2dcae6d13977 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 10 Sep 2016 20:20:48 +0200 Subject: [PATCH 26/45] oauth2_proxy: remove use of network-interfaces.target --- nixos/modules/services/security/oauth2_proxy.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/security/oauth2_proxy.nix b/nixos/modules/services/security/oauth2_proxy.nix index 4c20392214fc9b5..caa7d9d508125a3 100644 --- a/nixos/modules/services/security/oauth2_proxy.nix +++ b/nixos/modules/services/security/oauth2_proxy.nix @@ -510,7 +510,7 @@ in description = "OAuth2 Proxy"; path = [ cfg.package ]; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; serviceConfig = { User = "oauth2_proxy"; From c71bb91f6666098782f51a5176484b7921e30b49 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 10 Sep 2016 20:21:04 +0200 Subject: [PATCH 27/45] peerflix: remove use of network-interfaces.target --- nixos/modules/services/torrent/peerflix.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/torrent/peerflix.nix b/nixos/modules/services/torrent/peerflix.nix index 38fbd3b226cdca5..2e3dd9902d7296f 100644 --- a/nixos/modules/services/torrent/peerflix.nix +++ b/nixos/modules/services/torrent/peerflix.nix @@ -42,7 +42,7 @@ in { systemd.services.peerflix = { description = "Peerflix Daemon"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; environment.HOME = cfg.stateDir; preStart = '' From 3dc69799b6647e4e0496fbfe60e2978ea0617cb0 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sat, 10 Sep 2016 20:21:14 +0200 Subject: [PATCH 28/45] tomcat: remove use of network-interfaces.target --- nixos/modules/services/web-servers/tomcat.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/web-servers/tomcat.nix b/nixos/modules/services/web-servers/tomcat.nix index fa6b4c0629d7ad9..943415e08c64548 100644 --- a/nixos/modules/services/web-servers/tomcat.nix +++ b/nixos/modules/services/web-servers/tomcat.nix @@ -139,7 +139,7 @@ in systemd.services.tomcat = { description = "Apache Tomcat server"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; serviceConfig.Type = "oneshot"; serviceConfig.RemainAfterExit = true; From bc7710468d2152cd1c3a02827b1fe90c8c23d04d Mon Sep 17 00:00:00 2001 From: Alexander Ried Date: Thu, 8 Sep 2016 22:17:58 +0200 Subject: [PATCH 29/45] networking.dhcpcd: use upstream targets --- nixos/modules/services/networking/dhcpcd.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/networking/dhcpcd.nix b/nixos/modules/services/networking/dhcpcd.nix index 4b0e90886510500..87c0aa50a1ffe4b 100644 --- a/nixos/modules/services/networking/dhcpcd.nix +++ b/nixos/modules/services/networking/dhcpcd.nix @@ -158,8 +158,8 @@ in { description = "DHCP Client"; wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; wants = [ "network.target" ]; - before = [ "network.target" ]; # Stopping dhcpcd during a reconfiguration is undesirable # because it brings down the network interfaces configured by From 3ada966bd579b63b2259b97018520e94cf9a4489 Mon Sep 17 00:00:00 2001 From: Alexander Ried Date: Thu, 8 Sep 2016 22:19:43 +0200 Subject: [PATCH 30/45] treewide: minor format / style / documentation fixes --- nixos/modules/services/networking/bind.nix | 3 ++- nixos/modules/services/networking/cjdns.nix | 2 +- nixos/modules/services/networking/zerobin.nix | 4 ++-- nixos/modules/services/web-servers/apache-httpd/wordpress.nix | 1 - 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/nixos/modules/services/networking/bind.nix b/nixos/modules/services/networking/bind.nix index 1b56d132cc18f57..41d7128ec31ef07 100644 --- a/nixos/modules/services/networking/bind.nix +++ b/nixos/modules/services/networking/bind.nix @@ -145,7 +145,7 @@ in }; systemd.services.bind = { - description = "BIND name server job"; + description = "BIND Domain Name Server"; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; @@ -155,6 +155,7 @@ in ''; script = "${pkgs.bind.bin}/sbin/named -u ${bindUser} ${optionalString cfg.ipv4Only "-4"} -c ${cfg.configFile} -f"; + unitConfig.Documentation = "man:named(8)"; }; }; } diff --git a/nixos/modules/services/networking/cjdns.nix b/nixos/modules/services/networking/cjdns.nix index e878a4896fdd076..cb00139c5f1cfa2 100644 --- a/nixos/modules/services/networking/cjdns.nix +++ b/nixos/modules/services/networking/cjdns.nix @@ -208,7 +208,7 @@ in # networking.firewall.allowedUDPPorts = ... systemd.services.cjdns = { - description = "encrypted networking for everybody"; + description = "cjdns: routing engine designed for security, scalability, speed and ease of use"; wantedBy = [ "multi-user.target" ]; after = [ "network.target" ]; diff --git a/nixos/modules/services/networking/zerobin.nix b/nixos/modules/services/networking/zerobin.nix index 3e7e01c97fbbf80..274bbca53fa33bf 100644 --- a/nixos/modules/services/networking/zerobin.nix +++ b/nixos/modules/services/networking/zerobin.nix @@ -93,8 +93,8 @@ in serviceConfig.User = cfg.user; serviceConfig.Group = cfg.group; preStart = '' - mkdir -p ${cfg.dataDir} - chown ${cfg.user} ${cfg.dataDir} + mkdir -p ${cfg.dataDir} + chown ${cfg.user} ${cfg.dataDir} ''; }; }; diff --git a/nixos/modules/services/web-servers/apache-httpd/wordpress.nix b/nixos/modules/services/web-servers/apache-httpd/wordpress.nix index 937b2698ce9b967..495c1abb05213ba 100644 --- a/nixos/modules/services/web-servers/apache-httpd/wordpress.nix +++ b/nixos/modules/services/web-servers/apache-httpd/wordpress.nix @@ -244,7 +244,6 @@ in chown ${serverInfo.serverConfig.user} ${config.wordpressUploads} # we should use systemd dependencies here - #waitForUnit("network-interfaces.target"); if [ ! -d ${serverInfo.fullConfig.services.mysql.dataDir}/${config.dbName} ]; then echo "Need to create the database '${config.dbName}' and grant permissions to user named '${config.dbUser}'." # Wait until MySQL is up From 9819cdc71a796fa89825baf463f96cf51672de18 Mon Sep 17 00:00:00 2001 From: Alexander Ried Date: Mon, 12 Sep 2016 16:29:15 +0200 Subject: [PATCH 31/45] wicd: get closer to upstream service definition taken from http://bazaar.launchpad.net/~wicd-devel/wicd/experimental/view/head:/other/wicd.service --- nixos/modules/services/networking/wicd.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/nixos/modules/services/networking/wicd.nix b/nixos/modules/services/networking/wicd.nix index 9e5a437b48569a2..03c6bd28aaba990 100644 --- a/nixos/modules/services/networking/wicd.nix +++ b/nixos/modules/services/networking/wicd.nix @@ -26,7 +26,9 @@ with lib; environment.systemPackages = [pkgs.wicd]; systemd.services.wicd = { - after = [ "network-interfaces.target" ]; + after = [ "network-pre.target" ]; + before = [ "network.target" ]; + wants = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; script = "${pkgs.wicd}/sbin/wicd -f"; }; From fbf0abf4af3c5c5cc2366488f8867bf858cff741 Mon Sep 17 00:00:00 2001 From: Alexander Ried Date: Mon, 12 Sep 2016 16:30:15 +0200 Subject: [PATCH 32/45] softether: improve service dependencies --- nixos/modules/services/networking/softether.nix | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/nixos/modules/services/networking/softether.nix b/nixos/modules/services/networking/softether.nix index 5e49efc3aa3afaf..16530078b978a78 100644 --- a/nixos/modules/services/networking/softether.nix +++ b/nixos/modules/services/networking/softether.nix @@ -63,7 +63,6 @@ in ]; systemd.services."softether-init" = { description = "SoftEther VPN services initial task"; - wantedBy = [ "network-interfaces.target" ]; serviceConfig = { Type = "oneshot"; RemainAfterExit = false; @@ -84,8 +83,9 @@ in (mkIf (cfg.vpnserver.enable) { systemd.services.vpnserver = { description = "SoftEther VPN Server"; - after = [ "softether-init.service" ]; - wantedBy = [ "network-interfaces.target" ]; + after = [ "softether-init.service" "network.target" ]; + wants = [ "softether-init.service" ]; + wantedBy = [ "multi-user.target" ]; serviceConfig = { Type = "forking"; ExecStart = "${pkg}/bin/vpnserver start"; @@ -104,8 +104,9 @@ in (mkIf (cfg.vpnbridge.enable) { systemd.services.vpnbridge = { description = "SoftEther VPN Bridge"; - after = [ "softether-init.service" ]; - wantedBy = [ "network-interfaces.target" ]; + after = [ "softether-init.service" "network.target" ]; + wants = [ "softether-init.service" ]; + wantedBy = [ "multi-user.target" ]; serviceConfig = { Type = "forking"; ExecStart = "${pkg}/bin/vpnbridge start"; @@ -124,8 +125,9 @@ in (mkIf (cfg.vpnclient.enable) { systemd.services.vpnclient = { description = "SoftEther VPN Client"; - after = [ "softether-init.service" ]; - wantedBy = [ "network-interfaces.target" ]; + after = [ "softether-init.service" "network.target" ]; + wants = [ "softether-init.service" ]; + wantedBy = [ "multi-user.target" ]; serviceConfig = { Type = "forking"; ExecStart = "${pkg}/bin/vpnclient start"; From 23ca90b0132a8f2be2575a832a0d4e0aa5a2137f Mon Sep 17 00:00:00 2001 From: Alexander Ried Date: Mon, 12 Sep 2016 16:31:18 +0200 Subject: [PATCH 33/45] monitoring.monit: get closer to upstream service definition taken from https://bitbucket.org/tildeslash/monit/src/e02247e0480b19be88e6a908886da83bbb1bc6a3/system/startup/monit.service.in?at=master --- nixos/modules/services/monitoring/monit.nix | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/nixos/modules/services/monitoring/monit.nix b/nixos/modules/services/monitoring/monit.nix index 704693969a358a8..e07ffd2e8b548c8 100644 --- a/nixos/modules/services/monitoring/monit.nix +++ b/nixos/modules/services/monitoring/monit.nix @@ -36,11 +36,16 @@ in ]; systemd.services.monit = { - description = "Monit system watcher"; - after = [ "network-interfaces.target" ]; + description = "Pro-active monitoring utility for unix systems"; + after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; - script = "${pkgs.monit}/bin/monit -I -c /etc/monit.conf"; - serviceConfig.Restart = "always"; + serviceConfig = { + ExecStart = "${pkgs.monit}/bin/monit -I -c /etc/monit.conf"; + ExecStop = "${pkgs.monit}/bin/monit -c /etc/monit.conf quit"; + ExecReload = "${pkgs.monit}/bin/monit -c /etc/monit.conf reload"; + KillMode = "process"; + Restart = "always"; + }; }; }; } From 5481831263b6dde4a33d8fa6f20dff38646a1949 Mon Sep 17 00:00:00 2001 From: Alexander Ried Date: Mon, 12 Sep 2016 16:34:10 +0200 Subject: [PATCH 34/45] misc.etcd: get closer to upstream service definition taken from https://github.com/coreos/etcd/blob/master/contrib/systemd/etcd.service I intentionally kept "After = network.target" because I think it's missing upstream (https://github.com/coreos/etcd/pull/6388) --- nixos/modules/services/misc/etcd.nix | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/misc/etcd.nix b/nixos/modules/services/misc/etcd.nix index d30cc5fd7e89025..1de02d76ba0a9e0 100644 --- a/nixos/modules/services/misc/etcd.nix +++ b/nixos/modules/services/misc/etcd.nix @@ -143,9 +143,9 @@ in { config = mkIf cfg.enable { systemd.services.etcd = { - description = "Etcd Daemon"; + description = "etcd key-value store"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; environment = (filterAttrs (n: v: v != null) { ETCD_NAME = cfg.name; @@ -168,12 +168,18 @@ in { ETCD_INITIAL_CLUSTER_TOKEN = cfg.initialClusterToken; }) // (mapAttrs' (n: v: nameValuePair "ETCD_${n}" v) cfg.extraConf); + unitConfig = { + Documentation = "https://github.com/coreos/etcd"; + }; + serviceConfig = { Type = "notify"; ExecStart = "${pkgs.etcd.bin}/bin/etcd"; User = "etcd"; PermissionsStartOnly = true; + LimitNOFILE = 40000; }; + preStart = '' mkdir -m 0700 -p ${cfg.dataDir} if [ "$(id -u)" = 0 ]; then chown etcd ${cfg.dataDir}; fi From 42312930100e700eece6f54a74cd2ce2126fa03e Mon Sep 17 00:00:00 2001 From: Alexander Ried Date: Mon, 12 Sep 2016 16:34:38 +0200 Subject: [PATCH 35/45] cluster.kubernetes: fix service ordering Requires does NOT imply After, so I added the missing ordering. --- nixos/modules/services/cluster/kubernetes.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/nixos/modules/services/cluster/kubernetes.nix b/nixos/modules/services/cluster/kubernetes.nix index 42efde36678f2f9..4bdd7f95f7745f4 100644 --- a/nixos/modules/services/cluster/kubernetes.nix +++ b/nixos/modules/services/cluster/kubernetes.nix @@ -421,7 +421,7 @@ in { description = "Kubernetes Api Server"; wantedBy = [ "multi-user.target" ]; requires = ["kubernetes-setup.service"]; - after = [ "network-interfaces.target" "etcd.service" ]; + after = [ "network.target" "etcd.service" "kubernetes-setup.service" ]; serviceConfig = { ExecStart = let authorizationPolicyFile = @@ -468,7 +468,7 @@ in { systemd.services.kube-scheduler = { description = "Kubernetes Scheduler Service"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" "kubernetes-apiserver.service" ]; + after = [ "network.target" "kubernetes-apiserver.service" ]; serviceConfig = { ExecStart = ''${cfg.package}/bin/kube-scheduler \ --address=${cfg.scheduler.address} \ @@ -487,7 +487,7 @@ in { systemd.services.kube-controller-manager = { description = "Kubernetes Controller Manager Service"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" "kubernetes-apiserver.service" ]; + after = [ "network.target" "kubernetes-apiserver.service" ]; serviceConfig = { ExecStart = ''${cfg.package}/bin/kube-controller-manager \ --address=${cfg.controllerManager.address} \ @@ -511,7 +511,7 @@ in { description = "Kubernetes Kubelet Service"; wantedBy = [ "multi-user.target" ]; requires = ["kubernetes-setup.service"]; - after = [ "network-interfaces.target" "etcd.service" "docker.service" ]; + after = [ "network.target" "etcd.service" "docker.service" "kubernetes-setup.service" ]; path = [ pkgs.gitMinimal pkgs.openssh ]; script = '' export PATH="/bin:/sbin:/usr/bin:/usr/sbin:$PATH" @@ -542,7 +542,7 @@ in { systemd.services.kube-proxy = { description = "Kubernetes Proxy Service"; wantedBy = [ "multi-user.target" ]; - after = [ "network-interfaces.target" "etcd.service" ]; + after = [ "network.target" "etcd.service" ]; serviceConfig = { ExecStart = ''${cfg.package}/bin/kube-proxy \ --master=${cfg.proxy.master} \ From 97416eaeef46f235040c4dfa275da5667fdf2618 Mon Sep 17 00:00:00 2001 From: Alexander Ried Date: Mon, 12 Sep 2016 16:38:18 +0200 Subject: [PATCH 36/45] gpve service: network-interfaces.target -> network.target --- nixos/modules/services/networking/gvpe.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/networking/gvpe.nix b/nixos/modules/services/networking/gvpe.nix index 27b64b5bb95f297..3ef3548e0a08f1b 100644 --- a/nixos/modules/services/networking/gvpe.nix +++ b/nixos/modules/services/networking/gvpe.nix @@ -105,7 +105,7 @@ in config = mkIf cfg.enable { systemd.services.gvpe = { description = "GNU Virtual Private Ethernet node"; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; preStart = '' From d43b2b9c85a42025ef8f4d77b120d40cfac9645e Mon Sep 17 00:00:00 2001 From: Alexander Ried Date: Mon, 12 Sep 2016 16:38:49 +0200 Subject: [PATCH 37/45] openvpn service: network-interfaces.target -> network.target --- nixos/modules/services/networking/openvpn.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/networking/openvpn.nix b/nixos/modules/services/networking/openvpn.nix index 82173a841a3f5fa..af3efa0464a6661 100644 --- a/nixos/modules/services/networking/openvpn.nix +++ b/nixos/modules/services/networking/openvpn.nix @@ -56,7 +56,7 @@ let description = "OpenVPN instance ‘${name}’"; wantedBy = optional cfg.autoStart "multi-user.target"; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; path = [ pkgs.iptables pkgs.iproute pkgs.nettools ]; From 60430b140c0a09736c5dbc3b1d73d57a9994ef0f Mon Sep 17 00:00:00 2001 From: Alexander Ried Date: Mon, 12 Sep 2016 16:39:11 +0200 Subject: [PATCH 38/45] lshd service: remove use of network-interfaces.target --- nixos/modules/services/networking/ssh/lshd.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/networking/ssh/lshd.nix b/nixos/modules/services/networking/ssh/lshd.nix index 661a6a52463143a..eca599afb33b253 100644 --- a/nixos/modules/services/networking/ssh/lshd.nix +++ b/nixos/modules/services/networking/ssh/lshd.nix @@ -120,7 +120,7 @@ in systemd.services.lshd = { description = "GNU lshd SSH2 daemon"; - after = [ "network-interfaces.target" ]; + after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; From 8524df12590f09966e783edfe4cc8aed1cbe33c3 Mon Sep 17 00:00:00 2001 From: Alexander Ried Date: Fri, 9 Sep 2016 01:22:44 +0200 Subject: [PATCH 39/45] networking.nat: replace network-interfaces.target We can replace this safely with network-pre because iptables does not care whether the interfaces exist or not. --- nixos/modules/services/networking/nat.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/networking/nat.nix b/nixos/modules/services/networking/nat.nix index 9d163e60d5eaffd..23f1b2476ebef50 100644 --- a/nixos/modules/services/networking/nat.nix +++ b/nixos/modules/services/networking/nat.nix @@ -171,7 +171,7 @@ in systemd.services = mkIf (!config.networking.firewall.enable) { nat = { description = "Network Address Translation"; wantedBy = [ "network.target" ]; - after = [ "network-interfaces.target" "systemd-modules-load.service" ]; + after = [ "network-pre.target" "systemd-modules-load.service" ]; path = [ pkgs.iptables ]; unitConfig.ConditionCapability = "CAP_NET_ADMIN"; From 2d46004b74f8a0310434be0a8d2f1c6dcf85e3e0 Mon Sep 17 00:00:00 2001 From: Alexander Ried Date: Fri, 9 Sep 2016 04:33:33 +0200 Subject: [PATCH 40/45] multi-user.target should not pull network.target --- nixos/modules/system/boot/systemd-lib.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/system/boot/systemd-lib.nix b/nixos/modules/system/boot/systemd-lib.nix index 2e93693cbfc80cf..997770b8becaa85 100644 --- a/nixos/modules/system/boot/systemd-lib.nix +++ b/nixos/modules/system/boot/systemd-lib.nix @@ -182,7 +182,7 @@ rec { mkdir -p $out/getty.target.wants/ ln -s ../autovt@tty1.service $out/getty.target.wants/ - ln -s ../local-fs.target ../remote-fs.target ../network.target \ + ln -s ../local-fs.target ../remote-fs.target \ ../nss-lookup.target ../nss-user-lookup.target ../swap.target \ $out/multi-user.target.wants/ ''} From e90471d792ab094748b38120cf2d166b1f77dc99 Mon Sep 17 00:00:00 2001 From: Alexander Ried Date: Mon, 12 Sep 2016 16:49:20 +0200 Subject: [PATCH 41/45] systemd-networkd.service: remove network-interfaces.target ordering --- nixos/modules/system/boot/networkd.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/nixos/modules/system/boot/networkd.nix b/nixos/modules/system/boot/networkd.nix index 38b4b437369d449..d125be7c3d07f2e 100644 --- a/nixos/modules/system/boot/networkd.nix +++ b/nixos/modules/system/boot/networkd.nix @@ -672,7 +672,6 @@ in systemd.services.systemd-networkd = { wantedBy = [ "multi-user.target" ]; - before = [ "network-interfaces.target" ]; restartTriggers = [ config.environment.etc."systemd/network".source ]; }; From 072c1dcc4a319b80ffd4a41165cebacdbb17275a Mon Sep 17 00:00:00 2001 From: Alexander Ried Date: Fri, 9 Sep 2016 05:25:56 +0200 Subject: [PATCH 42/45] network-interfaces-scripted: rework dependencies --- .../tasks/network-interfaces-scripted.nix | 73 ++++++++++--------- 1 file changed, 39 insertions(+), 34 deletions(-) diff --git a/nixos/modules/tasks/network-interfaces-scripted.nix b/nixos/modules/tasks/network-interfaces-scripted.nix index d1b62e0fd4e483b..c8b48b995a0abe4 100644 --- a/nixos/modules/tasks/network-interfaces-scripted.nix +++ b/nixos/modules/tasks/network-interfaces-scripted.nix @@ -54,16 +54,21 @@ in networkSetup = { description = "Networking Setup"; - after = [ "network-interfaces.target" "network-pre.target" ]; - before = [ "network.target" ]; - wantedBy = [ "network.target" ]; + after = [ "network-pre.target" "systemd-udevd.service" "systemd-sysctl.service" ]; + before = [ "network.target" "shutdown.target" ]; + wants = [ "network.target" ]; + conflicts = [ "shutdown.target" ]; + wantedBy = [ "multi-user.target" ]; unitConfig.ConditionCapability = "CAP_NET_ADMIN"; path = [ pkgs.iproute ]; - serviceConfig.Type = "oneshot"; - serviceConfig.RemainAfterExit = true; + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + DefaultDependencies = false; + }; script = '' @@ -108,8 +113,12 @@ in in nameValuePair "network-addresses-${i.name}" { description = "Address configuration of ${i.name}"; - wantedBy = [ "network-interfaces.target" ]; - before = [ "network-interfaces.target" ]; + wantedBy = [ "network-setup.service" ]; + # propagate stop and reload from network-setup + partOf = [ "network-setup.service" ]; + # order before network-setup because the routes that are configured + # there may need ip addresses configured + before = [ "network-setup.service" ]; bindsTo = [ (subsystemDevice i.name) ]; after = [ (subsystemDevice i.name) "network-pre.target" ]; serviceConfig.Type = "oneshot"; @@ -129,20 +138,11 @@ in echo "checking ip ${address}..." if out=$(ip addr add "${address}" dev "${i.name}" 2>&1); then echo "added ip ${address}..." - restart_network_setup=true elif ! echo "$out" | grep "File exists" >/dev/null 2>&1; then echo "failed to add ${address}" exit 1 fi - '') - + optionalString (ips != [ ]) - '' - if [ "$restart_network_setup" = "true" ]; then - # Ensure that the default gateway remains set. - # (Flushing this interface may have removed it.) - ${config.systemd.package}/bin/systemctl try-restart --no-block network-setup.service - fi - ''; + ''); preStop = flip concatMapStrings (ips) (ip: let address = "${ip.address}/${toString ip.prefixLength}"; @@ -156,10 +156,11 @@ in createTunDevice = i: nameValuePair "${i.name}-netdev" { description = "Virtual Network Interface ${i.name}"; - requires = [ "dev-net-tun.device" ]; + bindsTo = [ "dev-net-tun.device" ]; after = [ "dev-net-tun.device" "network-pre.target" ]; - wantedBy = [ "network.target" (subsystemDevice i.name) ]; - before = [ "network-interfaces.target" (subsystemDevice i.name) ]; + wantedBy = [ "network-setup.service" (subsystemDevice i.name) ]; + partOf = [ "network-setup.service" ]; + before = [ "network-setup.service" (subsystemDevice i.name) ]; path = [ pkgs.iproute ]; serviceConfig = { Type = "oneshot"; @@ -180,12 +181,12 @@ in deps = map subsystemDevice v.interfaces; in { description = "Bridge Interface ${n}"; - wantedBy = [ "network.target" (subsystemDevice n) ]; + wantedBy = [ "network-setup.service" (subsystemDevice n) ]; bindsTo = deps ++ optional v.rstp "mstpd.service"; - partOf = optional v.rstp "mstpd.service"; + partOf = [ "network-setup.service" ] ++ optional v.rstp "mstpd.service"; after = [ "network-pre.target" "mstpd.service" ] ++ deps ++ concatMap (i: [ "network-addresses-${i}.service" "network-link-${i}.service" ]) v.interfaces; - before = [ "network-interfaces.target" (subsystemDevice n) ]; + before = [ "network-setup.service" (subsystemDevice n) ]; serviceConfig.Type = "oneshot"; serviceConfig.RemainAfterExit = true; path = [ pkgs.iproute ]; @@ -222,11 +223,11 @@ in ofRules = pkgs.writeText "vswitch-${n}-openFlowRules" v.openFlowRules; in { description = "Open vSwitch Interface ${n}"; - wantedBy = [ "network.target" "vswitchd.service" ] ++ deps; + wantedBy = [ "network-setup.service" "vswitchd.service" ] ++ deps; bindsTo = [ "vswitchd.service" (subsystemDevice n) ] ++ deps; - partOf = [ "vswitchd.service" ]; + partOf = [ "network-setup.service" "vswitchd.service" ]; after = [ "network-pre.target" "vswitchd.service" ] ++ deps; - before = [ "network-interfaces.target" ]; + before = [ "network-setup.service" ]; serviceConfig.Type = "oneshot"; serviceConfig.RemainAfterExit = true; path = [ pkgs.iproute config.virtualisation.vswitch.package ]; @@ -254,11 +255,12 @@ in deps = map subsystemDevice v.interfaces; in { description = "Bond Interface ${n}"; - wantedBy = [ "network.target" (subsystemDevice n) ]; + wantedBy = [ "network-setup.service" (subsystemDevice n) ]; bindsTo = deps; + partOf = [ "network-setup.service" ]; after = [ "network-pre.target" ] ++ deps ++ concatMap (i: [ "network-addresses-${i}.service" "network-link-${i}.service" ]) v.interfaces; - before = [ "network-interfaces.target" (subsystemDevice n) ]; + before = [ "network-setup.service" (subsystemDevice n) ]; serviceConfig.Type = "oneshot"; serviceConfig.RemainAfterExit = true; path = [ pkgs.iproute pkgs.gawk ]; @@ -291,10 +293,11 @@ in deps = [ (subsystemDevice v.interface) ]; in { description = "Vlan Interface ${n}"; - wantedBy = [ "network.target" (subsystemDevice n) ]; + wantedBy = [ "network-setup.service" (subsystemDevice n) ]; bindsTo = deps; + partOf = [ "network-setup.service" ]; after = [ "network-pre.target" ] ++ deps; - before = [ "network-interfaces.target" (subsystemDevice n) ]; + before = [ "network-setup.service" (subsystemDevice n) ]; serviceConfig.Type = "oneshot"; serviceConfig.RemainAfterExit = true; path = [ pkgs.iproute ]; @@ -315,10 +318,11 @@ in deps = optional (v.dev != null) (subsystemDevice v.dev); in { description = "6-to-4 Tunnel Interface ${n}"; - wantedBy = [ "network.target" (subsystemDevice n) ]; + wantedBy = [ "network-setup.service" (subsystemDevice n) ]; bindsTo = deps; + partOf = [ "network-setup.service" ]; after = [ "network-pre.target" ] ++ deps; - before = [ "network-interfaces.target" (subsystemDevice n) ]; + before = [ "network-setup.service" (subsystemDevice n) ]; serviceConfig.Type = "oneshot"; serviceConfig.RemainAfterExit = true; path = [ pkgs.iproute ]; @@ -342,10 +346,11 @@ in deps = [ (subsystemDevice v.interface) ]; in { description = "Vlan Interface ${n}"; - wantedBy = [ "network.target" (subsystemDevice n) ]; + wantedBy = [ "network-setup.service" (subsystemDevice n) ]; bindsTo = deps; + partOf = [ "network-setup.service" ]; after = [ "network-pre.target" ] ++ deps; - before = [ "network-interfaces.target" (subsystemDevice n) ]; + before = [ "network-setup.service" (subsystemDevice n) ]; serviceConfig.Type = "oneshot"; serviceConfig.RemainAfterExit = true; path = [ pkgs.iproute ]; From 85c36d1f7d1f93bf5e964f11308a2a5fd814cfe3 Mon Sep 17 00:00:00 2001 From: Alexander Ried Date: Tue, 13 Sep 2016 11:00:08 +0200 Subject: [PATCH 43/45] network-interfaces.target: add deprecation notice --- nixos/modules/tasks/network-interfaces.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix index dc62cae24c7aa26..144ad10138d62e6 100644 --- a/nixos/modules/tasks/network-interfaces.nix +++ b/nixos/modules/tasks/network-interfaces.nix @@ -932,8 +932,10 @@ in ] ++ bridgeStp; + # The network-interfaces target is kept for backwards compatibility. + # New modules must NOT use it. systemd.targets."network-interfaces" = - { description = "All Network Interfaces"; + { description = "All Network Interfaces (deprecated)"; wantedBy = [ "network.target" ]; before = [ "network.target" ]; after = [ "network-pre.target" ]; From 60a9edbbebd99b521ad09e88e4442748d7737560 Mon Sep 17 00:00:00 2001 From: Alexander Ried Date: Tue, 13 Sep 2016 11:04:16 +0200 Subject: [PATCH 44/45] tests.networking: remove network-interfaces.target --- nixos/tests/networking.nix | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/nixos/tests/networking.nix b/nixos/tests/networking.nix index d5a0a9b798f56bd..17d4a878d3a4f1d 100644 --- a/nixos/tests/networking.nix +++ b/nixos/tests/networking.nix @@ -41,7 +41,6 @@ let machine.networking.useNetworkd = networkd; testScript = '' startAll; - $machine->waitForUnit("network-interfaces.target"); $machine->waitForUnit("network.target"); $machine->succeed("ip addr show lo | grep -q 'inet 127.0.0.1/8 '"); $machine->succeed("ip addr show lo | grep -q 'inet6 ::1/128 '"); @@ -71,9 +70,7 @@ let '' startAll; - $client->waitForUnit("network-interfaces.target"); $client->waitForUnit("network.target"); - $router->waitForUnit("network-interfaces.target"); $router->waitForUnit("network.target"); # Make sure dhcpcd is not started @@ -119,9 +116,7 @@ let '' startAll; - $client->waitForUnit("network-interfaces.target"); $client->waitForUnit("network.target"); - $router->waitForUnit("network-interfaces.target"); $router->waitForUnit("network.target"); # Wait until we have an ip address on each interface @@ -164,9 +159,7 @@ let startAll; # Wait for networking to come up - $client->waitForUnit("network-interfaces.target"); $client->waitForUnit("network.target"); - $router->waitForUnit("network-interfaces.target"); $router->waitForUnit("network.target"); # Wait until we have an ip address on each interface @@ -213,9 +206,7 @@ let startAll; # Wait for networking to come up - $client1->waitForUnit("network-interfaces.target"); $client1->waitForUnit("network.target"); - $client2->waitForUnit("network-interfaces.target"); $client2->waitForUnit("network.target"); # Test bonding @@ -259,11 +250,8 @@ let startAll; # Wait for networking to come up - $client1->waitForUnit("network-interfaces.target"); $client1->waitForUnit("network.target"); - $client2->waitForUnit("network-interfaces.target"); $client2->waitForUnit("network.target"); - $router->waitForUnit("network-interfaces.target"); $router->waitForUnit("network.target"); # Test bridging @@ -298,9 +286,7 @@ let startAll; # Wait for networking to come up - $client->waitForUnit("network-interfaces.target"); $client->waitForUnit("network.target"); - $router->waitForUnit("network-interfaces.target"); $router->waitForUnit("network.target"); # Wait until we have an ip address on each interface @@ -348,9 +334,7 @@ let startAll; # Wait for networking to be configured - $client1->waitForUnit("network-interfaces.target"); $client1->waitForUnit("network.target"); - $client2->waitForUnit("network-interfaces.target"); $client2->waitForUnit("network.target"); # Print diagnostic information @@ -391,9 +375,7 @@ let startAll; # Wait for networking to be configured - $client1->waitForUnit("network-interfaces.target"); $client1->waitForUnit("network.target"); - $client2->waitForUnit("network-interfaces.target"); $client2->waitForUnit("network.target"); # Test vlan is setup From fc0dc65f416ccc3e5cc4acfca7aaf93b50890670 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Sun, 2 Oct 2016 14:00:12 +0200 Subject: [PATCH 45/45] network-interfaces-scripted: DefaultDependencies is a unitConfig Ref: 072c1dcc4a319b80ffd4a41165cebacdbb17275a --- nixos/modules/tasks/network-interfaces-scripted.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nixos/modules/tasks/network-interfaces-scripted.nix b/nixos/modules/tasks/network-interfaces-scripted.nix index c8b48b995a0abe4..6a8f20bab5b62a0 100644 --- a/nixos/modules/tasks/network-interfaces-scripted.nix +++ b/nixos/modules/tasks/network-interfaces-scripted.nix @@ -67,9 +67,10 @@ in serviceConfig = { Type = "oneshot"; RemainAfterExit = true; - DefaultDependencies = false; }; + unitConfig.DefaultDependencies = false; + script = '' # Set the static DNS configuration, if given.