It’s never been popular by anybody except RedHat, that’s how they sell courses end certifications.
Still haven’t found a way to start something after networking has finished when it takes a bit to set everything up. (and no, not going to limit vlans, tunnels,…)
It’s a technical ‘solution’ for a marketing problem.
That’s what you would do with the init scripts, as that environment waits until the previous one is finished. (ie you know you have working network) Systemd is in a hurry and there ‘after’ seems to mean ‘not before’ instead of ‘after <specified> is finished’, so after networking is started it advances to the next in line.
Yeah. I’m not sure what the issue there is though?
If you’re having issues with stuff that’s coming up after devices but before getting an IP, you might want to try putting another service as a dependency (dhcp client service maybe).
You may also be falling victim to interface “allow-hotplug” setting. IIRC one of my systems I had to change this in the interfaces configuration to ensure the interface was up fully before other stuff started.
Alas, nop, After= starts a service after networking has started. Somewhere systemd assumes that starting takes x amount of time, which seems to be correct for 1 to a few interfaces, but as soon as you start messing about with vlans, pppoe over 1 vlan and tunnels over pppoe over said vlan (and that’s only the outside) that assumption is incorrect.
To link services to a specific interface you need an extra BindsTo=sys-devices-virtual-net-vlan666.device when you want the service to start after vlan666 is actually up. (else it’s just started after the depedency is started) Starting vlans/tunnels takes a tad of time, especially when you have 11 vlans, 2 tunnels and a pppoe interface between 1 vlan and the 2 tunnels.
Requires= seems to be for services, BindsTo= for devices.
It’s never been popular by anybody except RedHat, that’s how they sell courses end certifications.
Still haven’t found a way to start something after networking has finished when it takes a bit to set everything up. (and no, not going to limit vlans, tunnels,…)
It’s a technical ‘solution’ for a marketing problem.
systemctl start service
I love how fucking lennaert subtly changed that. Who cares that it complicates classic tools.
Wouldn’t you just set “networking” as a dependency on the unit of whatever you need started after?
That’s what you would do with the init scripts, as that environment waits until the previous one is finished. (ie you know you have working network) Systemd is in a hurry and there ‘after’ seems to mean ‘not before’ instead of ‘after <specified> is finished’, so after networking is started it advances to the next in line.
Yeah. I’m not sure what the issue there is though?
If you’re having issues with stuff that’s coming up after devices but before getting an IP, you might want to try putting another service as a dependency (dhcp client service maybe).
You may also be falling victim to interface “allow-hotplug” setting. IIRC one of my systems I had to change this in the interfaces configuration to ensure the interface was up fully before other stuff started.
Does
After=
not fit your use case? I was under the impression it does what you’re looking for.Alas, nop, After= starts a service after networking has started. Somewhere systemd assumes that starting takes x amount of time, which seems to be correct for 1 to a few interfaces, but as soon as you start messing about with vlans, pppoe over 1 vlan and tunnels over pppoe over said vlan (and that’s only the outside) that assumption is incorrect.
To link services to a specific interface you need an extra BindsTo=sys-devices-virtual-net-vlan666.device when you want the service to start after vlan666 is actually up. (else it’s just started after the depedency is started) Starting vlans/tunnels takes a tad of time, especially when you have 11 vlans, 2 tunnels and a pppoe interface between 1 vlan and the 2 tunnels.
Requires= seems to be for services, BindsTo= for devices.