nixos/colony: Hopefully fix estuary attempting to start early
This commit is contained in:
		@@ -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
 | 
			
		||||
            '';
 | 
			
		||||
          };
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user