mirror of
https://github.com/OpenNebula/one.git
synced 2025-02-03 13:47:01 +03:00
feature #1859: start/stop/restart actions for scheduler
This commit is contained in:
parent
1f3505f20b
commit
2cca4c5676
@ -63,11 +63,41 @@ stop() {
|
||||
return $RETVAL
|
||||
}
|
||||
|
||||
start-sched() {
|
||||
echo -n $"Starting OpenNebula scheduler: "
|
||||
daemon --user oneadmin $ONE_BIN start-sched
|
||||
RETVAL=$?
|
||||
|
||||
[ $RETVAL -eq 0 ] && success || failure
|
||||
echo
|
||||
[ $RETVAL -eq 0 ] && rm -f $LOCKFILE
|
||||
|
||||
return $RETVAL
|
||||
}
|
||||
|
||||
stop-sched() {
|
||||
echo -n $"Stopping OpenNebula scheduler: "
|
||||
daemon --user oneadmin $ONE_BIN stop-sched
|
||||
RETVAL=$?
|
||||
|
||||
[ $RETVAL -eq 0 ] && success || failure
|
||||
echo
|
||||
[ $RETVAL -eq 0 ] && rm -f $LOCKFILE
|
||||
|
||||
return $RETVAL
|
||||
}
|
||||
|
||||
restart() {
|
||||
stop
|
||||
start
|
||||
}
|
||||
|
||||
restart-sched() {
|
||||
stop-sched
|
||||
sleep 1
|
||||
start-sched
|
||||
}
|
||||
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
@ -79,6 +109,9 @@ stop)
|
||||
restart)
|
||||
restart
|
||||
;;
|
||||
restart-sched)
|
||||
restart-sched
|
||||
;;
|
||||
status)
|
||||
status $prog
|
||||
RETVAL=$?
|
||||
|
@ -47,6 +47,16 @@ do_stop()
|
||||
su oneadmin -s /bin/sh -c 'one stop'
|
||||
}
|
||||
|
||||
do_start_sched()
|
||||
{
|
||||
su oneadmin -s /bin/sh -c 'one start-sched'
|
||||
}
|
||||
|
||||
do_stop_sched()
|
||||
{
|
||||
su oneadmin -s /bin/sh -c 'one stop-sched'
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
|
||||
@ -87,6 +97,22 @@ case "$1" in
|
||||
# Failed to stop
|
||||
log_end_msg 1
|
||||
;;
|
||||
restart-sched)
|
||||
log_daemon_msg "Restarting scheduler"
|
||||
do_stop_sched
|
||||
case "$?" in
|
||||
0|1)
|
||||
do_start
|
||||
case "$?" in
|
||||
0) log_end_msg 0 ;;
|
||||
1) log_end_msg 1 ;; # Old process is still running
|
||||
*) log_end_msg 1 ;; # Failed to start
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
# Failed to stop
|
||||
log_end_msg 1
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
|
@ -47,6 +47,16 @@ do_stop()
|
||||
su oneadmin -s /bin/sh -c 'one stop'
|
||||
}
|
||||
|
||||
do_start_sched()
|
||||
{
|
||||
su oneadmin -s /bin/sh -c 'one start-sched'
|
||||
}
|
||||
|
||||
do_stop_sched()
|
||||
{
|
||||
su oneadmin -s /bin/sh -c 'one stop-sched'
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
|
||||
@ -87,6 +97,22 @@ case "$1" in
|
||||
# Failed to stop
|
||||
log_end_msg 1
|
||||
;;
|
||||
restart-sched)
|
||||
log_daemon_msg "Restarting scheduler"
|
||||
do_stop_sched
|
||||
case "$?" in
|
||||
0|1)
|
||||
do_start
|
||||
case "$?" in
|
||||
0) log_end_msg 0 ;;
|
||||
1) log_end_msg 1 ;; # Old process is still running
|
||||
*) log_end_msg 1 ;; # Failed to start
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
# Failed to stop
|
||||
log_end_msg 1
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
|
@ -74,6 +74,13 @@ setup()
|
||||
# Function that stops the daemons
|
||||
#------------------------------------------------------------------------------
|
||||
stop()
|
||||
{
|
||||
stop_oned
|
||||
|
||||
stop_sched
|
||||
}
|
||||
|
||||
stop_oned()
|
||||
{
|
||||
if [ -f $ONE_PID ]; then
|
||||
PID=$(cat $ONE_PID)
|
||||
@ -91,7 +98,10 @@ stop()
|
||||
|
||||
rm -f $ONE_PID > /dev/null 2>&1
|
||||
fi
|
||||
}
|
||||
|
||||
stop_sched()
|
||||
{
|
||||
if [ -f $ONE_SCHEDPID ]; then
|
||||
kill `cat $ONE_SCHEDPID` > /dev/null 2>&1
|
||||
rm -f $ONE_SCHEDPID > /dev/null 2>&1
|
||||
@ -130,30 +140,10 @@ start()
|
||||
fi
|
||||
|
||||
# Start the one daemon
|
||||
$ONED -f 2>&1 &
|
||||
|
||||
LASTRC=$?
|
||||
LASTPID=$!
|
||||
|
||||
if [ $LASTRC -ne 0 ]; then
|
||||
echo "Error executing $ONED"
|
||||
exit 1
|
||||
else
|
||||
echo $LASTPID > $ONE_PID
|
||||
fi
|
||||
start_oned
|
||||
|
||||
# Start the scheduler
|
||||
$ONE_SCHEDULER&
|
||||
|
||||
LASTRC=$?
|
||||
LASTPID=$!
|
||||
|
||||
if [ $LASTRC -ne 0 ]; then
|
||||
echo "Error executing $ONE_SCHEDULER"
|
||||
exit 1
|
||||
else
|
||||
echo $LASTPID > $ONE_SCHEDPID
|
||||
fi
|
||||
start_sched
|
||||
|
||||
# Wait for the daemons to warm up
|
||||
sleep 2
|
||||
@ -180,6 +170,36 @@ start()
|
||||
fi
|
||||
}
|
||||
|
||||
start_oned()
|
||||
{
|
||||
$ONED -f 2>&1 &
|
||||
|
||||
LASTRC=$?
|
||||
LASTPID=$!
|
||||
|
||||
if [ $LASTRC -ne 0 ]; then
|
||||
echo "Error executing $ONED"
|
||||
exit 1
|
||||
else
|
||||
echo $LASTPID > $ONE_PID
|
||||
fi
|
||||
}
|
||||
|
||||
start_sched()
|
||||
{
|
||||
$ONE_SCHEDULER&
|
||||
|
||||
LASTRC=$?
|
||||
LASTPID=$!
|
||||
|
||||
if [ $LASTRC -ne 0 ]; then
|
||||
echo "Error executing $ONE_SCHEDULER"
|
||||
exit 1
|
||||
else
|
||||
echo $LASTPID > $ONE_SCHEDPID
|
||||
fi
|
||||
}
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
@ -197,6 +217,17 @@ case "$1" in
|
||||
stop
|
||||
echo "oned and scheduler stopped"
|
||||
;;
|
||||
start-sched)
|
||||
start_sched
|
||||
;;
|
||||
stop-sched)
|
||||
stop_sched
|
||||
;;
|
||||
restart-sched)
|
||||
stop_sched
|
||||
sleep 1
|
||||
start_sched
|
||||
;;
|
||||
*)
|
||||
echo "Usage: one [-f] {start|stop}" >&2
|
||||
echo "Options:" >&2
|
||||
|
Loading…
x
Reference in New Issue
Block a user