Project

General

Profile

Bug #23137

DAQInterface should take advantage of the new valid/invalid configuration concept in artdaq_database

Added by John Freeman about 1 month ago. Updated 24 days ago.

Status:
Reviewed
Priority:
Normal
Assignee:
Category:
-
Target version:
-
Start date:
08/16/2019
Due date:
% Done:

100%

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

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 about 1 month 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 24 days 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.


Also available in: Atom PDF