~ubuntu-branches/ubuntu/karmic/chef/karmic

« back to all changes in this revision

Viewing changes to distro/debian/etc/init.d/chef-server

  • Committer: Bazaar Package Importer
  • Author(s): Joshua Timberman, Joshua Timberman, Fabrice Coutadeur
  • Date: 2009-09-30 19:19:37 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20090930191937-1clge7ckxfjm0wx3
Tags: 0.7.10-0ubuntu1
[ Joshua Timberman ]
* New upstream release
* Upstream patch for couchdb 0.10.0 (CHEF-515, quilt patch removed)
* Fix client logging to file (CHEF-287)
* Fix config log_location settings (CHEF-500)
* Requires libmixlib-config-ruby (>= 1.0.12)

[ Fabrice Coutadeur ]
* debian/watch: updated to avoid getting non numerical versions

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#! /bin/sh
 
2
### BEGIN INIT INFO
 
3
# Provides:           chef-server
 
4
# Required-Start:     $network
 
5
# Required-Stop:      $network
 
6
# Default-Start:      2 3 4 5
 
7
# Default-Stop:       0 1 6
 
8
# Short-Description:  Start a chef-server.
 
9
### END INIT INFO
 
10
#
 
11
# Copyright (c) 2009 Joshua Timberman, <joshua@opscode.com>
 
12
#
 
13
# chef-server         Startup script for chef-server.
 
14
# chkconfig: - 98 02
 
15
# description: starts up chef-server webui.
 
16
 
 
17
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
 
18
DAEMON=/usr/bin/chef-server
 
19
PIDFILE=/var/run/chef/server.%s.pid
 
20
MAINPID=/var/run/chef/server.main.pid
 
21
LOGFILE=/var/log/chef/merb.%s.log
 
22
MASTER=master
 
23
NAME=chef-server
 
24
DESC=chef-server
 
25
DAEMON_OPTS="-d -c2 -P $PIDFILE -L $LOGFILE"
 
26
 
 
27
test -x $DAEMON || exit 0
 
28
 
 
29
. /lib/lsb/init-functions
 
30
 
 
31
if [ ! -d /var/run/chef ]; then
 
32
  mkdir /var/run/chef
 
33
fi
 
34
 
 
35
running() {
 
36
  [ ! -f  "$MAINPID" ] &&  return 1
 
37
  pid=`cat $MAINPID`
 
38
  name=$MASTER
 
39
  [ -z "$pid" ] && return 1
 
40
  [ ! -d /proc/$pid ] && return 1
 
41
  cmd=`cat /proc/$pid/cmdline | tr '\000' '\n' | head -1 | awk -F:\  '{print $3}'`
 
42
  [ "$cmd" != "$name" ] &&  return 1
 
43
  return 0
 
44
}
 
45
 
 
46
start_server() {
 
47
  $DAEMON $DAEMON_OPTS
 
48
  errcode=$?
 
49
  return $errcode
 
50
}
 
51
 
 
52
stop_server() {
 
53
  $DAEMON -K all -P $PIDFILE
 
54
  errcode=$?
 
55
  return $errcode
 
56
}
 
57
 
 
58
reload_server() {
 
59
  stop_server
 
60
  start_server
 
61
}
 
62
 
 
63
case "$1" in
 
64
  start)
 
65
    log_daemon_msg "Starting $DESC "
 
66
    if running ;  then
 
67
        log_progress_msg "apparently already running"
 
68
        log_end_msg 0
 
69
        exit 0
 
70
    fi
 
71
    if start_server ; then
 
72
        sleep 1
 
73
        if  running ;  then
 
74
            log_end_msg 0
 
75
        else
 
76
            log_end_msg 1
 
77
        fi
 
78
    else
 
79
        log_end_msg 1
 
80
    fi
 
81
    ;;
 
82
  stop)
 
83
    log_daemon_msg "Stopping $DESC"
 
84
    if running ; then
 
85
      errcode=0
 
86
      stop_server || errcode=$?
 
87
      log_end_msg $errcode
 
88
    else
 
89
      log_progress_msg "apparently not running"
 
90
      log_end_msg 0
 
91
      exit 0
 
92
    fi
 
93
    ;;
 
94
  restart|force-reload)
 
95
    log_daemon_msg "Restarting $DESC"
 
96
    errcode=0
 
97
    reload_server
 
98
    running && errcode=$?
 
99
    log_end_msg $errcode
 
100
    ;;
 
101
  status)
 
102
    log_daemon_msg "Checking status of $DESC"
 
103
    if running ;  then
 
104
      log_progress_msg "running"
 
105
      log_end_msg 0
 
106
    else
 
107
      log_progress_msg "apparently not running"
 
108
      log_end_msg 1
 
109
      exit 3
 
110
    fi
 
111
    ;;
 
112
  *)
 
113
    N=/etc/init.d/$NAME
 
114
    echo "Usage: $N {start|stop|restart|status}" >&2
 
115
    exit 1
 
116
    ;;
 
117
esac
 
118
 
 
119
exit 0
 
120