From 20882c211b9162f46693c4339c8da9ecb9ea23b1 Mon Sep 17 00:00:00 2001 From: Jan David Mol <mol@astron.nl> Date: Thu, 6 Jun 2019 11:48:49 +0000 Subject: [PATCH] ROHD-1840: Use NFS to share parsets across instances. This also works for tests, as those run only on a single machine. --- .../GPUProc/src/scripts/Cobalt_install.sh | 4 ++++ .../GPUProc/src/scripts/runObservation.sh | 21 +------------------ SubSystems/Online_Cobalt/test/testFuncs.sh.in | 1 + 3 files changed, 6 insertions(+), 20 deletions(-) diff --git a/RTCP/Cobalt/GPUProc/src/scripts/Cobalt_install.sh b/RTCP/Cobalt/GPUProc/src/scripts/Cobalt_install.sh index 221e0acf262..77650bebd39 100755 --- a/RTCP/Cobalt/GPUProc/src/scripts/Cobalt_install.sh +++ b/RTCP/Cobalt/GPUProc/src/scripts/Cobalt_install.sh @@ -41,6 +41,10 @@ ln -sfT ~lofarsys/lofar-userdata/var var # Sym link installed etc/parset-additions.d/override to common location. ln -sfT ~lofarsys/lofar-userdata/parset-overrides etc/parset-additions.d/override +# Sym link installed var/ to NFS location. +ln -sfT /opt/shared/lofar-userdata nfs + + # Set capabilities so our soft real-time programs can elevate prios. # # cap_sys_nice: allow real-time priority for threads diff --git a/RTCP/Cobalt/GPUProc/src/scripts/runObservation.sh b/RTCP/Cobalt/GPUProc/src/scripts/runObservation.sh index 8745d4189b7..a6a3e26e698 100755 --- a/RTCP/Cobalt/GPUProc/src/scripts/runObservation.sh +++ b/RTCP/Cobalt/GPUProc/src/scripts/runObservation.sh @@ -183,7 +183,7 @@ rm -f $FEEDBACK_FILE if [ "$AUGMENT_PARSET" -eq "1" ] then - AUGMENTED_PARSET=$LOFARROOT/var/run/rtcp-$OBSID.parset + AUGMENTED_PARSET=$LOFARROOT/nfs/parset/rtcp-$OBSID.parset # Add static keys # Ignore sneaky .cobalt/ parset overrides in production (lofarsys). @@ -444,25 +444,6 @@ fi echo "[cobalt] Hosts = $HOSTS" -# Copy parset to all hosts -cksumline=`md5sum $PARSET` -for h in `echo $HOSTS | tr ',' ' '` -do - # Ignore empty hostnames - [ -z "$h" ] && continue; - - # Ignore hostnames that point to us - [ "$h" == "localhost" ] && continue; - [ "$h" == "`hostname`" ] && continue; - - # Ignore hosts that already have the same parset (for example, through NFS). - timeout $KILLOPT 5s ssh -o StrictHostKeyChecking=no -qn $h "[ -f $PARSET ] && echo \"$cksumline\" | md5sum -c --status" && continue - - # Copy parset to remote node - echo "Copying parset to $h:$PARSET" - timeout $KILLOPT 30s scp -o StrictHostKeyChecking=no -Bq $PARSET $h:$PARSET || error "[parset] Could not scp parset to $h" -done - # ************************************ # Start rtcp # *********************************** diff --git a/SubSystems/Online_Cobalt/test/testFuncs.sh.in b/SubSystems/Online_Cobalt/test/testFuncs.sh.in index 0a8bf55b4a3..5c5f07b3925 100755 --- a/SubSystems/Online_Cobalt/test/testFuncs.sh.in +++ b/SubSystems/Online_Cobalt/test/testFuncs.sh.in @@ -17,6 +17,7 @@ error() # Create runtime output directories if not exists. # Not done at build, because it is a post-install setting. Different in production. mkdir -p "$LOFARROOT/var/log" "$LOFARROOT/var/run" || error "Failed to create runtime output directories" +mkdir -p "$LOFARROOT/nfs/parset/" || error "Failed to create shared directories" mkdir -p "$LOFARROOT/etc/parset-additions.d/override" || error "Failed to create runtime input directories" # Set all locales to "C" to avoid problems with, e.g., perl. -- GitLab