Skip to content

Checking Declaration Daemon Works

Steven Timm edited this page Jun 22, 2024 · 7 revisions

The Declaration Daemon lives on machines protodune-declad-np04.cern.ch and protodune-declad-np02.cern.ch and runs as user "np04data". All DUNE data management operations personnel should be able to log into this VM as root and as np04data.

There are two declaration daemons, protodune-declad-np04 and protodune-declad-np02. Despite their names either one of them can and sometimes does process data from each experiment

The Declaration Daemon copies the file to the anticipated location in EOS where it will be stored by rucio. It then declares to SAM, MetaCat, and Rucio in that order. The daemons are currently configured to make rules to send data to CERN_PDUNE_CASTOR (now CTA tape), DUNE_CERN_EOS (local disk at CERN), and FNAL_DCACHE. (tape-backed r-w pool at fermilab)

It is configured to watch the dropbox /eos/experiment/neutplatform/protodune/dune/dropbox/np04 ( protodune-declad-np04) and /eos/experiment/neutplatform/protodune/dune/dropbox/np02 (protodune-declad-np02)

It processes all files in said dropbox which have a data file and a json file.

It is installed in /home/np04data/declad/current (with current being a symlink to the running version).


np04data 14124     1  0 17:36 pts/1    00:01:55 python3 current/declad.py -c config/config.yaml -d

To kill it, just kill the declad.py process

To restart it


cd /home/np04data/declad
./start.sh

The logs are all in the "logs" directory

State can be read from the web UI

Everywhere else make an ssh tunnel. following instructions here Making an ssh tunnel to CERN (and the NGINX server)

If nothing is happening: Check the logs, look for metacat errors

May need to do a metacat login (but note that one is done for you automatically once per day in cron)

export X509_USER_PROXY=/tmp/x509up_u102798
metacat -s https://metacat.fnal.gov:9443/dune_meta_prod/app -a https://metacat.fnal.gov:8143/auth/dune  auth login -m x509 dunepro 

If the above fails then metacat could be down, file a service desk ticket at https://fermi.servicenowservices.com

If a declare to Rucio fails then the file will probably be quarantined and it and its json file will be put in the quarantine subdirectory of the dropbox.

Note that the declaration daemon only scans the explicit directory of its dropbox and not all the subdirectories.

Clone this wiki locally