Commit e80e9bda authored by Alberto Miranda's avatar Alberto Miranda ♨️
Browse files

Add systemd service scripts

parent b8de023a
Loading
Loading
Loading
Loading
+25 −1
Original line number Diff line number Diff line
@@ -23,16 +23,19 @@

ACLOCAL_AMFLAGS = -I m4

SUBDIRS = lib examples
SUBDIRS = etc lib examples

DIST_SUBDIRS = lib examples

bin_PROGRAMS = src/urd

CLEANFILES = $(builddir)/src/defaults.cpp

src_urd_SOURCES = 			\
	src/ipc-listener.hpp	\
	src/backends.cpp        \
	src/backends.hpp        \
	src/defaults.hpp		\
	src/nvml-dax.cpp        \
	src/nvml-dax.hpp        \
	src/main.cpp			\
@@ -45,6 +48,12 @@ src_urd_SOURCES = \
	src/utils.cpp			\
	src/utils.hpp

nodist_src_urd_SOURCES = \
	src/defaults.cpp

BUILT_SOURCES = 	\
	src/defaults.hpp

src_urd_CXXFLAGS = 				\
	@TBB_CFLAGS@ 				\
	-std=gnu++11 -Wall -Wextra
@@ -66,3 +75,18 @@ src_urd_LDFLAGS = \

src_urd_LDADD = 	\
	-lboost_system

$(builddir)/src/defaults.cpp: Makefile
	@( echo "/* This file autogenerated by Makefile */"; \
	   echo "#include \"defaults.hpp\""; \
	   echo ""; \
	   echo "namespace defaults {"; \
	   echo "    const char* progname           = \"urd\";"; \
	   echo "    const bool  daemonize          = true;"; \
	   echo "    const char* running_dir        = \"/tmp\";"; \
	   echo "    const char* ipc_sockfile       = \"/tmp/urd.socket\";"; \
	   echo "    const char* daemon_pidfile     = \"/tmp/urd.pid\";"; \
	   echo "    const uint32_t workers_in_pool = std::thread::hardware_concurrency();"; \
	   echo "    const char* config_file        = \"$(sysconfdir)/norns.conf\";"; \
	   echo "} // namespace defaults"; \
	 ) > $@
+14 −0
Original line number Diff line number Diff line
Norns Data Scheduler
====================

Dependencies:

- Intel TBB
yum install tbb-devel

- Installation in CentOS 7
cd <build-dir>
./configure --prefix=<install-dir> --sysconfdir=<config-dir>
make
make install
cp <build-dir>/etc/norns.service /usr/lib/systemd/system/norns.service

+1 −0
Original line number Diff line number Diff line
@@ -88,6 +88,7 @@ AC_CHECK_HEADER_STDBOOL
# Checks for library functions.
AC_CONFIG_FILES([
        Makefile
        etc/Makefile
        lib/Makefile
        examples/Makefile])
AC_OUTPUT

etc/Makefile.am

0 → 100644
+38 −0
Original line number Diff line number Diff line
# Copyright (C) 2017 Barcelona Supercomputing Center
#                    Centro Nacional de Supercomputacion
#
# This file is part of the Data Scheduler, a daemon for tracking and managing
# requests for asynchronous data transfer in a hierarchical storage environment.
#
# See AUTHORS file in the top level directory for information
# regarding developers and contributors.
#
# The Data Scheduler is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Data Scheduler is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with Data Scheduler.  If not, see <http://www.gnu.org/licenses/>.
#

ETC_FILES = norns.service

CLEANFILES=$(ETC_FILES)

edit = sed \
        -e 's|@bindir[@]|$(bindir)|g' \
		-e 's|@libdir[@]|$(libdir)|g' \
		-e 's|@sbindir[@]|$(sbindir)|g' \
		-e 's|@sysconfdir[@]|$(sysconfdir)|g'


noinst_DATA=$(ETC_FILES)

norns.service: Makefile $(srcdir)/norns.service.in
	$(edit) $(srcdir)/norns.service.in > norns.service

etc/norns.service.in

0 → 100644
+13 −0
Original line number Diff line number Diff line
[Unit]
Description=Norns Data Scheduler
After=network.target munge.service slurmd.service
ConditionPathExists=@sysconfdir@/norns.conf

[Service]
Type=forking
ExecStart=@bindir@/urd
ExecReload=/bin/kill -HUP $MAINPID
PIDFile=/tmp/urd.pid

[Install]
WantedBy=multi-user.target
Loading