From ec6f1c89b1178906dc5a10063492975b16498668 Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Tue, 11 Feb 2020 13:23:23 +0100 Subject: [PATCH 1/7] Add `startup-tags.service` --- install.sh | 1 + misc_systemd_units/startup-tags.service | 7 +++++++ 2 files changed, 8 insertions(+) create mode 100644 misc_systemd_units/startup-tags.service diff --git a/install.sh b/install.sh index bf9c128..d0c3fd5 100755 --- a/install.sh +++ b/install.sh @@ -89,6 +89,7 @@ install_exec make-automaps/make-automaps "$DESTDIR$usr_sbindir/m install_data misc_systemd_units/automount.service "$DESTDIR$systemdunitdir/automount.service" install_data misc_systemd_units/enable_overcommit_memory.service "$DESTDIR$systemdunitdir/enable_overcommit_memory.service" install_data misc_systemd_units/gdm.service "$DESTDIR$systemdunitdir/gdm.service" +install_data misc_systemd_units/startup-tags.service "$DESTDIR$systemdunitdir/startup-tags.service" install_data misc_systemd_units/unbound.service "$DESTDIR$systemdunitdir/unbound.service" install_exec mkmotd/mkmotd.pl "$DESTDIR$usr_sbindir/mkmotd.pl" install_data mkmotd/motd.service "$DESTDIR$systemdunitdir/motd.service" diff --git a/misc_systemd_units/startup-tags.service b/misc_systemd_units/startup-tags.service new file mode 100644 index 0000000..fc2b4de --- /dev/null +++ b/misc_systemd_units/startup-tags.service @@ -0,0 +1,7 @@ +[Unit] + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=/usr/sbin/hostconfig --populate-node + From 2ee1c4066f0ca66a33b7615c27c5ec12ec8fec05 Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Tue, 11 Feb 2020 13:27:30 +0100 Subject: [PATCH 2/7] Add `startup-hostname.service` This will be removed later on, so the script below is not added here. $ ls -l --full-time /sbin/startup-hostname lrwxrwxrwx 1 root root 26 2014-03-17 11:22:30.000000000 +0100 /sbin/startup-hostname -> /usr/sbin/startup-hostname $ ls -l --full-time /usr/sbin/startup-hostname -rwxr-xr-x 1 root root 547 2014-05-28 16:04:49.000000000 +0200 /usr/sbin/startup-hostname $ more /usr/sbin/startup-hostname #! /bin/sh # This is a workaround for our systemd version not having ConditionHost= # This little helper is called by startup-hostname.service and creates # /node/startup-hostname/HOSTNAME # So other services can use # Wants=startup-hostname.service # After=startup-hostname.service # ConditionPathExists=/node/startup-hostname/HOSTNAME # to start a unit only on a specific host # hostname=`uname -n`;hostname=${hostname%%.*} mkdir -p /node/startup-hostname rm /node/startup-hostname/* 2>/dev/null touch /node/startup-hostname/$hostname --- install.sh | 1 + misc_systemd_units/startup-hostname.service | 7 +++++++ 2 files changed, 8 insertions(+) create mode 100644 misc_systemd_units/startup-hostname.service diff --git a/install.sh b/install.sh index d0c3fd5..bf483f4 100755 --- a/install.sh +++ b/install.sh @@ -90,6 +90,7 @@ install_data misc_systemd_units/automount.service "$DESTDIR$systemdunitdi install_data misc_systemd_units/enable_overcommit_memory.service "$DESTDIR$systemdunitdir/enable_overcommit_memory.service" install_data misc_systemd_units/gdm.service "$DESTDIR$systemdunitdir/gdm.service" install_data misc_systemd_units/startup-tags.service "$DESTDIR$systemdunitdir/startup-tags.service" +install_data misc_systemd_units/startup-hostname.service "$DESTDIR$systemdunitdir/startup-hostname.service" install_data misc_systemd_units/unbound.service "$DESTDIR$systemdunitdir/unbound.service" install_exec mkmotd/mkmotd.pl "$DESTDIR$usr_sbindir/mkmotd.pl" install_data mkmotd/motd.service "$DESTDIR$systemdunitdir/motd.service" diff --git a/misc_systemd_units/startup-hostname.service b/misc_systemd_units/startup-hostname.service new file mode 100644 index 0000000..35d87f9 --- /dev/null +++ b/misc_systemd_units/startup-hostname.service @@ -0,0 +1,7 @@ +[Unit] + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=/sbin/startup-hostname + From e520f2716eaf608afec1305cbf0151ed5d3de88b Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Tue, 11 Feb 2020 14:09:19 +0100 Subject: [PATCH 3/7] Add `dhcrelay.service` --- install.sh | 1 + misc_systemd_units/dhcrelay.service | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 misc_systemd_units/dhcrelay.service diff --git a/install.sh b/install.sh index bf483f4..810cfa4 100755 --- a/install.sh +++ b/install.sh @@ -87,6 +87,7 @@ mkdir -p "$DESTDIR$udev_helperdir" install_exec make-automaps/make-automaps "$DESTDIR$usr_sbindir/make-automaps" install_data misc_systemd_units/automount.service "$DESTDIR$systemdunitdir/automount.service" +install_data misc_systemd_units/dhcrelay.service "$DESTDIR$systemdunitdir/dhcrelay.service" install_data misc_systemd_units/enable_overcommit_memory.service "$DESTDIR$systemdunitdir/enable_overcommit_memory.service" install_data misc_systemd_units/gdm.service "$DESTDIR$systemdunitdir/gdm.service" install_data misc_systemd_units/startup-tags.service "$DESTDIR$systemdunitdir/startup-tags.service" diff --git a/misc_systemd_units/dhcrelay.service b/misc_systemd_units/dhcrelay.service new file mode 100644 index 0000000..d40417d --- /dev/null +++ b/misc_systemd_units/dhcrelay.service @@ -0,0 +1,17 @@ +[Unit] + +Description=DHCP relay +Requires=network.target +After=network.target +ConditionPathExists=/node/startup-hostname/bka + +[Service] + +ExecStart=/usr/sbin/dhcrelay -4 -d dhcp.molgen.mpg.de +Restart=always +StandardOutput=syslog + +[Install] + +WantedBy=multi-user.target + From 1be35b69e13bf6354fed3974666b857bd03f9188 Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Tue, 11 Feb 2020 14:51:17 +0100 Subject: [PATCH 4/7] Add `xaruba.service` --- install.sh | 1 + misc_systemd_units/xaruba.service | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 misc_systemd_units/xaruba.service diff --git a/install.sh b/install.sh index 810cfa4..2fc86f8 100755 --- a/install.sh +++ b/install.sh @@ -93,6 +93,7 @@ install_data misc_systemd_units/gdm.service "$DESTDIR$systemdunitdi install_data misc_systemd_units/startup-tags.service "$DESTDIR$systemdunitdir/startup-tags.service" install_data misc_systemd_units/startup-hostname.service "$DESTDIR$systemdunitdir/startup-hostname.service" install_data misc_systemd_units/unbound.service "$DESTDIR$systemdunitdir/unbound.service" +install_data misc_systemd_units/xaruba.service "$DESTDIR$systemdunitdir/xaruba.service" install_exec mkmotd/mkmotd.pl "$DESTDIR$usr_sbindir/mkmotd.pl" install_data mkmotd/motd.service "$DESTDIR$systemdunitdir/motd.service" install_exec mxgrub/mxgrub "$DESTDIR$usr_sbindir/mxgrub" diff --git a/misc_systemd_units/xaruba.service b/misc_systemd_units/xaruba.service new file mode 100644 index 0000000..44f2359 --- /dev/null +++ b/misc_systemd_units/xaruba.service @@ -0,0 +1,16 @@ +[Unit] +After=network.service gateway.service mxmount.service +Before=network.target + +Wants=startup-hostname.service +After=startup-hostname.service +ConditionPathExists=/node/startup-hostname/macheteinfach + +[Service] +Type=oneshot +RemainAfterExit=true +ExecStart=/usr/sbin/ip-nat start 141.14.27.49 443 172.19.109.10 4343 20 net04 +ExecStop=/usr/sbin/ip-nat stop 141.14.27.49 443 172.19.109.10 4343 20 net04 + +[Install] +WantedBy=network.target From e5893118b8f0a3da602dc31f456e1eb718931682 Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Tue, 11 Feb 2020 14:52:55 +0100 Subject: [PATCH 5/7] Add `yppasswd.service` and `ypserv.service` --- install.sh | 2 ++ misc_systemd_units/yppasswd.service | 14 ++++++++++++++ misc_systemd_units/ypserv.service | 18 ++++++++++++++++++ 3 files changed, 34 insertions(+) create mode 100644 misc_systemd_units/yppasswd.service create mode 100644 misc_systemd_units/ypserv.service diff --git a/install.sh b/install.sh index 2fc86f8..8e9a2a4 100755 --- a/install.sh +++ b/install.sh @@ -94,6 +94,8 @@ install_data misc_systemd_units/startup-tags.service "$DESTDIR$systemdunitdi install_data misc_systemd_units/startup-hostname.service "$DESTDIR$systemdunitdir/startup-hostname.service" install_data misc_systemd_units/unbound.service "$DESTDIR$systemdunitdir/unbound.service" install_data misc_systemd_units/xaruba.service "$DESTDIR$systemdunitdir/xaruba.service" +install_data misc_systemd_units/yppasswd.service "$DESTDIR$systemdunitdir/yppasswd.service" +install_data misc_systemd_units/ypserv.service "$DESTDIR$systemdunitdir/ypserv.service" install_exec mkmotd/mkmotd.pl "$DESTDIR$usr_sbindir/mkmotd.pl" install_data mkmotd/motd.service "$DESTDIR$systemdunitdir/motd.service" install_exec mxgrub/mxgrub "$DESTDIR$usr_sbindir/mxgrub" diff --git a/misc_systemd_units/yppasswd.service b/misc_systemd_units/yppasswd.service new file mode 100644 index 0000000..8ac29c1 --- /dev/null +++ b/misc_systemd_units/yppasswd.service @@ -0,0 +1,14 @@ +[Unit] +After=network.service gateway.service mxmount.service automount.service + +Wants=startup-hostname.service +After=startup-hostname.service +ConditionPathExists=/node/startup-hostname/wtf + +[Service] +Type=forking +ExecStart=/package/nis/sbin/rpc.yppasswdd -D /package/nis/src -e chsh + +[Install] +WantedBy=network.target + diff --git a/misc_systemd_units/ypserv.service b/misc_systemd_units/ypserv.service new file mode 100644 index 0000000..72668cd --- /dev/null +++ b/misc_systemd_units/ypserv.service @@ -0,0 +1,18 @@ +[Unit] +After=network.service gateway.service mxmount.service automount.service +Before=network.target + +Wants=startup-hostname.service +After=startup-hostname.service +ConditionPathExists=/node/startup-hostname/wtf + +[Service] +Type=forking +Restart=always +ExecStartPre=-/sbin/ip addr add 141.14.31.96/20 dev net03 +ExecStart=/package/nis/sbin/ypserv +ExecStopPost=-/sbin/ip addr del 141.14.31.96/20 dev net03 + +[Install] +WantedBy=network.target + From e731f1b891daa218008aee70deacebeaecf4c181 Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Tue, 11 Feb 2020 15:46:13 +0100 Subject: [PATCH 6/7] dhcrelay.service: Order after `startup-hostname.service` Make sure, the file has been actually created. --- misc_systemd_units/dhcrelay.service | 3 +++ 1 file changed, 3 insertions(+) diff --git a/misc_systemd_units/dhcrelay.service b/misc_systemd_units/dhcrelay.service index d40417d..e1a1c2f 100644 --- a/misc_systemd_units/dhcrelay.service +++ b/misc_systemd_units/dhcrelay.service @@ -3,6 +3,9 @@ Description=DHCP relay Requires=network.target After=network.target + +Wants=startup-hostname.service +After=startup-hostname.service ConditionPathExists=/node/startup-hostname/bka [Service] From e497beb0dce9e607155128fbad29ff6936d0bccd Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Tue, 11 Feb 2020 15:02:37 +0100 Subject: [PATCH 7/7] Use systemd unit key `ConditionHost=` MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `ConditionHost=` was added in systemd 189, so let’s use it, now that we are not running systemd 27 anymore. $ more /usr/sbin/startup-hostname […] # This is a workaround for our systemd version not having ConditionHost= # This little helper is called by startup-hostname.service and creates # /node/startup-hostname/HOSTNAME # So other services can use # Wants=startup-hostname.service # After=startup-hostname.service # ConditionPathExists=/node/startup-hostname/HOSTNAME # to start a unit only on a specific host # […] --- install.sh | 1 - misc_systemd_units/dhcrelay.service | 4 +--- misc_systemd_units/named.service | 4 +--- misc_systemd_units/startup-hostname.service | 7 ------- misc_systemd_units/xaruba.service | 4 +--- misc_systemd_units/yppasswd.service | 4 +--- misc_systemd_units/ypserv.service | 4 +--- 7 files changed, 5 insertions(+), 23 deletions(-) delete mode 100644 misc_systemd_units/startup-hostname.service diff --git a/install.sh b/install.sh index 8e9a2a4..1304535 100755 --- a/install.sh +++ b/install.sh @@ -91,7 +91,6 @@ install_data misc_systemd_units/dhcrelay.service "$DESTDIR$systemdunitdi install_data misc_systemd_units/enable_overcommit_memory.service "$DESTDIR$systemdunitdir/enable_overcommit_memory.service" install_data misc_systemd_units/gdm.service "$DESTDIR$systemdunitdir/gdm.service" install_data misc_systemd_units/startup-tags.service "$DESTDIR$systemdunitdir/startup-tags.service" -install_data misc_systemd_units/startup-hostname.service "$DESTDIR$systemdunitdir/startup-hostname.service" install_data misc_systemd_units/unbound.service "$DESTDIR$systemdunitdir/unbound.service" install_data misc_systemd_units/xaruba.service "$DESTDIR$systemdunitdir/xaruba.service" install_data misc_systemd_units/yppasswd.service "$DESTDIR$systemdunitdir/yppasswd.service" diff --git a/misc_systemd_units/dhcrelay.service b/misc_systemd_units/dhcrelay.service index e1a1c2f..1903eef 100644 --- a/misc_systemd_units/dhcrelay.service +++ b/misc_systemd_units/dhcrelay.service @@ -4,9 +4,7 @@ Description=DHCP relay Requires=network.target After=network.target -Wants=startup-hostname.service -After=startup-hostname.service -ConditionPathExists=/node/startup-hostname/bka +ConditionHost=bka.molgen.mpg.de [Service] diff --git a/misc_systemd_units/named.service b/misc_systemd_units/named.service index e1ddf64..edc7a81 100644 --- a/misc_systemd_units/named.service +++ b/misc_systemd_units/named.service @@ -1,10 +1,8 @@ [Unit] After=network.service gateway.service mxmount.service automount.service -Wants=startup-hostname.service -After=startup-hostname.service Before=mxstartup-mxvip.service -ConditionPathExists=/node/startup-hostname/wtf +ConditionHost=wtf.molgen.mpg.de [Service] Type=forking diff --git a/misc_systemd_units/startup-hostname.service b/misc_systemd_units/startup-hostname.service deleted file mode 100644 index 35d87f9..0000000 --- a/misc_systemd_units/startup-hostname.service +++ /dev/null @@ -1,7 +0,0 @@ -[Unit] - -[Service] -Type=oneshot -RemainAfterExit=yes -ExecStart=/sbin/startup-hostname - diff --git a/misc_systemd_units/xaruba.service b/misc_systemd_units/xaruba.service index 44f2359..67c456e 100644 --- a/misc_systemd_units/xaruba.service +++ b/misc_systemd_units/xaruba.service @@ -2,9 +2,7 @@ After=network.service gateway.service mxmount.service Before=network.target -Wants=startup-hostname.service -After=startup-hostname.service -ConditionPathExists=/node/startup-hostname/macheteinfach +ConditionHost=macheteinfach.molgen.mpg.de [Service] Type=oneshot diff --git a/misc_systemd_units/yppasswd.service b/misc_systemd_units/yppasswd.service index 8ac29c1..b4f2b2c 100644 --- a/misc_systemd_units/yppasswd.service +++ b/misc_systemd_units/yppasswd.service @@ -1,9 +1,7 @@ [Unit] After=network.service gateway.service mxmount.service automount.service -Wants=startup-hostname.service -After=startup-hostname.service -ConditionPathExists=/node/startup-hostname/wtf +ConditionHost=wtf.molgen.mpg.de [Service] Type=forking diff --git a/misc_systemd_units/ypserv.service b/misc_systemd_units/ypserv.service index 72668cd..85893d9 100644 --- a/misc_systemd_units/ypserv.service +++ b/misc_systemd_units/ypserv.service @@ -2,9 +2,7 @@ After=network.service gateway.service mxmount.service automount.service Before=network.target -Wants=startup-hostname.service -After=startup-hostname.service -ConditionPathExists=/node/startup-hostname/wtf +ConditionHost=wtf.molgen.mpg.de [Service] Type=forking