ENH Add option to specify CNF for LCLS2 hutches. Restart/stop AMI only for LCLS2 Hutches. #216
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Adds a
--cnf
option torun_daq_utils.py
which is passed todaq_utils.DaqManager
. This allows us to indicate which cnf file to use for restarting/stopping the DAQ in LCLS2 hutches.Currently, this is used for:
startami
andstopami
scripts have been updated accordingly.restartdaq
.restartdaq -C <CNF>
will now work for LCLS2 hutches.stopdaq
will still work as previously, assuming both CNFs have imported from the same "master/main" cnf.NOTE: After this PR the
startami
andstopami
scripts will perform the following depending on hutch:startami
: Restart AMI1 in LCLS1 hutches AMI2 in LCLS2 hutchesstopami
: Stop AMI1 in LCLS1 hutches, and AMI2 in LCLS2 hutchesFor AMI2 running in LCLS1 hutches a separate script is needed, e.g. as being introduced in #212
NOTE:
stopami
was not currently working for LCLS1 hutches (startami
was.). This PR introduces a minor fix for that.For starting and stopping AMI in LCLS2 hutches, a new standard has been introduced where each hutch will have a
$HUTCH_ami.py
cnf file. This cnf inherits only the AMI processes from the main CNF. This allows it to be used to restart AMI independently of the rest of the DAQ processes.Examples of this cnf are:
RIX:
TMO:
TXI:
Motivation and Context
Initially motivated by the need to have a standard way of restarting AMI (and AMI ONLY) across the LCLS2 hutches. This PR's cnf feature also provides a mechanism to allow restarting QRIX and ChemRIX DAQs independently from the same hutch if they are differentiated by different configuration files.
How Has This Been Tested?
Testing
startami
andstopami
in LCLS2 hutchesTested by starting the DAQ with appropriate paths modified to point to the modified
daqutils
to ensure that the modified version is called. The specific changes (not included in the PR) are, for example forstartami
.This was needed to prevent picking up the standard/central installation of
engineering_tools
. There were other alternatives (modifying paths, startup shell scripts for opr scripts etc...)The checkout of this branch was located at
~txiopr/scripts/engineering_tools
for all testing.This was tested in the LCLS2 hutches running from the
$HUTCH-daq
machines using the operator account.Note that the startami scripts pick up different cnf files.
TXI:
RIX:
TMO:
Verifying
startami
andstopami
in LCLS1 hutchesThe code affecting LCLS1 hutches was modified to bring it in line with spellcheck requirements. The
stopami
script was previously not working and now is.MFX:
XCS:
Verifying
restartdaq -C <cnf>
andstopdaq
TXI:
RIX:
NOTE :
stopdaq
will try and stoprix.py
but this is fine since bothqrix.py
andcrix.py
are derived from it.Verifying
restartdaq
spellcheck changes haven't affected LCLS1 hutchesMFX:
XCS:
Where Has This Been Documented?
Updated README for behaviour of
startami
andstopami
.Screenshots (if appropriate):
After
stopami
in MFXAfter
startami
again, in MFXAfter
stopami
in XCSAfter
startami
again, in XCS