| #!/bin/sh |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| # |
| # Start/stop the aurora-scheduler daemon. |
| # |
| ### BEGIN INIT INFO |
| # Provides: aurora-scheduler |
| # Required-Start: $remote_fs $syslog $time |
| # Required-Stop: $remote_fs $syslog $time |
| # Should-Start: $network $named slapd autofs ypbind nscd nslcd |
| # Should-Stop: $network $named slapd autofs ypbind nscd nslcd |
| # Default-Start: 2 3 4 5 |
| # Default-Stop: |
| # Short-Description: Apache Aurora scheduler daemon |
| # Description: Aurora is service scheduler that runs on top of Apache |
| # Mesos, enabling you to run long-running services that take |
| # advantage of Apache Mesos' scalability, fault-tolerance, |
| # and resource isolation. |
| ### END INIT INFO |
| |
| PATH=/bin:/usr/bin:/sbin:/usr/sbin |
| DESC="Aurora scheduler" |
| NAME=aurora-scheduler |
| DAEMON=/usr/sbin/aurora-scheduler |
| PIDFILE=/var/run/aurora-scheduler.pid |
| SCRIPTNAME=/etc/init.d/"$NAME" |
| |
| test -f $DAEMON || exit 0 |
| |
| . /lib/lsb/init-functions |
| |
| if which initctl >/dev/null && initctl version | grep -q upstart; then |
| if test -e /lib/init/upstart-job -a -e /etc/init/${NAME}.conf; then |
| . /lib/init/upstart-job |
| exit $? |
| fi |
| fi |
| |
| [ -r /etc/default/aurora-scheduler ] && . /etc/default/aurora-scheduler |
| |
| export JAVA_OPTS GLOG_v LIBPROCESS_PORT LIBPROCESS_IP |
| |
| case "$1" in |
| start) |
| log_daemon_msg "Starting $DESC $NAME with $ARGS" |
| start-stop-daemon --start \ |
| --quiet \ |
| --oknodo \ |
| --pidfile $PIDFILE \ |
| --background \ |
| --make-pidfile \ |
| --no-close \ |
| --exec $DAEMON -- \ |
| -cluster_name="$CLUSTER_NAME" \ |
| -http_port="$HTTP_PORT" \ |
| -native_log_quorum_size="$QUORUM_SIZE" \ |
| -zk_endpoints="$ZK_ENDPOINTS" \ |
| -mesos_master_address="$MESOS_MASTER" \ |
| -serverset_path="$ZK_SERVERSET_PATH" \ |
| -native_log_zk_group_path="$ZK_LOGDB_PATH" \ |
| -native_log_file_path="$LOGDB_FILE_PATH" \ |
| -backup_dir="$BACKUP_DIR" \ |
| -thermos_executor_path="$THERMOS_EXECUTOR_PATH" \ |
| -thermos_executor_resources="$THERMOS_EXECUTOR_RESOURCES" \ |
| -thermos_executor_flags="$THERMOS_EXECUTOR_FLAGS" \ |
| -allowed_container_types="$ALLOWED_CONTAINER_TYPES" \ |
| $EXTRA_SCHEDULER_ARGS |
| log_end_msg $? |
| ;; |
| stop) |
| log_daemon_msg "Stopping $DESC" "$NAME" |
| killproc -p $PIDFILE $DAEMON |
| RETVAL=$? |
| [ $RETVAL -eq 0 ] && [ -e "$PIDFILE" ] && rm -f $PIDFILE |
| log_end_msg $RETVAL |
| ;; |
| restart|force-reload) log_daemon_msg "Restarting $DESC" "$NAME" |
| $0 stop |
| $0 start |
| ;; |
| status) |
| status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit $? |
| ;; |
| *) |
| log_action_msg "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" |
| exit 2 |
| ;; |
| esac |
| exit 0 |