smf-vboxwebsrv.sh revision dd0d37878d7689cf956055422a5d4f43972fdb44
fd9abdda70912b99b24e3bf1a38f26fde908a74cnd# Copyright (C) 2008 Sun Microsystems, Inc.
6116c12fdd3ed06d388fe6572e50a22e9320dfa5nd# This file is part of VirtualBox Open Source Edition (OSE), as
6116c12fdd3ed06d388fe6572e50a22e9320dfa5nd# available from http://www.virtualbox.org. This file is free software;
6116c12fdd3ed06d388fe6572e50a22e9320dfa5nd# you can redistribute it and/or modify it under the terms of the GNU
6116c12fdd3ed06d388fe6572e50a22e9320dfa5nd# General Public License (GPL) as published by the Free Software
96ad5d81ee4a2cc66a4ae19893efc8aa6d06fae7jailletc# Foundation, in version 2 as it comes in the "COPYING" file of the
6116c12fdd3ed06d388fe6572e50a22e9320dfa5nd# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
6116c12fdd3ed06d388fe6572e50a22e9320dfa5nd# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
2e545ce2450a9953665f701bb05350f0d3f26275nd# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen# Clara, CA 95054 USA or visit http://www.sun.com if you need
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen# additional information or have any questions.
3f08db06526d6901aa08c110b5bc7dde6bc39905nd# smf-vboxwebsrv method
6116c12fdd3ed06d388fe6572e50a22e9320dfa5nd# Argument is the method name (start, stop, ...)
6116c12fdd3ed06d388fe6572e50a22e9320dfa5nd echo "ERROR: /opt/VirtualBox/vboxwebsrv does not exist."
6116c12fdd3ed06d388fe6572e50a22e9320dfa5nd echo "ERROR: /opt/VirtualBox/vboxwebsrv does not exist."
30471a4650391f57975f60bbb6e4a90be7b284bfhumbedooh # Get svc configuration
6116c12fdd3ed06d388fe6572e50a22e9320dfa5nd VW_USER=`/usr/bin/svcprop -p config/user $SMF_FMRI 2>/dev/null`
6116c12fdd3ed06d388fe6572e50a22e9320dfa5nd VW_HOST=`/usr/bin/svcprop -p config/host $SMF_FMRI 2>/dev/null`
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak VW_PORT=`/usr/bin/svcprop -p config/port $SMF_FMRI 2>/dev/null`
5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4maczniak VW_TIMEOUT=`/usr/bin/svcprop -p config/timeout $SMF_FMRI 2>/dev/null`
6116c12fdd3ed06d388fe6572e50a22e9320dfa5nd VW_CHECK_INTERVAL=`/usr/bin/svcprop -p config/checkinterval $SMF_FMRI 2>/dev/null`
6116c12fdd3ed06d388fe6572e50a22e9320dfa5nd # Provide sensible defaults
6116c12fdd3ed06d388fe6572e50a22e9320dfa5nd su - "$VW_USER" -c "/opt/VirtualBox/vboxwebsrv --background --host \"$VW_HOST\" --port \"$VW_PORT\" --timeout \"$VW_TIMEOUT\" --check-interval \"$VW_CHECK_INTERVAL\""
6116c12fdd3ed06d388fe6572e50a22e9320dfa5nd echo "vboxwebsrv failed with $VW_EXIT."
6116c12fdd3ed06d388fe6572e50a22e9320dfa5nd # Bump per-process semaphore limit of VBoxSVC
6116c12fdd3ed06d388fe6572e50a22e9320dfa5nd if test ! -f "$PRTCLBIN"; then
6116c12fdd3ed06d388fe6572e50a22e9320dfa5nd # Wait for VBoxSVC to spawn
6116c12fdd3ed06d388fe6572e50a22e9320dfa5nd VBOXSVC_PID=`ps -eo pid,fname | grep VBoxSVC | grep -v grep | cut -f 1 -d " "`
0a336dd9ddab495062363310a4a4d8a0fb69c495nd echo "Successfully bumped VBoxSVC (pid $VBOXSVC_PID) semaphore id limit to 1024."
6116c12fdd3ed06d388fe6572e50a22e9320dfa5nd echo "Failed to bump VBoxSVC (pid $VBOXSVC_PID) semaphore id limit."
6116c12fdd3ed06d388fe6572e50a22e9320dfa5nd echo "Stopped waiting for VBoxSVC to spawn..."
6116c12fdd3ed06d388fe6572e50a22e9320dfa5nd echo "Failed to bump VBoxSVC process' semaphore id limit."
6116c12fdd3ed06d388fe6572e50a22e9320dfa5nd echo "Failed to find prctl to bump VBoxSVC semaphore id limit."
6116c12fdd3ed06d388fe6572e50a22e9320dfa5nd echo "As a result, not more than 100 VMs can be started."
6116c12fdd3ed06d388fe6572e50a22e9320dfa5nd # Kill service contract