From e4e427b7f6d4f9d9f18e1ece0c5f3ee4eff266f6 Mon Sep 17 00:00:00 2001 From: Rodrigo Arias Mallo Date: Wed, 3 Feb 2021 12:08:25 +0100 Subject: [PATCH] garlicd: add daemon to launch experiments --- garlic/garlicd/garlicd | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100755 garlic/garlicd/garlicd diff --git a/garlic/garlicd/garlicd b/garlic/garlicd/garlicd new file mode 100755 index 0000000..c63216b --- /dev/null +++ b/garlic/garlicd/garlicd @@ -0,0 +1,33 @@ +#!/bin/bash + +if [ -z "$1" -o -z "$2" ]; then + >&2 echo "usage: garlicd " +fi + +bscpkgsdir=$(readlink -f "$1") +mountdir=$(readlink -f "$2") +run="$mountdir/run" +completed="$mountdir/completed" + +[ -p "$run" ] || mkfifo "$run" +[ -p "$completed" ] || mkfifo "$completed" + +cd "$bscpkgsdir" + +echo "Waiting for experiments..." + +while read -r line < "$run"; do + echo Attempting to run: $line + + echo Copying files to MN4... + nix copy --to ssh://mn1 $line + results=$(garlic -RFv $line) + echo "The results are: $results" + drv=$(nix-store -q --deriver $results) + echo "drv = $drv" + if [ -z "$drv" ]; then + echo "Something failed, drv is empty. Check the logs." + else + echo -n "$drv" >> "$completed" + fi +done