-
Notifications
You must be signed in to change notification settings - Fork 1
dunedaq v2.11.0 k8s
A prototype of dunedaq running in a kubernetes cluster
Log on np04-srv-015
and run:
mkdir -p $HOME/.kube
cp -i /nfs/home/np04daq/np04-kubernetes/config $HOME/.kube/config
Then:
mkdir dunedaq-k8s
source /cvmfs/dunedaq.opensciencegrid.org/setup_dunedaq.sh
setup_dbt dunedaq-v2.11.0-cs8
dbt-create.py dunedaq-v2.11.0-cs8 swdir
cd swdir/sourcecode
git clone https://github.com/DUNE-DAQ/restcmd.git
dbt-workarea-env
dbt-build.py
cd ../
git clone https://github.com/DUNE-DAQ/nanorc.git -b plasorak/k8s-dunedaq-v2.11.0
cd nanorc
pip install .
cd ../
mkdir runarea
daqconf_multiru_gen daq
Next, you need to add the image in the configuration, for that, add the line
"image": "pocket-daq-area-cvmfs:v2.11.0",
(don't forget the comma!) after the line:
"exec": {
"daq_application": {
"cmd": [
"CMD_FAC=rest://localhost:${APP_PORT}",
"INFO_SVC=file://info_${APP_NAME}_${APP_PORT}.json",
"cd ${APP_WD}",
"daq_application --name ${APP_NAME} -c ${CMD_FAC} -i ${INFO_SVC}"
],
"comment": "Application profile using PATH variables (lower start time)",
"image": "pocket-daq-area-cvmfs:v2.11.0",
in daq/boot.json
.
Then:
curl -o frames.bin -O https://cernbox.cern.ch/index.php/s/7qNnuxD8igDOVJT/download
nanorc --pm k8s://np04-srv-015:31000 daq
[...]
boot partition-name
init
[...]
Potentially needed if software needs to be changed, or if applications are not answering (this means the images isn't correct, and):
git clone [email protected]:DUNE-DAQ/pocket.git
cd pocket/images/daq_application/daq_area_cvmfs
./build.sh where/swdir/is
Then export the image with docker export...
log on to the node of the cluster on which the image needs to be updated, and run docker import ...
How to get logs: First, open a new terminal window on np04-srv-015, on which k8s is installed so one can do:
kubectl get pods -n <partition_name>
Note: partition_name can be given as a parameter to the nanorc boot command: boot <partition_name>
.
For example, when partition_name is "plasorak":
kubectl get pods -n plasorak
NAME READY STATUS RESTARTS AGE
dataflow0-84d77d48c9-mcbq9 1/1 Running 0 66s
...
And you can use the pod name with the kubectl logs
command:
kubectl logs dataflow0-84d77d48c9-mcbq9 -n plasorak