# Updated Instructions for using file transfer service with SNBModules ## Introduction A technical description of the package can be found [here](https://github.com/DUNE-DAQ/snbmodules/wiki/Technical-Documentation). Additionally, you may find the following resources useful. 1. Relevant talks can be found [here](https://indico.fnal.gov/event/60110/contributions/268713/attachments/167816/224207/Bookkeeper_data_transfer_plugins.pdf) and [here](https://indico.fnal.gov/event/59587/contributions/265469/attachments/166418/221652/SNB%20-%20Bookkeeper%20data%20transfer%20component.pdf) 2. GitHub repo [`DUNE-DAQ/snbmodules`](https://github.com/DUNE-DAQ/snbmodules) 3. [Wiki pages](https://github.com/DUNE-DAQ/snbmodules/wiki) 4. Persons to contact for help: Eric Flumerfelt, Roland Sipos. Outdated: [previous instructions](https://hackmd.io/V6pXKEKoTUqaH1Kc6ykGdg). ## Installation The required external software packages as well as the `snbmodules` pacakge itself have been integrated into the standard DAQ release. They have all been deployed on cvmfs. There is no installation of pacakges required. The external packages installed include: `go`, `rclone`, `libtorrent`. The develop HEAD of `snbmodules` and the latest tagged version (since `dunedaq-v4.2.0`) has its `CMakeLists.txt` modified to use the external packages deployed on cvmfs. To use the snbmodules and external pacakges from a DAQ release (e.g. `fddaq-v4.2.0`), do the following: ```bash source /cvmfs/dunedaq.opensciencegrid.org/setup_dunedaq.sh setup_dbt fddaq-v4.2.0 dbt-setup-release fddaq-v4.2.0-a9 # for AlmaLinux 9 nodes ``` Run a local RClone server (change the IP and port number as needed, more details can be found [here](https://rclone.org/commands/rclone_serve_http/#server-options)): `./rclone serve http / --addr IP_OF_UPLOADER_CLIENT:8080 --buffer-size '0' --no-modtime --transfers 200 -v --multi-thread-cutoff=50G --multi-thread-streams=16` ## Configuration [A set of configuration files](https://github.com/DUNE-DAQ/snbmodules/tree/ljoly-devarea/snbconfig) are provided in the repository now. Detailed descriptions and instrustions can be found on [this wiki page](https://github.com/DUNE-DAQ/snbmodules/wiki/Configuration). ## Running After you made modifcations to the example configuration file to suit your local environment, you can run the `snbmodules` with `nanorc` like the following: ```bash nanorc <path/to/snbconfig> snb boot conf start <Run No> # e.g. start 1 ``` ### Transfer files Once `nanorc` has a run going with snbmodules, and `rclone` server is up, one can start sending commands to the application. [This script](https://github.com/DUNE-DAQ/snbmodules/blob/leo-initial-merge/snbconfig/commands/command_generator.sh) provides a quick and easy way to do so. More details can be found on [this page](https://github.com/DUNE-DAQ/snbmodules/wiki/Transfers).