Skip to content

Instantly share code, notes, and snippets.

@turboladen
Last active March 2, 2018 14:21
Show Gist options
  • Save turboladen/5416689 to your computer and use it in GitHub Desktop.
Save turboladen/5416689 to your computer and use it in GitHub Desktop.

Revisions

  1. turboladen revised this gist Apr 18, 2013. No changes.
  2. turboladen created this gist Apr 18, 2013.
    75 changes: 75 additions & 0 deletions gistfile1.sh
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,75 @@
    #!/bin/sh

    ### BEGIN INIT INFO
    # Provides: hudsonvmfarm
    # Required-Start: $remote_fs $syslog
    # Required-Stop: $remote_fs $syslog
    # Should-Start: $named
    # Default-Start: 2 3 4 5
    # Default-Stop: 0 1 6
    # Short-Description: hudsonswarm build slave
    # Description: hudsonswarm build slave assigned to a Hudson master
    ### END INIT INFO
    set -e

    . /lib/lsb/init-functions

    USER=hudson
    USER_HOME="/home/${USER}"
    JAR="${USER_HOME}/hudsonswarm_jar/swarm-client-1.8-jar-with-dependencies.jar"
    LOG="${USER_HOME}/hudsonswarm_jar/hudson.log"
    MASTER="http://hudsonvmfarm.pelco.org/jenkins"
    USERNAME="swarm"
    PASSWORD="swarm"

    # Swarm client option
    DESCRIPTION="systools-01.pelco.org"
    EXECUTORS=1
    FSROOT="${USER_HOME}/fsroot"
    LABELS="Swarm"

    OPTS="-description \"${DESCRIPTION}\" \
    -executors ${EXECUTORS} \
    -fsroot ${FSROOT} \
    -labels \"${LABELS}\" \
    -username ${USERNAME} \
    -password ${PASSWORD}"

    PIDFILE="/var/run/hudsonswarm.pid"
    ARGS="-server -Djava.awt.headless=true -jar $JAR $OPTS"
    JAVA_HOME="/etc/alternatives/java"
    DAEMON="/usr/bin/java"

    test -x $DAEMON || exit 1

    case $1 in
    start)
    log_daemon_msg "Starting hudsonswarm"
    start-stop-daemon --start --quiet --chuid $USER --background --make-pidfile --pidfile $PIDFILE --startas $DAEMON -- $ARGS
    log_end_msg $?
    ;;
    stop)
    if [ -e $PIDFILE ]; then
    log_daemon_msg "Stopping hudsonswarm"
    start-stop-daemon --stop --quiet --pidfile $PIDFILE
    log_end_msg $?
    rm -f $PIDFILE
    fi
    ;;
    restart)
    $0 stop
    sleep 2
    $0 start
    ;;
    status)
    status_of_proc -p $PIDFILE "$DAEMON" hudsonswarm
    RETVAL=$?
    ;;

    *)
    echo "Usage: $0 {start|stop|restart|status}"
    exit 1

    esac

    exit 0