On Sun, 29 Sep 2013 17:18:39 -0400 Michael Dahlberg <olgamirth@xxxxxxxxx> wrote: > On Sun, Sep 29, 2013 at 3:44 PM, Leonid Isaev <lisaev@xxxxxxxxxxxx> wrote: > > > On Sat, 28 Sep 2013 20:59:02 -0400 > > Michael Dahlberg <olgamirth@xxxxxxxxx> wrote: > > > > > I recently upgraded to systemd-207 and I'm having some problems using > > > netctl to bring up a bridged interface during the system boot. The > > problem > > > is that systemd will try and bring the bridged interface up before > > bringing > > > up the actual network interface that is included in the bridge and, as a > > > result, it times out: > > > > > > (From journalctl) > > > > > > Sep 27 23:59:34 io systemd[1]: Job > > > sys-subsystem-net-devices-net1.710.device/start timed out. > > > Sep 27 23:59:34 io systemd[1]: Timed out waiting for device > > > sys-subsystem-net-devices-net1.710.device. > > > Sep 27 23:59:34 io systemd[1]: Dependency failed for Bridge Connections > > for > > > VLAN710 VMs. > > > > > > > > > The netctl bridge profile is > > > > > > Description="Bridge Connections for VLAN710 VMs" > > > Interface=br710 > > > Connection=bridge > > > BindsToInterfaces=(net1.710) > > > IP="no" > > > > > > The systemd service definition (netctl@br710.service) > > > > > > .include /usr/lib/systemd/system/netctl@.service > > > > > > [Unit] > > > Description=Bridge Connections for VLAN710 VMs > > > BindsTo=sys-subsystem-net-devices-net1.710.device > > > After=sys-subsystem-net-devices-net1.710.device > > > > > > And the profile for net1.710 is > > > > > > Description='VLAN 710 VMs' > > > Interface=net1.710 > > > Connection=vlan > > > # The variable name is plural, but needs precisely one interface > > > BindsToInterfaces=net1 > > > VLANID=710 > > > IP=no > > > > > > > > > As soon as systemd times out waiting for the > > > sys-subsystem-net-devices-net1.710 device to start, it then starts to > > bring > > > up the VLAN interface (again from journalctl): > > > > > > Sep 27 23:59:35 io network[376]: Starting network profile 'vlan710'... > > > Sep 27 23:59:37 io kernel: e1000e: net1 NIC Link is Up 100 Mbps Full > > > Duplex, Flow Control: None > > > Sep 27 23:59:37 io network[376]: Started network profile 'vlan710' > > > Sep 27 23:59:37 io systemd[1]: Started VLAN 710 VMs. > > > > > > > > > Obviously, once I have access to the terminal I can manually bring up the > > > bridge without problems. > > > > > > I seem to have an issue with the timing with which the different parts of > > > the network interfaces are brought up. Is there a way to force systemd > > to > > > bring up the net1.710 device before attempting to start the bridge? > > > > Uhh... modify "netctl@br710.service" to require the unit for net1.710, > > e.g. > > > > [Unit] > > Requires=<unit> > > After=<unit> > > > > > Hey! Thank you very much; that worked! > > I honestly thought that the lines > > BindsTo=sys-subsystem-net-devices-net1.710.device > After=sys-subsystem-net-devices-net1.710.device > > which were automatically generated by netctl, would do just that. No, they instruct systemd to start the unit when those devices appear. This is an OK strategy when dealing with real (hardware-backed) devices because these are created by kernel/udev way before systemd gets to netctl units. However, in your case, the devices are themselves created by netctl, so you have to order the units somehow. One way is to order individual units, like you did. Probably a better approach is to create a target "vlan_dev.target" which is WantedBy netctl@vlan* units, and start all high-level units (netctl bridges, VMs, LXCs, etc.) after that target... > > Mike Cheers, -- Leonid Isaev GnuPG key: 0x164B5A6D Fingerprint: C0DF 20D0 C075 C3F1 E1BE 775A A7AE F6CB 164B 5A6D
Attachment:
signature.asc
Description: PGP signature