summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Kleinman <samk@10gen.com>2016-01-19 11:51:36 -0500
committerSam Kleinman <samk@10gen.com>2016-02-09 13:17:41 -0500
commit985e2a0be95709ac064c57f0a9bb385a55937285 (patch)
tree640cabbfa77d72dbf7b8d068403009b347253070
parent8a58e2fb57806c0ccd415773d490167e783941bf (diff)
downloadmongo-985e2a0be95709ac064c57f0a9bb385a55937285.tar.gz
SERVER-20930 SERVER-20404: clarify sysconfig and default config override
-rw-r--r--debian/init.d76
-rwxr-xr-xrpm/init.d-mongod16
-rw-r--r--rpm/init.d-mongod.suse16
-rw-r--r--rpm/mongod.sysconfig7
-rw-r--r--rpm/mongodb-enterprise-unstable.spec4
-rw-r--r--rpm/mongodb-enterprise.spec4
-rw-r--r--rpm/mongodb-org-unstable.spec4
-rw-r--r--rpm/mongodb-org.spec4
8 files changed, 70 insertions, 61 deletions
diff --git a/debian/init.d b/debian/init.d
index 8d6b2c26160..a2b525a7b80 100644
--- a/debian/init.d
+++ b/debian/init.d
@@ -28,20 +28,20 @@
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: An object/document-oriented database
-# Description: MongoDB is a high-performance, open source, schema-free
+# Description: MongoDB is a high-performance, open source, schema-free
# document-oriented data store that's easy to deploy, manage
# and use. It's network accessible, written in C++ and offers
# the following features:
-#
+#
# * Collection oriented storage - easy storage of object-
# style data
# * Full index support, including on inner objects
# * Query profiling
# * Replication and fail-over support
-# * Efficient storage of binary data including large
+# * Efficient storage of binary data including large
# objects (e.g. videos)
# * Automatic partitioning for cloud-level scalability
-#
+#
# High performance, scalability, and reasonable depth of
# functionality are the goals for the project.
### END INIT INFO
@@ -58,9 +58,12 @@ CONF=/etc/mongod.conf
PIDFILE=/var/run/$NAME.pid
ENABLE_MONGOD=yes
-# Include mongodb defaults if available
+# Include mongodb defaults if available.
+# All variables set before this point can be overridden by users, by
+# setting them directly in the defaults file. Use this to explicitly
+# override these values, at your own risk.
if [ -f /etc/default/$NAME ] ; then
- . /etc/default/$NAME
+ . /etc/default/$NAME
fi
# Handle NUMA access to CPUs (SERVER-3574)
@@ -75,6 +78,7 @@ else
DAEMON_OPTS="-- "${DAEMON_OPTS:-"--config $CONF"}
fi
+
if test ! -x $DAEMON; then
echo "Could not find $DAEMON"
exit 0
@@ -87,7 +91,7 @@ fi
. /lib/lsb/init-functions
STARTTIME=1
-DIETIME=10 # Time to wait for the server to die, in seconds
+DIETIME=10 # Time to wait for the server to die, in seconds
# If this value is set too low you might not
# let some servers to die gracefully and
# 'restart' will not work
@@ -144,7 +148,7 @@ start_server() {
--make-pidfile --chuid $DAEMONUSER:$DAEMONGROUP \
--exec $NUMACTL $DAEMON $DAEMON_OPTS
errcode=$?
- return $errcode
+ return $errcode
}
stop_server() {
@@ -154,32 +158,32 @@ stop_server() {
--user $DAEMONUSER \
--exec $DAEMON
errcode=$?
- return $errcode
+ return $errcode
}
force_stop() {
# Force the process to die killing it manually
- [ ! -e "$PIDFILE" ] && return
- if running ; then
- kill -15 $pid
- # Is it really dead?
- sleep "$DIETIME"s
- if running ; then
- kill -9 $pid
- sleep "$DIETIME"s
- if running ; then
- echo "Cannot kill $NAME (pid=$pid)!"
- exit 1
- fi
- fi
- fi
- rm -f $PIDFILE
+ [ ! -e "$PIDFILE" ] && return
+ if running ; then
+ kill -15 $pid
+ # Is it really dead?
+ sleep "$DIETIME"s
+ if running ; then
+ kill -9 $pid
+ sleep "$DIETIME"s
+ if running ; then
+ echo "Cannot kill $NAME (pid=$pid)!"
+ exit 1
+ fi
+ fi
+ fi
+ rm -f $PIDFILE
}
case "$1" in
start)
- log_daemon_msg "Starting $DESC" "$NAME"
+ log_daemon_msg "Starting $DESC" "$NAME"
# Check if it's running first
if running ; then
log_progress_msg "apparently already running"
@@ -190,7 +194,7 @@ case "$1" in
# NOTE: Some servers might die some time after they start,
# this code will detect this issue if STARTTIME is set
# to a reasonable value
- [ -n "$STARTTIME" ] && sleep $STARTTIME # Wait some time
+ [ -n "$STARTTIME" ] && sleep $STARTTIME # Wait some time
if running ; then
# It's ok, the server started and is running
log_end_msg 0
@@ -202,12 +206,12 @@ case "$1" in
# Either we could not start it
log_end_msg 1
fi
- ;;
+ ;;
stop)
log_daemon_msg "Stopping $DESC" "$NAME"
if running ; then
# Only stop the server if we see it running
- errcode=0
+ errcode=0
stop_server || errcode=$?
log_end_msg $errcode
else
@@ -223,14 +227,14 @@ case "$1" in
if running; then
# If it's still running try to kill it more forcefully
log_daemon_msg "Stopping (force) $DESC" "$NAME"
- errcode=0
+ errcode=0
force_stop || errcode=$?
log_end_msg $errcode
fi
- ;;
+ ;;
restart|force-reload)
log_daemon_msg "Restarting $DESC" "$NAME"
- errcode=0
+ errcode=0
stop_server || errcode=$?
# Wait some sensible amount, some server need this
[ -n "$DIETIME" ] && sleep $DIETIME
@@ -238,7 +242,7 @@ case "$1" in
[ -n "$STARTTIME" ] && sleep $STARTTIME
running || errcode=$?
log_end_msg $errcode
- ;;
+ ;;
status)
log_daemon_msg "Checking status of $DESC" "$NAME"
@@ -258,10 +262,10 @@ case "$1" in
;;
*)
- N=/etc/init.d/$NAME
- echo "Usage: $N {start|stop|force-stop|restart|force-reload|status}" >&2
- exit 1
- ;;
+ N=/etc/init.d/$NAME
+ echo "Usage: $N {start|stop|force-stop|restart|force-reload|status}" >&2
+ exit 1
+ ;;
esac
exit 0
diff --git a/rpm/init.d-mongod b/rpm/init.d-mongod
index 7ddff0be2eb..cd135c51af6 100755
--- a/rpm/init.d-mongod
+++ b/rpm/init.d-mongod
@@ -10,28 +10,24 @@
. /etc/rc.d/init.d/functions
-# things from mongod.conf get there by mongod reading it
-
-
# NOTE: if you change any OPTIONS here, you get what you pay for:
# this script assumes all options are in the config file.
CONFIGFILE="/etc/mongod.conf"
OPTIONS=" -f $CONFIGFILE"
-SYSCONFIG="/etc/sysconfig/mongod"
-
-PIDFILEPATH=`awk -F'[:=]' -v IGNORECASE=1 '/^[[:blank:]]*(processManagement\.)?pidfilepath[[:blank:]]*[:=][[:blank:]]*/{print $2}' "$CONFIGFILE" | tr -d "[:blank:]\"'" | awk -F'#' '{print $1}'`
mongod=${MONGOD-/usr/bin/mongod}
MONGO_USER=mongod
MONGO_GROUP=mongod
+# All variables set before this point can be overridden by users, by
+# setting them directly in the SYSCONFIG file. Use this to explicitly
+# override these values, at your own risk.
+SYSCONFIG="/etc/sysconfig/mongod"
if [ -f "$SYSCONFIG" ]; then
. "$SYSCONFIG"
fi
-PIDDIR=`dirname $PIDFILEPATH`
-
# Handle NUMA access to CPUs (SERVER-3574)
# This verifies the existence of numactl as well as testing that the command works
NUMACTL_ARGS="--interleave=all"
@@ -42,6 +38,10 @@ else
NUMACTL=""
fi
+# things from mongod.conf get there by mongod reading it
+PIDFILEPATH=`awk -F'[:=]' -v IGNORECASE=1 '/^[[:blank:]]*(processManagement\.)?pidfilepath[[:blank:]]*[:=][[:blank:]]*/{print $2}' "$CONFIGFILE" | tr -d "[:blank:]\"'" | awk -F'#' '{print $1}'`
+PIDDIR=`dirname $PIDFILEPATH`
+
start()
{
# Make sure the default pidfile directory exists
diff --git a/rpm/init.d-mongod.suse b/rpm/init.d-mongod.suse
index 2d35e8032c3..fae1fb8b3f3 100644
--- a/rpm/init.d-mongod.suse
+++ b/rpm/init.d-mongod.suse
@@ -16,28 +16,24 @@
. /etc/rc.status
rc_reset
-# things from mongod.conf get there by mongod reading it
-
-
# NOTE: if you change any OPTIONS here, you get what you pay for:
# this script assumes all options are in the config file.
CONFIGFILE="/etc/mongod.conf"
OPTIONS=" -f $CONFIGFILE"
-SYSCONFIG="/etc/sysconfig/mongod"
-
-PIDFILEPATH=`awk -F'[:=]' -v IGNORECASE=1 '/^[[:blank:]]*(processManagement\.)?pidfilepath[[:blank:]]*[:=][[:blank:]]*/{print $2}' "$CONFIGFILE" | tr -d "[:blank:]\"'" | awk -F'#' '{print $1}'`
mongod=${MONGOD-/usr/bin/mongod}
MONGO_USER=mongod
MONGO_GROUP=mongod
+# All variables set before this point can be overridden by users, by
+# setting them directly in the SYSCONFIG file. Use this to explicitly
+# override these values, at your own risk.
+SYSCONFIG="/etc/sysconfig/mongod"
if [ -f "$SYSCONFIG" ]; then
. "$SYSCONFIG"
fi
-PIDDIR=`dirname $PIDFILEPATH`
-
# Handle NUMA access to CPUs (SERVER-3574)
# This verifies the existence of numactl as well as testing that the command works
NUMACTL_ARGS="--interleave=all"
@@ -48,6 +44,10 @@ else
NUMACTL=""
fi
+# things from mongod.conf get there by mongod reading it
+PIDFILEPATH=`awk -F'[:=]' -v IGNORECASE=1 '/^[[:blank:]]*(processManagement\.)?pidfilepath[[:blank:]]*[:=][[:blank:]]*/{print $2}' "$CONFIGFILE" | tr -d "[:blank:]\"'" | awk -F'#' '{print $1}'`
+PIDDIR=`dirname $PIDFILEPATH`
+
start()
{
diff --git a/rpm/mongod.sysconfig b/rpm/mongod.sysconfig
index 5dbfce1dad9..e6d6672d5f3 100644
--- a/rpm/mongod.sysconfig
+++ b/rpm/mongod.sysconfig
@@ -1 +1,6 @@
-# TODO: add relevant configuration stuff here.
+# override configuration values set in the config files
+
+# CONFIGFILE=
+# OPTIONS=
+# MONGO_USER=
+# MONGO_GROUP=
diff --git a/rpm/mongodb-enterprise-unstable.spec b/rpm/mongodb-enterprise-unstable.spec
index d62a92b3280..cd4c66607b8 100644
--- a/rpm/mongodb-enterprise-unstable.spec
+++ b/rpm/mongodb-enterprise-unstable.spec
@@ -183,7 +183,7 @@ if ! /usr/bin/id -g mongod &>/dev/null; then
/usr/sbin/groupadd -r mongod
fi
if ! /usr/bin/id mongod &>/dev/null; then
- /usr/sbin/useradd -M -r -g mongod -d /var/lib/mongo -s /bin/false -c mongod mongod > /dev/null 2>&1
+ /usr/sbin/useradd -M -r -g mongod -d /var/lib/mongo -s /bin/false -c mongod mongod > /dev/null 2>&1
fi
%post server
@@ -212,7 +212,7 @@ fi
%{_bindir}/mongod
%{_mandir}/man1/mongod.1*
/etc/init.d/mongod
-/etc/sysconfig/mongod
+%config(noreplace) /etc/sysconfig/mongod
%attr(0755,mongod,mongod) %dir /var/lib/mongo
%attr(0755,mongod,mongod) %dir /var/log/mongodb
%attr(0755,mongod,mongod) %dir /var/run/mongodb
diff --git a/rpm/mongodb-enterprise.spec b/rpm/mongodb-enterprise.spec
index 26a0e001a99..95fd1410306 100644
--- a/rpm/mongodb-enterprise.spec
+++ b/rpm/mongodb-enterprise.spec
@@ -192,7 +192,7 @@ if ! /usr/bin/id -g mongod &>/dev/null; then
/usr/sbin/groupadd -r mongod
fi
if ! /usr/bin/id mongod &>/dev/null; then
- /usr/sbin/useradd -M -r -g mongod -d /var/lib/mongo -s /bin/false -c mongod mongod > /dev/null 2>&1
+ /usr/sbin/useradd -M -r -g mongod -d /var/lib/mongo -s /bin/false -c mongod mongod > /dev/null 2>&1
fi
%post server
@@ -221,7 +221,7 @@ fi
%{_bindir}/mongod
%{_mandir}/man1/mongod.1*
/etc/init.d/mongod
-/etc/sysconfig/mongod
+%config(noreplace) /etc/sysconfig/mongod
%attr(0755,mongod,mongod) %dir /var/lib/mongo
%attr(0755,mongod,mongod) %dir /var/log/mongodb
%attr(0755,mongod,mongod) %dir /var/run/mongodb
diff --git a/rpm/mongodb-org-unstable.spec b/rpm/mongodb-org-unstable.spec
index fa3f4f45ae7..27b2266bd3e 100644
--- a/rpm/mongodb-org-unstable.spec
+++ b/rpm/mongodb-org-unstable.spec
@@ -182,7 +182,7 @@ if ! /usr/bin/id -g mongod &>/dev/null; then
/usr/sbin/groupadd -r mongod
fi
if ! /usr/bin/id mongod &>/dev/null; then
- /usr/sbin/useradd -M -r -g mongod -d /var/lib/mongo -s /bin/false -c mongod mongod > /dev/null 2>&1
+ /usr/sbin/useradd -M -r -g mongod -d /var/lib/mongo -s /bin/false -c mongod mongod > /dev/null 2>&1
fi
%post server
@@ -211,7 +211,7 @@ fi
%{_bindir}/mongod
%{_mandir}/man1/mongod.1*
/etc/init.d/mongod
-/etc/sysconfig/mongod
+%config(noreplace) /etc/sysconfig/mongod
%attr(0755,mongod,mongod) %dir /var/lib/mongo
%attr(0755,mongod,mongod) %dir /var/log/mongodb
%attr(0755,mongod,mongod) %dir /var/run/mongodb
diff --git a/rpm/mongodb-org.spec b/rpm/mongodb-org.spec
index 2c8095046ab..00e30576b5c 100644
--- a/rpm/mongodb-org.spec
+++ b/rpm/mongodb-org.spec
@@ -192,7 +192,7 @@ if ! /usr/bin/id -g mongod &>/dev/null; then
/usr/sbin/groupadd -r mongod
fi
if ! /usr/bin/id mongod &>/dev/null; then
- /usr/sbin/useradd -M -r -g mongod -d /var/lib/mongo -s /bin/false -c mongod mongod > /dev/null 2>&1
+ /usr/sbin/useradd -M -r -g mongod -d /var/lib/mongo -s /bin/false -c mongod mongod > /dev/null 2>&1
fi
%post server
@@ -221,7 +221,7 @@ fi
%{_bindir}/mongod
%{_mandir}/man1/mongod.1*
/etc/init.d/mongod
-/etc/sysconfig/mongod
+%config(noreplace) /etc/sysconfig/mongod
%attr(0755,mongod,mongod) %dir /var/lib/mongo
%attr(0755,mongod,mongod) %dir /var/log/mongodb
%attr(0755,mongod,mongod) %dir /var/run/mongodb