Bug #23137
DAQInterface should take advantage of the new valid/invalid configuration concept in artdaq_database
100%
Description
As described in Issue #23008, Gennadiy's implemented functionality in artdaq_database such that a configuration can be marked "invalid". DAQInterface should take advantage of this functionality, throwing an exception if someone provides it the name of an invalid configuration on the config transition. Once this is done, we can deploy the updated DAQInterface on the ProtoDUNE cluster, since part of JIRA Issue 119 is "add support for DAQ run configurations to be marked invalid", and part of that support should be a (loud) failure if someone tries to use an invalid config.
History
#1 Updated by John Freeman over 1 year ago
- % Done changed from 0 to 100
- Status changed from New to Resolved
Resolved with commit 34cedad0243701a41b8d0eecb50113ed8c98dec1 at the head of the feature/issue23137_only_use_valid_configurations branch. The reviewer may be able to get away with a code inspection, although it would be good to follow the steps described in Issue #23008 to mask off a config and then try to pass it to DAQInterface. Getting DAQInterface to read configs in from artdaq_database rather than the local filesystem is described in the Manual at https://cdcvs.fnal.gov/redmine/projects/artdaq-utilities/wiki/Changing_the_source_of_the_configurations
#2 Updated by Ron Rechenmacher over 1 year ago
- Status changed from Resolved to Reviewed
Setup database:
... elif [[ "$DAQINTERFACE_FHICL_DIRECTORY" == "IGNORED" ]]; then #echo "Put code here which sets up the database environment" PRODUCTS=`awk '/^productsdir_for_bash_scripts:/{print$2}' $DAQINTERFACE_SETTINGS` IFSsav=$IFS; IFS=:; for pp in $PRODUCTS;do IFS=$IFSsav test -d $pp/ups -a -f $pp/setup && { . $pp/setup; break; } done setup artdaq_database v1_04_75 -q e17:prof:s82 export ARTDAQ_DATABASE_URI=mongodb://127.0.0.1/artdaqtest_db fi ...
loaded the demo simple test config a couple times. I marked one inactive.
Ran that config w/o feature/issue23137_only_use_valid_configurations and the run completed successfully.
Then ran with feature/issue23137_only_use_valid_configurations, specifying inactive config and daqinterface,
as expected, complained about the inactive config:
Mon Aug 26 15:36:46 CDT 2019: CONFIG transition underway Config name: mytest00002 Obtaining FHiCL documents...Traceback (most recent call last): File "/home/ron/work/artdaqPrj/demo0-v3_06_00/artdaq-utilities-daqinterface/rc/control/daqinterface.py", line 1767, in do_config tmpdir_for_fhicl, self.fhicl_file_path = self.get_config_info() File "/home/ron/work/artdaqPrj/demo0-v3_06_00/artdaq-utilities-daqinterface/rc/control/config_functions_database_v2.py", line 58, in get_config_i nfo_base raise Exception(make_paragraph("Error: (sub)config \"%s\" appears to have been masked off (i.e., it doesn't appear in a call to conftool.getLis tOfAvailableRunConfigurationsSubtractMasked given the flags file %s)" % (subconfig, tmpflagsfile))) Exception: Error: (sub)config "mytest00002" appears to have been masked off (i.e., it doesn't appear in a call to conftool.getListOfAvailableRunConfigurationsSubtractMasked given the flags file /tmp/database/6cb53177-348b-4c83-b44c-18505424935a/flags.fcl) An exception was thrown when calling get_config_info(); exception has been caught and system remains in the "booted" state Mon Aug 26 15:43:24 CDT 2019: TERMINATE transition underway
I've pushed the branch feature/issue23137_only_use_valid_configurations to develop.