From 88f7e8a7df99a7b101458f05cbcf4467dd596cd7 Mon Sep 17 00:00:00 2001 From: Dmitry Ozerov Date: Wed, 14 Oct 2020 15:10:53 +0200 Subject: [PATCH] setup scripts for retrieval machine --- setup_scripts/sf-daq_broker.service | 12 +++++++ setup_scripts/sf-daq_broker.start.sh | 10 ++++++ setup_scripts/sf-daq_writer.start.sh | 12 +++++++ setup_scripts/sf-daq_writer@.service | 12 +++++++ setup_scripts/sf_daq_broker.setup.sh | 54 ++++++++++++++++++++++++++++ setup_scripts/sf_daq_buffer.setup.sh | 19 ++++++++++ 6 files changed, 119 insertions(+) create mode 100644 setup_scripts/sf-daq_broker.service create mode 100755 setup_scripts/sf-daq_broker.start.sh create mode 100755 setup_scripts/sf-daq_writer.start.sh create mode 100644 setup_scripts/sf-daq_writer@.service create mode 100755 setup_scripts/sf_daq_broker.setup.sh create mode 100755 setup_scripts/sf_daq_buffer.setup.sh diff --git a/setup_scripts/sf-daq_broker.service b/setup_scripts/sf-daq_broker.service new file mode 100644 index 0000000..e243986 --- /dev/null +++ b/setup_scripts/sf-daq_broker.service @@ -0,0 +1,12 @@ +[Unit] +Description=SF DAQ broker + +[Service] +User=root +TimeoutStartSec=2 +ExecStart=/bin/bash ./home/dbe/service_scripts/sf-daq_broker.start.sh +Restart=on-failure +RestartSec=4 + +[Install] +WantedBy=multi-user.target diff --git a/setup_scripts/sf-daq_broker.start.sh b/setup_scripts/sf-daq_broker.start.sh new file mode 100755 index 0000000..29f87f5 --- /dev/null +++ b/setup_scripts/sf-daq_broker.start.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +export PATH=/home/dbe/miniconda3/bin:$PATH + +source /home/dbe/miniconda3/etc/profile.d/conda.sh + +conda deactivate +conda activate sf-daq + +taskset -c 0 python /home/dbe/git/sf_daq_broker/sf_daq_broker/broker.py diff --git a/setup_scripts/sf-daq_writer.start.sh b/setup_scripts/sf-daq_writer.start.sh new file mode 100755 index 0000000..2469069 --- /dev/null +++ b/setup_scripts/sf-daq_writer.start.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +export PATH=/home/dbe/miniconda3/bin:$PATH + +source /home/dbe/miniconda3/etc/profile.d/conda.sh + +conda deactivate +conda activate sf-daq + +M=$1 + +taskset -c $M python /home/dbe/git/sf_daq_broker/sf_daq_broker/writer/start.py --writer_id $M diff --git a/setup_scripts/sf-daq_writer@.service b/setup_scripts/sf-daq_writer@.service new file mode 100644 index 0000000..c21bdb4 --- /dev/null +++ b/setup_scripts/sf-daq_writer@.service @@ -0,0 +1,12 @@ +[Unit] +Description=SF DAQ writer + +[Service] +User=root +ExecStart=/bin/bash ./home/dbe/service_scripts/sf-daq_writer.start.sh %i +TimeoutStartSec=2 +Restart=on-failure +RestartSec=4 + +[Install] +WantedBy=multi-user.target diff --git a/setup_scripts/sf_daq_broker.setup.sh b/setup_scripts/sf_daq_broker.setup.sh new file mode 100755 index 0000000..5ee8362 --- /dev/null +++ b/setup_scripts/sf_daq_broker.setup.sh @@ -0,0 +1,54 @@ +#!/bin/bash + +# needed, otherwise executing with Ansible won't work +# see: https://github.com/conda/conda/issues/7267 +unset SUDO_UID SUDO_GID SUDO_USER + +if [ ! -f /home/dbe/miniconda3/bin/conda ] +then + echo "Getting Miniconda" + wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh + sh Miniconda3-latest-Linux-x86_64.sh -b -p /home/dbe/miniconda3 + + rm -rf Miniconda3-latest-Linux-x86_64.sh +fi + +# Setup the conda environment. +export PATH=/home/dbe/miniconda3/bin:$PATH + +source /home/dbe/miniconda3/etc/profile.d/conda.sh + +CONDA_ENV_NAME=sf-daq +envtest=$(conda env list | grep ${CONDA_ENV_NAME}) + +if [ $? != 0 ]; then + echo "Creating the ${CONDA_ENV_NAME} environment" + conda create -y -n ${CONDA_ENV_NAME} -c paulscherrerinstitute -c conda-forge data_api jungfrau_utils cadump + + conda deactivate + conda activate ${CONDA_ENV_NAME} + + conda install -y -c conda-forge bottle pika ujson + conda install -y -c slsdetectorgroup sls_detector +else + conda deactivate + conda activate ${CONDA_ENV_NAME} +fi + + +if [ ! -d /home/dbe/git ]; then + echo "No git repo found, cloning it..." + mkdir /home/dbe/git +fi + +REPO=sf_daq_broker +if [ ! -d /home/dbe/git/${REPO} ] +then + cd /home/dbe/git && git clone \ + https://github.com/paulscherrerinstitute/${REPO}.git + + echo "Setting up develop" + cd /home/dbe/git/${REPO} && python setup.py develop + +fi + diff --git a/setup_scripts/sf_daq_buffer.setup.sh b/setup_scripts/sf_daq_buffer.setup.sh new file mode 100755 index 0000000..b7de41c --- /dev/null +++ b/setup_scripts/sf_daq_buffer.setup.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +# needed, otherwise executing with Ansible won't work +# see: https://github.com/conda/conda/issues/7267 +unset SUDO_UID SUDO_GID SUDO_USER + +if [ ! -d /home/dbe/git ]; then + echo "No git repo found, cloning it..." + mkdir /home/dbe/git +fi + +REPO=sf_daq_buffer +if [ ! -d /home/dbe/git/${REPO} ]; then + cd /home/dbe/git && git clone https://github.com/paulscherrerinstitute/${REPO}.git + + source /opt/rh/devtoolset-9/enable + cd /home/dbe/git/${REPO} && mkdir -p build && cd build/ && cmake3 .. && make +fi +