summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-db/aerospike-server-community/files/aerospike.init')
-rw-r--r--dev-db/aerospike-server-community/files/aerospike.init53
1 files changed, 53 insertions, 0 deletions
diff --git a/dev-db/aerospike-server-community/files/aerospike.init b/dev-db/aerospike-server-community/files/aerospike.init
new file mode 100644
index 000000000000..1ded43af1441
--- /dev/null
+++ b/dev-db/aerospike-server-community/files/aerospike.init
@@ -0,0 +1,53 @@
+#!/sbin/runscript
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+config_file=${config_file:-/etc/aerospike/${SVCNAME}.conf}
+run_dir=${run_dir:-/run/aerospike}
+
+command="/usr/bin/asd"
+command_args="--config-file ${config_file}"
+command_background="false"
+pidfile=${run_dir}/${SVCNAME}.pid
+user=${user:-aerospike}
+group=${group:-aerospike}
+start_stop_daemon_args="--user ${user} --group ${group}"
+required_files="${config_file}"
+
+depend() {
+ use net
+}
+
+set_shmall() {
+ mem=`/sbin/sysctl -n kernel.shmall`
+ min=4294967296
+ if [ ${#mem} -le ${#min} ]; then
+ if [ $mem -lt $min ]; then
+ ewarn "kernel.shmall too low, setting to 4G pages = 16TB"
+ /sbin/sysctl -w kernel.shmall=$min
+ fi
+ fi
+}
+
+set_shmmax() {
+ mem=`/sbin/sysctl -n kernel.shmmax`
+ min=1073741824
+ if [ ${#mem} -le ${#min} ]; then
+ if [ $mem -lt $min ]; then
+ ewarn "kernel.shmmax too low, setting to 1GB"
+ /sbin/sysctl -w kernel.shmmax=$min
+ fi
+ fi
+}
+
+start_pre() {
+ checkpath -d -m 0755 -o "${user}":"${group}" "${run_dir}"
+ set_shmall
+ set_shmmax
+ ulimit -n 100000
+ if [ -n $LD_PRELOAD ]; then export LD_PRELOAD; fi
+}
+
+start_post() {
+ ewaitfile 60 "${pidfile}"
+}