Project

General

Profile

Feature #21202

It should be possible to repeat a run with a minimum of effort

Added by John Freeman 11 months ago. Updated 11 months ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
artdaq-daqinterface
Start date:
10/20/2018
Due date:
% Done:

100%

Estimated time:
Experiment:
-
Co-Assignees:
Duration:

Description

Frequently DAQ users will want to repeat a run- for testing purposes, etc. It's possible to do this with DAQInterface's just_do_it.sh script, but it requires a bit of work: the user needs to go into the run records to get a hold of the boot file and to look in the metadata.txt to figure out which configuration and components were used before calling just_do_it.sh. This process should be simplified.

History

#1 Updated by John Freeman 11 months ago

  • % Done changed from 0 to 80

With commit 40e6f22f35069ed29254fa66eeee1d8a53ca21a2 on DAQInterface's develop branch, the script "just_repeat_run.sh" has been added. Calling it's simple:

just_repeat_run.sh <run number to repeat> <seconds to run>

just_repeat_run.sh will do what's described in my description of the issue, and includes the expected error checking (such as whether or not the setup script listed in the boot file still exists).

One thing worth thinking about would be to add a --strict option, where the script would refuse to proceed / issue a warning if it found that the code had changed based on the versions/commit hashes saved in the run-to-be-replicated's metadata.txt file.

#2 Updated by John Freeman 11 months ago

  • Status changed from New to Work in progress

#3 Updated by John Freeman 11 months ago

  • Category set to artdaq-daqinterface
  • Status changed from Work in progress to Resolved
  • % Done changed from 80 to 100

I modified just_repeat_run.sh so that it will look at the metadata.txt file of the run that's intended to be repeated, and for those packages whose versions or git commit hashes were saved, if it determines that the code has been changed since the run-to-repeat was performed, it will refuse to execute. This looks something like the following:

Will look in record directory "/home/jcfree/run_records" for run 1458

Commit hash for artdaq package is different between that used for
run 1458 and the current git repo, /home/jcfree/artdaq-demo_sep27_2018/srcs/artdaq: 

Run 1458: 
ef83d9db44f700ab109f376bc0f04f884677219b "This is just to get another commit hash in place " 
Current repo: 
a722069d6e52676822f0090eb939c50618d352ef Add librt to link list

Version of boost package is different between that used for
run 1458 and the version currently setup by the setup script /home/jcfree/artdaq-demo_sep27_2018/setupARTDAQDEMO: 

Run 1458: 
v1_66_0thisissomethingImanuallyadded
Current version: 
v1_66_0

Since the code in the installation area which was used for run 1458
appears to have changed (details above), this attempt to repeat run
1458 will not proceed. To override this refusal because the change
in code is irrelevant to your reasons for repeating run 1458,
re-run the command with the --nostrict option added at the end. 

In order to override this behavior, the user can add the "--nostrict" option to the just_repeat_run.sh argument list, e.g., to repeat run 1458 without regard to changed code, and to run it for 10 seconds, one would do:
just_repeat_run.sh 1458 10 --nostrict



Also available in: Atom PDF