/usr/bin/sunstone-server is in opennebula-sunstone 3.4.1-3.1.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 | #!/bin/bash
# -------------------------------------------------------------------------- #
# Copyright 2002-2012, OpenNebula Project Leads (OpenNebula.org) #
# #
# 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. #
#--------------------------------------------------------------------------- #
if [ -z "$ONE_LOCATION" ]; then
SUNSTONE_PID=/var/run/one/sunstone.pid
SUNSTONE_SERVER=/usr/share/opennebula/sunstone/sunstone-server.rb
SUNSTONE_LOCK_FILE=/var/lock/one/.sunstone.lock
SUNSTONE_LOG=/var/log/one/sunstone.log
SUNSTONE_LOG_ERROR=/var/log/one/sunstone.error
SUNSTONE_CONF=/etc/one/sunstone-server.conf
else
SUNSTONE_PID=$ONE_LOCATION/var/sunstone.pid
SUNSTONE_SERVER=$ONE_LOCATION/lib/sunstone/sunstone-server.rb
SUNSTONE_LOCK_FILE=$ONE_LOCATION/var/.sunstone.lock
SUNSTONE_LOG=$ONE_LOCATION/var/sunstone.log
SUNSTONE_LOG_ERROR=$ONE_LOCATION/var/sunstone.error
SUNSTONE_CONF=$ONE_LOCATION/etc/sunstone-server.conf
fi
setup()
{
if [ -f $SUNSTONE_LOCK_FILE ]; then
if [ -f $SUNSTONE_PID ]; then
SUNSTONEPID=`cat $SUNSTONE_PID`
ps $SUNSTONEPID &> /dev/null
if [ $? -eq 0 ]; then
echo -n "Sunstone Server is still running (PID:$SUNSTONEPID). Please "
echo "try 'sunstone-server stop' first."
exit 1
fi
fi
echo "Stale .lock detected. Erasing it."
rm $SUNSTONE_LOCK_FILE
fi
}
start()
{
if [ ! -f "$SUNSTONE_SERVER" ]; then
echo "Cannot find $SUNSTONE_SERVER."
exit 1
fi
# Start the sunstone daemon
touch $SUNSTONE_LOCK_FILE
ruby $SUNSTONE_SERVER > $SUNSTONE_LOG 2>$SUNSTONE_LOG_ERROR &
LASTPID=$!
if [ $? -ne 0 ]; then
echo "Error executing $SUNSTONE_SERVER, please check the log $SUNSTONE_LOG"
exit 1
else
echo $LASTPID > $SUNSTONE_PID
fi
sleep 1
ps $LASTPID &> /dev/null
if [ $? -ne 0 ]; then
echo "Error executing $SUNSTONE_SERVER, please check the log $SUNSTONE_LOG"
exit 1
fi
echo "sunstone-server started"
}
#
# Function that stops the daemon/service
#
stop()
{
if [ ! -f $SUNSTONE_PID ]; then
echo "Couldn't find sunstone-server process pid."
exit 1
fi
# Kill the sunstone daemon
kill -INT `cat $SUNSTONE_PID` &> /dev/null
# Remove pid files
rm -f $SUNSTONE_LOCK_FILE &> /dev/null
echo "sunstone-server stopped"
}
case "$1" in
start) setup; start;;
stop) stop;;
*) echo "Usage: sunstone-server {start|stop}" >&2; exit 3;;
esac
|