diff --git a/site_ansto/instrument/compareSICS.py b/site_ansto/instrument/compareSICS.py index a266ba85..fe565bcf 100755 --- a/site_ansto/instrument/compareSICS.py +++ b/site_ansto/instrument/compareSICS.py @@ -96,7 +96,7 @@ def load_manifest(theManifest): right = right[len(assignment_map["DESTDIR"]):] while right.startswith("/"): right = right[1:] - prefix = "newserver/" + prefix = right.split("/", 1)[0] + "/" #"newserver/" if right.startswith(prefix): right = right[len(prefix):] else: diff --git a/site_ansto/instrument/deploySICS.sh b/site_ansto/instrument/deploySICS.sh index 4d7d6281..cd937a5a 100755 --- a/site_ansto/instrument/deploySICS.sh +++ b/site_ansto/instrument/deploySICS.sh @@ -100,6 +100,7 @@ fi SRCDIR="." TEMPDIR=$HOME/tmp +NEWSERVER="server_$(date +%Y%m%d_%H%M)" # We allow the instrument to be specified as either the animal name or the # mnemonic as we have to map between the two. This is because the source @@ -187,23 +188,24 @@ fi # remove and recreate the temporary directory rm -fr $TEMPDIR/$DESTDIR -mkdir -p $TEMPDIR/$DESTDIR/newserver -FILEMAP=$TEMPDIR/$DESTDIR/newserver/FILEMAP.TXT +mkdir -p $TEMPDIR/$DESTDIR/${NEWSERVER} +ln -s ${NEWSERVER} $TEMPDIR/$DESTDIR/newserver +FILEMAP=$TEMPDIR/$DESTDIR/${NEWSERVER}/FILEMAP.TXT init_file_map # Notify progress and intention echo "Deploying $INSTRUMENT to $DESTHOST:$DESTDIR" # Set up the commands that we will be using for the "deploy" phase -EXTRACT_CMDS="tar vxzp -C /; touch /$DESTDIR/{DataNumber,extraconfig.tcl,newserver/config/nexus/nexus.dic,script_validator/DataNumber}" +EXTRACT_CMDS="tar vxzp -C /; touch /$DESTDIR/{DataNumber,extraconfig.tcl,${NEWSERVER}/config/nexus/nexus.dic,script_validator/DataNumber}" if [[ "$DESTHOST" = "localhost" ]] then EXTRACT=$EXTRACT_CMDS EXTRACT_NODEPLOY=$EXTRACT_CMDS elif [[ "$TESTING" != "test" ]] then -EXTRACT="ssh $DESTHOST $EXTRACT_CMDS; chown -R root:root /$DESTDIR/newserver; chown ${INSTRUMENT}_sics. /$DESTDIR/{DataNumber,newserver/config/nexus/nexus.dic,script_validator/{DataNumber,data}}; chown ${INSTRUMENT}. /$DESTDIR/extraconfig.tcl" -EXTRACT_NODEPLOY="ssh $DESTHOST $EXTRACT_CMDS; chown -R root:root /$DESTDIR/newserver; chown ${INSTRUMENT}_sics. /$DESTDIR/{DataNumber,newserver/config/nexus/nexus.dic}; chown ${INSTRUMENT}. /$DESTDIR/extraconfig.tcl" +EXTRACT="ssh $DESTHOST $EXTRACT_CMDS; chown -R root:root /$DESTDIR/${NEWSERVER}; chown ${INSTRUMENT}_sics. /$DESTDIR/{DataNumber,${NEWSERVER}/config/nexus/nexus.dic,script_validator/{DataNumber,data}}; chown ${INSTRUMENT}. /$DESTDIR/extraconfig.tcl" +EXTRACT_NODEPLOY="ssh $DESTHOST $EXTRACT_CMDS; chown -R root:root /$DESTDIR/${NEWSERVER}; chown ${INSTRUMENT}_sics. /$DESTDIR/{DataNumber,${NEWSERVER}/config/nexus/nexus.dic}; chown ${INSTRUMENT}. /$DESTDIR/extraconfig.tcl" else EXTRACT="ssh $DESTHOST $EXTRACT_CMDS" EXTRACT_NODEPLOY="ssh $DESTHOST $EXTRACT_CMDS" @@ -227,19 +229,19 @@ COMMON=$(for f in $(cat $SRCDIR/MANIFEST.TXT); do echo -n "$SRCDIR/$f "; done) INSTSPEC=$(for f in $(cat $INSTSRC/MANIFEST.TXT); do echo -n "$INSTSRC/$f "; done) # Create Instrument Control Server directories and copy SICS configs to the 'server' directory -mkdir -p $TEMPDIR/$DESTDIR/{batch,newserver,log,tmp} -copy_server_config newserver -cp -v -a --preserve=timestamps ../SICServer $TEMPDIR/$DESTDIR/newserver >>$FILEMAP +mkdir -p $TEMPDIR/$DESTDIR/{batch,${NEWSERVER},log,tmp} +copy_server_config ${NEWSERVER} +cp -v -a --preserve=timestamps ../SICServer $TEMPDIR/$DESTDIR/${NEWSERVER} >>$FILEMAP # Create Script Validator directories mkdir -p $TEMPDIR/$DESTDIR/script_validator/{data,log,tmp} # Create a manifest of the files installed on the IC host -echo "Date: $(date -Iminutes)" > $TEMPDIR/$DESTDIR/newserver/DEPLOYMENT.TXT -echo "User: $USER" >> $TEMPDIR/$DESTDIR/newserver/DEPLOYMENT.TXT +echo "Date: $(date -Iminutes)" > $TEMPDIR/$DESTDIR/${NEWSERVER}/DEPLOYMENT.TXT +echo "User: $USER" >> $TEMPDIR/$DESTDIR/${NEWSERVER}/DEPLOYMENT.TXT DEPLOYED_VERSION="$(bash ../extract_version.sh all)" -echo "Version:" $DEPLOYED_VERSION >> $TEMPDIR/$DESTDIR/newserver/DEPLOYMENT.TXT -cat $SRCDIR/MANIFEST.TXT $SRCDIR/$INSTSRC/MANIFEST.TXT > $TEMPDIR/$DESTDIR/newserver/MANIFEST.TXT +echo "Version:" $DEPLOYED_VERSION >> $TEMPDIR/$DESTDIR/${NEWSERVER}/DEPLOYMENT.TXT +cat $SRCDIR/MANIFEST.TXT $SRCDIR/$INSTSRC/MANIFEST.TXT > $TEMPDIR/$DESTDIR/${NEWSERVER}/MANIFEST.TXT cd $TEMPDIR # remove any .svn directories