From edacfcc9f2dab9d97a1deb270ebf7c60b2f2233b Mon Sep 17 00:00:00 2001 From: Dmitry Ozerov Date: Mon, 26 Jul 2021 10:30:59 +0200 Subject: [PATCH] incorporate detector writer into ansible --- operation-tools/install_broker_node.yml | 9 +++++++++ operation-tools/inventories/sf-daq | 8 ++++++-- .../sf-daq_detector_retrieve_writer.start.sh | 16 ++++++++++++++++ .../sf-daq_detector_retrieve_writer@.service | 12 ++++++++++++ .../sf-daq_detector_retrieve_writers.service | 11 +++++++++++ operation-tools/templates/sf-daq_writer.start.sh | 2 +- 6 files changed, 55 insertions(+), 3 deletions(-) create mode 100644 operation-tools/templates/sf-daq_detector_retrieve_writer.start.sh create mode 100644 operation-tools/templates/sf-daq_detector_retrieve_writer@.service create mode 100644 operation-tools/templates/sf-daq_detector_retrieve_writers.service diff --git a/operation-tools/install_broker_node.yml b/operation-tools/install_broker_node.yml index f1b9305..179d0dd 100644 --- a/operation-tools/install_broker_node.yml +++ b/operation-tools/install_broker_node.yml @@ -19,6 +19,7 @@ with_items: - { src: 'templates/sf-daq_broker.start.sh', dest: '/home/dbe/service_scripts/sf-daq_broker.start.sh' } - { src: 'templates/sf-daq_writer.start.sh', dest: '/home/dbe/service_scripts/sf-daq_writer.start.sh' } + - { src: 'templates/sf-daq_detector_retrieve_writer.start.sh', dest: '/home/dbe/service_scripts/sf-daq_detector_retrieve_writer.start.sh' } - name: install service files for all services become_user: root @@ -27,6 +28,8 @@ - { src: 'templates/sf-daq_broker.service', dest: '/etc/systemd/system/sf-daq_broker.service' } - { src: 'templates/sf-daq_writer@.service', dest: '/etc/systemd/system/sf-daq_writer@.service' } - { src: 'templates/sf-daq_writers.service', dest: '/etc/systemd/system/sf-daq_writers.service' } + - { src: 'templates/sf-daq_detector_retrieve_writer@.service', dest: '/etc/systemd/system/sf-daq_detector_retrieve_writer@.service' } + - { src: 'templates/sf-daq_detector_retrieve_writers.service', dest: '/etc/systemd/system/sf-daq_detector_retrieve_writers.service' } - import_playbook: install_sf_daq_buffer.yml vars: @@ -62,4 +65,10 @@ state=started name=sf-daq_writers.service daemon_reload=yes + - name: start sf-daq_detector_retrieve_writers service + systemd: + state=started + name=sf-daq_detector_retrieve_writers.service + daemon_reload=yes + diff --git a/operation-tools/inventories/sf-daq b/operation-tools/inventories/sf-daq index 361be6b..d2f660c 100644 --- a/operation-tools/inventories/sf-daq +++ b/operation-tools/inventories/sf-daq @@ -12,14 +12,18 @@ sf-daq-1.psi.ch [broker_test:vars] minutes_cleanup=40 -number_of_writers=9 +number_of_writers=8 +number_of_detector_retrieve_writers=10 +detector_retrieve_cores="9,10,11,12,13,14,15,16,17,35,34,33,32,31,30,29,28,27,26,25,24,23,22,21,20,19,18" [broker_production] sf-daq-2.psi.ch [broker_production:vars] minutes_cleanup=10 -number_of_writers=9 +number_of_writers=8 +number_of_detector_retrieve_writers=10 +detector_retrieve_cores="9,10,11,12,13,14,15,16,17,35,34,33,32,31,30,29,28,27,26,25,24,23,22,21,20,19,18" [sf_daq_bernina] sf-daq-3.psi.ch diff --git a/operation-tools/templates/sf-daq_detector_retrieve_writer.start.sh b/operation-tools/templates/sf-daq_detector_retrieve_writer.start.sh new file mode 100644 index 0000000..406e808 --- /dev/null +++ b/operation-tools/templates/sf-daq_detector_retrieve_writer.start.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +if [ $# != 1 ] +then + systemctl start sf-daq_detector_retrieve_writer@{01..{{ number_of_detector_retrieve_writers}}} + exit +fi + +source /home/dbe/miniconda3/etc/profile.d/conda.sh +conda deactivate +conda activate sf-daq + +M=$1 +C={{ detector_retrieve_cores }} + +taskset -c $C python /home/dbe/git/sf_daq_broker/sf_daq_broker/writer/start.py --writer_id $M --writer_type 1 diff --git a/operation-tools/templates/sf-daq_detector_retrieve_writer@.service b/operation-tools/templates/sf-daq_detector_retrieve_writer@.service new file mode 100644 index 0000000..597ea06 --- /dev/null +++ b/operation-tools/templates/sf-daq_detector_retrieve_writer@.service @@ -0,0 +1,12 @@ +[Unit] +Description=SF DAQ detector writer + +[Service] +User=root +ExecStart=/bin/bash ./home/dbe/service_scripts/sf-daq_detector_retrieve_writer.start.sh %i +TimeoutStartSec=2 +Restart=on-failure +RestartSec=4 + +[Install] +WantedBy=multi-user.target diff --git a/operation-tools/templates/sf-daq_detector_retrieve_writers.service b/operation-tools/templates/sf-daq_detector_retrieve_writers.service new file mode 100644 index 0000000..89e4ad4 --- /dev/null +++ b/operation-tools/templates/sf-daq_detector_retrieve_writers.service @@ -0,0 +1,11 @@ +[Unit] +Description=All sf-daq_writers detector writers (retreive and conversion) + +[Service] +Type=oneshot +ExecStart=/usr/bin/sh /home/dbe/service_scripts/sf-daq_detector_retrieve_writer.start.sh +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target + diff --git a/operation-tools/templates/sf-daq_writer.start.sh b/operation-tools/templates/sf-daq_writer.start.sh index f1c3cc3..881b331 100644 --- a/operation-tools/templates/sf-daq_writer.start.sh +++ b/operation-tools/templates/sf-daq_writer.start.sh @@ -2,7 +2,7 @@ if [ $# != 1 ] then - systemctl start sf-daq_writer@{00..{{ number_of_writers}}} + systemctl start sf-daq_writer@{01..{{ number_of_writers}}} exit fi