nixos/colony: Hopefully fix estuary attempting to start early

This commit is contained in:
Jack O'Sullivan 2022-05-18 20:57:26 +01:00
parent 498888aad0
commit 89928a8fee
2 changed files with 14 additions and 4 deletions

View File

@ -64,10 +64,20 @@
};
networks."80-base" = networkdAssignment "base" assignments.internal;
};
services."vm@estuary" = rec {
# Bind to the interface, networkd wait-online would deadlock...
services."vm@estuary" = {
# Depend the interface, networkd wait-online would deadlock...
requires = [ "sys-subsystem-net-devices-base.device" ];
bindsTo = requires;
preStart = ''
count=0
while ! ${pkgs.iproute2}/bin/ip link show dev base > /dev/null 2>&1; do
count=$((count+1))
if [ $count -ge 5 ]; then
echo "Timed out waiting for bridge interface"
fi
sleep 0.5
done
'';
};
};

View File

@ -30,7 +30,7 @@ let
print(f'usage: {sys.argv[0]} <qmp unix socket>', file=sys.stderr)
sys.exit(1)
if not os.path.exists(sys.argv[1]) and 'MAINPID' not in os.environ:
if 'MAINPID' not in os.environ:
# Special case: systemd is calling us after QEMU exited on its own
sys.exit(0)