System testing

From HELIOS Digital DAQ
Jump to: navigation, search

Now that we have a working system and Digitizer Tester, we need to learn and test the attributes of the system. To do this, a list of possible test needs are below. These should be organized and the work divided for people to gain experience as well.

Developments underway

RSYNC daemon for mirror [MAC]

Trying to mirror between data disk and the mac via an rsync server...

1) create the configuration file /etc/rsyncd.conf

2) Setup rsyncd.conf file

pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsync.log
port = 12000

[digiosdata]
path = /media/DIGIOSDATA2/data/infl001
comment = RSYNC DATA FILES
read only = true
timeout = 300
#auth users = helios,dgs
#secrets file = /etc/rsyncd.secrets -> promted for psswrd for some reason??

pid file: The process id file the daemon uses. lock file: The daemon lock file. log file: The location of the log file. port: If you do not want the rsync daemon to run on its default port (873) then you may specify a new port here. Make sure this port is open in your firewall. Rsync uses the TCP protocol for its transfers. [files]: This is the module name. The name used here is what you’ll be putting in the rsync pull command as the first part of the source (/files/../..). You can name it what you’d like and can have as many as you’d like. path: The file path for files associated with this module. comment: Descriptive comment for this module. read only: This tells the daemon the directory for this module is read-only. You cannot upload to it. For upload only, use upload only = true. timeout: Time, in seconds, the rsync daemon will wait before terminating a dead conenction. This is just a basic configuration. For a more detailed list of options, see the manual page.

3) Start Daemon

[root@digios1 ~]# rsync --daemon
[root@digios1 ~]# ps x | grep rsync
21494 ?        Ss     0:00 rsync --daemon
21496 pts/10   S+     0:00 grep rsync
[root@digios1 ~]# kill `cat /var/run/rsyncd.pid`
[root@digios1 ~]# ps x | grep rsync
21509 pts/10   S+     0:00 grep rsync
[root@digios1 ~]#

4) Transfer data (syncing!) - remove --delete for copying only.

rsync -rtuh --delete --progress rsync://root@192.168.1.2:12000/digiosdata .

5) Adding users and psswrds [helios username seemed to work without changing .conf file so will not mod at this point.] Need users to start daemon i think. Added to the .conf file above -> did not allow starting of daemon by user [helios], kept prompting for psswrd so removed it.


6) setting up some automation bash file sync_data.sh in working keeps mirror at 5 second interval...add to cron?

#!/bin/bash
ATTEMPTS=0

while [ "${ATTEMPTS}" -lt "100" ];
do
    rsync -rtuh --delete --progress rsync://helios@192.168.1.2:12000/digiosdata /Users/heliosdigios/experiments/infl001_19O/data/.
    ATTEMPTS=$(expr ${ATTEMPTS} + 1)
sleep 5
done

Universal Python Scripts

Did not work because unsure about which csv is correct and also the difference between master and slave digitzers was not defined... Working with python scripts to develop universal and clean generation of cmd's, db's, templates, drivers etc. At the same time, trying to understand where and when all HELIOS files are / come from. So far, I have changed:

/global/devel/gretTop/9-22/dgsIoc/iocBoot/iocArray
vme0*.HELIOS.cmd

setup a co of the /output/ svn inside of the above directory just for the .cmd and cdCommands_HELIOS files

and (but in some strange place that does not seem to be called by the .cmd's). So also trying to put them

/global/devel/gretTop/9-22/dgsIoc/db
dgsGlobals_HELIOS_VME0*.db
dgsGlobals_HELIOS_GLBL.db

setup a co of the /output/ svn inside here as well for only the dgsGlobals_HELIOS*.db files

Not sure which .csv file to use. Notice a diff in 20160602 to 201611XX of the MasterDigitizerRegisterMap.csv (but not the MDRM.csv) ?? Try the 20160602 one...?? Seems to match what was done it the 20160602 but db files do not match what was currently on the DIGIOS disk. Will have to try it and see...

On the local digios1 daq (with the development HD in place).

Look into templates, other db, etc.!!

List of tests to perform

No particular order at this point just vomiting ideas...

  • Data collection:
i) single channel ii) multiple channels iii) HELIOS-like input data to multiple channels iv) across a number of digitizers
  • Data processing:
i) GEBMerge and GEBSort tests ii) simple data processing framework iii) online??
  • Full feature tests:
i) GammaWare buttons do what they are supposed to and are understood ii) equivalent epics commands are identified and tested iii) Bug Reports
  • Trigger tests:
i) how to implement trigger system tests into data ii) HELIOS-like multi-channel input tests
  • Rate tests:
i) trigger and channel rate tests of both low and high rate data ii) data throughput checks and throttle checks iii) total disk space usage for typical experiment

TRACES Trace EDM window plots DAQ$(CR)_CS_Trace where CR = VME# (1,2,3....)

Values for TraceBd, TraceLen, TraceChan, etc set in screen, where are these in a file? Start search:

 cd "/global/devel/gretTop/9-22/dgsIoc/iocBoot/iocArray/"