From b77ffba65617c4001e85a31dc9673d0abe481fb8 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Wed, 29 Jan 2014 21:10:04 +0100 Subject: Trigger network target as soon as possible if network/dhcp has been done in stage31 --- remote/rootfs/rootfs-stage31/data/inc/setup_network | 2 ++ .../data/etc/systemd/system/early-network-triggers.service | 2 ++ .../rootfs-stage32/data/etc/systemd/system/network-dns.target | 2 +- .../rootfs-stage32/data/etc/systemd/system/network-gateway.target | 3 ++- .../rootfs/rootfs-stage32/data/etc/systemd/system/ntpdate.service | 1 - remote/rootfs/rootfs-stage32/data/etc/tmpfiles.d/network.conf | 1 + .../data/opt/openslx/scripts/systemd-early_network_triggers | 6 +++--- 7 files changed, 11 insertions(+), 6 deletions(-) create mode 100644 remote/rootfs/rootfs-stage32/data/etc/tmpfiles.d/network.conf (limited to 'remote/rootfs') diff --git a/remote/rootfs/rootfs-stage31/data/inc/setup_network b/remote/rootfs/rootfs-stage31/data/inc/setup_network index ed29050f..9e52cfaa 100755 --- a/remote/rootfs/rootfs-stage31/data/inc/setup_network +++ b/remote/rootfs/rootfs-stage31/data/inc/setup_network @@ -58,6 +58,8 @@ for LINE in $IP_OUT; do else NOIPYET="yes" fi + # Ignore this device later on when systemd handles network interfaces (see hacked 99-systemd.rules in systemd data dir) + echo "SUBSYSTEM==\"net\", ACTION==\"add\", KERNEL==\"eth*\", ATTR{address}==\"$IFMAC\", TAG+=\"openslxignore\"" >> "${FUTURE_ROOT}/etc/udev/rules.d/01-ignore-boot-interface.rules" fi # youdev echo "SUBSYSTEM==\"net\", ACTION==\"add\", DRIVERS==\"?*\", ATTR{address}==\"$IFMAC\", ATTR{dev_id}==\"0x0\", ATTR{type}==\"1\", KERNEL==\"eth*\", NAME=\"$IFACE\"" >> "${FUTURE_ROOT}/etc/udev/rules.d/70-net-boot-nic-name.rules" diff --git a/remote/rootfs/rootfs-stage32/data/etc/systemd/system/early-network-triggers.service b/remote/rootfs/rootfs-stage32/data/etc/systemd/system/early-network-triggers.service index 7ed6e2a6..4713dae1 100644 --- a/remote/rootfs/rootfs-stage32/data/etc/systemd/system/early-network-triggers.service +++ b/remote/rootfs/rootfs-stage32/data/etc/systemd/system/early-network-triggers.service @@ -3,7 +3,9 @@ [Unit] Description=Trigger network targets early DefaultDependencies=no +Wants=systemd-tmpfiles-setup.service Before=sysinit.target +After=systemd-tmpfiles-setup.service [Service] Type=oneshot diff --git a/remote/rootfs/rootfs-stage32/data/etc/systemd/system/network-dns.target b/remote/rootfs/rootfs-stage32/data/etc/systemd/system/network-dns.target index c0b7793b..bc12cd1b 100644 --- a/remote/rootfs/rootfs-stage32/data/etc/systemd/system/network-dns.target +++ b/remote/rootfs/rootfs-stage32/data/etc/systemd/system/network-dns.target @@ -1,4 +1,4 @@ [Unit] - Description=DNS Server available +ConditionPathExists=/run/network/dns-ready diff --git a/remote/rootfs/rootfs-stage32/data/etc/systemd/system/network-gateway.target b/remote/rootfs/rootfs-stage32/data/etc/systemd/system/network-gateway.target index cfeb719c..770eb697 100644 --- a/remote/rootfs/rootfs-stage32/data/etc/systemd/system/network-gateway.target +++ b/remote/rootfs/rootfs-stage32/data/etc/systemd/system/network-gateway.target @@ -1,3 +1,4 @@ [Unit] - Description=Default route configured +ConditionPathExists=/run/network/gateway-ready + diff --git a/remote/rootfs/rootfs-stage32/data/etc/systemd/system/ntpdate.service b/remote/rootfs/rootfs-stage32/data/etc/systemd/system/ntpdate.service index a48375d0..ebaa9afb 100644 --- a/remote/rootfs/rootfs-stage32/data/etc/systemd/system/ntpdate.service +++ b/remote/rootfs/rootfs-stage32/data/etc/systemd/system/ntpdate.service @@ -2,7 +2,6 @@ Description=Update date from local time server After=network.target Requires=network.target -ConditionPathExists=/run/udhcpc/network-ready [Service] Type=oneshot diff --git a/remote/rootfs/rootfs-stage32/data/etc/tmpfiles.d/network.conf b/remote/rootfs/rootfs-stage32/data/etc/tmpfiles.d/network.conf new file mode 100644 index 00000000..dd67e785 --- /dev/null +++ b/remote/rootfs/rootfs-stage32/data/etc/tmpfiles.d/network.conf @@ -0,0 +1 @@ +D /run/network 0755 root root diff --git a/remote/rootfs/rootfs-stage32/data/opt/openslx/scripts/systemd-early_network_triggers b/remote/rootfs/rootfs-stage32/data/opt/openslx/scripts/systemd-early_network_triggers index bc471116..dc639535 100755 --- a/remote/rootfs/rootfs-stage32/data/opt/openslx/scripts/systemd-early_network_triggers +++ b/remote/rootfs/rootfs-stage32/data/opt/openslx/scripts/systemd-early_network_triggers @@ -8,17 +8,17 @@ BRIDGE="br0" if [ ! -e "/sys/class/net/${BRIDGE}/operstate" -o "x$(cat "/sys/class/net/${BRIDGE}/operstate")" == "xup" ] && [ -e "/opt/openslx/uniontmp/etc/hostname" -o -e "/opt/openslx/uniontmp/etc/resolv.conf" ]; then - touch "/run/dhcpc/network-ready" + touch "/run/network/network-ready" systemctl start network.target & fi if [ -s "/etc/resolv.conf" ] && grep -q "^nameserver" "/etc/resolv.conf"; then - touch "/run/dhcpc/dns-ready" + touch "/run/network/dns-ready" systemctl start network-dns.target & fi if route -n | grep -q -E '^0\.0\.0\.0.*U.*G'; then - touch "/run/dhcpc/routing-ready" + touch "/run/network/gateway-ready" systemctl start network-gateway.target & fi -- cgit v1.2.3-55-g7522