chef 0.8.16 → 0.9.0.a3

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of chef might be problematic. Click here for more details.

Files changed (185) hide show
  1. data/bin/shef +1 -0
  2. data/distro/common/man/man1/chef-server-webui.1 +106 -0
  3. data/distro/common/man/man1/chef-server.1 +0 -1
  4. data/distro/common/man/man1/chef-solr-indexer.1 +55 -0
  5. data/distro/common/man/man1/chef-solr.1 +55 -0
  6. data/distro/common/man/man8/chef-client.8 +4 -2
  7. data/distro/common/man/man8/chef-solo.8 +1 -2
  8. data/distro/common/man/man8/chef-solr-rebuild.8 +37 -0
  9. data/distro/common/man/man8/knife.8 +668 -266
  10. data/distro/common/man/man8/shef.8 +45 -0
  11. data/distro/common/markdown/README +3 -0
  12. data/distro/common/markdown/knife.mkd +520 -0
  13. data/distro/debian/etc/default/chef-client +4 -0
  14. data/distro/debian/etc/default/chef-server +6 -0
  15. data/distro/debian/etc/default/chef-server-webui +6 -0
  16. data/distro/debian/etc/default/chef-solr +4 -0
  17. data/distro/debian/etc/default/chef-solr-indexer +4 -0
  18. data/distro/debian/etc/init.d/chef-client +41 -41
  19. data/distro/debian/etc/init.d/chef-server +10 -10
  20. data/distro/debian/etc/init.d/chef-server-webui +121 -0
  21. data/distro/debian/etc/init.d/chef-solr +177 -0
  22. data/distro/debian/etc/init.d/chef-solr-indexer +176 -0
  23. data/distro/redhat/etc/init.d/chef-client +76 -48
  24. data/distro/redhat/etc/init.d/chef-server +85 -51
  25. data/distro/redhat/etc/init.d/chef-server-webui +85 -51
  26. data/distro/redhat/etc/init.d/chef-solr +77 -49
  27. data/distro/redhat/etc/init.d/chef-solr-indexer +77 -48
  28. data/distro/redhat/etc/logrotate.d/chef-client +8 -0
  29. data/distro/redhat/etc/logrotate.d/chef-server +8 -0
  30. data/distro/redhat/etc/logrotate.d/chef-server-webui +8 -0
  31. data/distro/redhat/etc/logrotate.d/chef-solr +8 -0
  32. data/distro/redhat/etc/logrotate.d/chef-solr-indexer +8 -0
  33. data/distro/redhat/etc/sysconfig/chef-client +9 -4
  34. data/distro/redhat/etc/sysconfig/chef-server +10 -6
  35. data/distro/redhat/etc/sysconfig/chef-server-webui +10 -6
  36. data/distro/redhat/etc/sysconfig/chef-solr +3 -4
  37. data/distro/redhat/etc/sysconfig/chef-solr-indexer +3 -3
  38. data/lib/chef.rb +16 -5
  39. data/lib/chef/application/knife.rb +2 -2
  40. data/lib/chef/application/solo.rb +1 -7
  41. data/lib/chef/cache/checksum.rb +12 -5
  42. data/lib/chef/cache/file_cache_by_checksum.rb +52 -0
  43. data/lib/chef/checksum.rb +115 -0
  44. data/lib/chef/client.rb +193 -185
  45. data/lib/chef/config.rb +9 -1
  46. data/lib/chef/cookbook/cookbook_collection.rb +43 -0
  47. data/lib/chef/cookbook/file_system_file_vendor.rb +53 -0
  48. data/lib/chef/cookbook/file_vendor.rb +47 -0
  49. data/lib/chef/cookbook/metadata.rb +34 -35
  50. data/lib/chef/cookbook/metadata/version.rb +1 -1
  51. data/lib/chef/cookbook_loader.rb +70 -45
  52. data/lib/chef/cookbook_version.rb +760 -0
  53. data/lib/chef/couchdb.rb +8 -5
  54. data/lib/chef/data_bag_item.rb +5 -5
  55. data/lib/chef/exceptions.rb +10 -0
  56. data/lib/chef/file_access_control.rb +134 -0
  57. data/lib/chef/handler.rb +62 -0
  58. data/lib/chef/handler/json_file.rb +47 -0
  59. data/lib/chef/knife.rb +14 -2
  60. data/lib/chef/knife/bootstrap.rb +126 -0
  61. data/lib/chef/knife/cookbook_bulk_delete.rb +1 -1
  62. data/lib/chef/knife/cookbook_delete.rb +4 -4
  63. data/lib/chef/knife/cookbook_download.rb +57 -26
  64. data/lib/chef/knife/cookbook_metadata.rb +2 -2
  65. data/lib/chef/knife/cookbook_show.rb +30 -11
  66. data/lib/chef/knife/cookbook_upload.rb +113 -86
  67. data/lib/chef/knife/ec2_server_create.rb +146 -0
  68. data/lib/chef/knife/ec2_server_delete.rb +84 -0
  69. data/lib/chef/knife/ec2_server_list.rb +82 -0
  70. data/lib/chef/knife/status.rb +51 -0
  71. data/lib/chef/mixin/language_include_attribute.rb +16 -11
  72. data/lib/chef/mixin/language_include_recipe.rb +15 -16
  73. data/lib/chef/mixin/recipe_definition_dsl_core.rb +17 -20
  74. data/lib/chef/mixin/shell_out.rb +38 -0
  75. data/lib/chef/mixins.rb +1 -1
  76. data/lib/chef/node.rb +190 -63
  77. data/lib/chef/node/attribute.rb +92 -78
  78. data/lib/chef/platform.rb +24 -4
  79. data/lib/chef/provider.rb +28 -10
  80. data/lib/chef/provider/breakpoint.rb +2 -2
  81. data/lib/chef/provider/cookbook_file.rb +96 -0
  82. data/lib/chef/provider/cron.rb +2 -2
  83. data/lib/chef/provider/deploy.rb +12 -10
  84. data/lib/chef/provider/env.rb +152 -0
  85. data/lib/chef/provider/env/windows.rb +75 -0
  86. data/lib/chef/provider/file.rb +10 -14
  87. data/lib/chef/provider/group.rb +15 -2
  88. data/lib/chef/provider/group/dscl.rb +17 -25
  89. data/lib/chef/provider/group/gpasswd.rb +6 -3
  90. data/lib/chef/provider/group/pw.rb +3 -7
  91. data/lib/chef/provider/group/windows.rb +79 -0
  92. data/lib/chef/provider/link.rb +4 -5
  93. data/lib/chef/provider/mdadm.rb +25 -18
  94. data/lib/chef/provider/mount/mount.rb +28 -27
  95. data/lib/chef/provider/package.rb +35 -35
  96. data/lib/chef/provider/package/dpkg.rb +13 -10
  97. data/lib/chef/provider/package/easy_install.rb +6 -6
  98. data/lib/chef/provider/package/freebsd.rb +17 -51
  99. data/lib/chef/provider/package/rpm.rb +1 -1
  100. data/lib/chef/provider/package/rubygems.rb +391 -74
  101. data/lib/chef/provider/package/yum.rb +2 -2
  102. data/lib/chef/provider/package/zypper.rb +2 -1
  103. data/lib/chef/provider/remote_directory.rb +60 -83
  104. data/lib/chef/provider/remote_file.rb +17 -66
  105. data/lib/chef/provider/script.rb +20 -9
  106. data/lib/chef/provider/service.rb +23 -30
  107. data/lib/chef/provider/service/arch.rb +3 -3
  108. data/lib/chef/provider/service/debian.rb +22 -17
  109. data/lib/chef/provider/service/freebsd.rb +4 -4
  110. data/lib/chef/provider/service/init.rb +2 -2
  111. data/lib/chef/provider/service/redhat.rb +14 -16
  112. data/lib/chef/provider/service/simple.rb +7 -3
  113. data/lib/chef/provider/service/solaris.rb +85 -0
  114. data/lib/chef/provider/service/upstart.rb +12 -7
  115. data/lib/chef/provider/service/windows.rb +2 -2
  116. data/lib/chef/provider/template.rb +133 -118
  117. data/lib/chef/provider/user.rb +34 -17
  118. data/lib/chef/provider/user/dscl.rb +117 -114
  119. data/lib/chef/provider/user/windows.rb +124 -0
  120. data/lib/chef/providers.rb +7 -0
  121. data/lib/chef/recipe.rb +39 -20
  122. data/lib/chef/resource.rb +47 -52
  123. data/lib/chef/resource/apt_package.rb +4 -4
  124. data/lib/chef/resource/bash.rb +4 -4
  125. data/lib/chef/resource/cookbook_file.rb +45 -0
  126. data/lib/chef/resource/cron.rb +3 -3
  127. data/lib/chef/resource/csh.rb +4 -4
  128. data/lib/chef/resource/deploy.rb +3 -3
  129. data/lib/chef/resource/directory.rb +4 -4
  130. data/lib/chef/resource/dpkg_package.rb +4 -4
  131. data/lib/chef/resource/easy_install_package.rb +3 -3
  132. data/lib/chef/resource/env.rb +58 -0
  133. data/lib/chef/resource/erl_call.rb +3 -3
  134. data/lib/chef/resource/execute.rb +3 -3
  135. data/lib/chef/resource/file.rb +3 -3
  136. data/lib/chef/resource/freebsd_package.rb +3 -3
  137. data/lib/chef/resource/gem_package.rb +17 -9
  138. data/lib/chef/resource/git.rb +3 -3
  139. data/lib/chef/resource/group.rb +3 -3
  140. data/lib/chef/resource/http_request.rb +4 -4
  141. data/lib/chef/resource/ifconfig.rb +3 -3
  142. data/lib/chef/resource/link.rb +3 -3
  143. data/lib/chef/resource/log.rb +2 -2
  144. data/lib/chef/resource/macports_package.rb +2 -2
  145. data/lib/chef/resource/mdadm.rb +3 -3
  146. data/lib/chef/resource/mount.rb +2 -2
  147. data/lib/chef/resource/package.rb +4 -4
  148. data/lib/chef/resource/pacman_package.rb +4 -4
  149. data/lib/chef/resource/perl.rb +4 -4
  150. data/lib/chef/resource/portage_package.rb +4 -4
  151. data/lib/chef/resource/python.rb +4 -4
  152. data/lib/chef/resource/remote_directory.rb +3 -3
  153. data/lib/chef/resource/remote_file.rb +26 -3
  154. data/lib/chef/resource/route.rb +3 -3
  155. data/lib/chef/resource/ruby.rb +3 -3
  156. data/lib/chef/resource/ruby_block.rb +3 -2
  157. data/lib/chef/resource/scm.rb +7 -5
  158. data/lib/chef/resource/script.rb +4 -4
  159. data/lib/chef/resource/service.rb +3 -3
  160. data/lib/chef/resource/subversion.rb +4 -2
  161. data/lib/chef/resource/template.rb +3 -3
  162. data/lib/chef/resource/user.rb +3 -3
  163. data/lib/chef/resource/yum_package.rb +3 -3
  164. data/lib/chef/resource_collection.rb +9 -5
  165. data/lib/chef/resources.rb +2 -0
  166. data/lib/chef/rest.rb +4 -0
  167. data/lib/chef/role.rb +2 -0
  168. data/lib/chef/run_context.rb +108 -0
  169. data/lib/chef/run_list.rb +75 -98
  170. data/lib/chef/run_list/run_list_expansion.rb +156 -0
  171. data/lib/chef/run_list/run_list_item.rb +71 -0
  172. data/lib/chef/runner.rb +58 -61
  173. data/lib/chef/sandbox.rb +147 -0
  174. data/lib/chef/shef.rb +4 -3
  175. data/lib/chef/shef/ext.rb +12 -4
  176. data/lib/chef/shef/shef_session.rb +27 -23
  177. data/lib/chef/shell_out.rb +375 -0
  178. data/lib/chef/util/windows.rb +56 -0
  179. data/lib/chef/util/windows/net_group.rb +101 -0
  180. data/lib/chef/util/windows/net_user.rb +198 -0
  181. data/lib/chef/version.rb +20 -0
  182. metadata +112 -22
  183. data/lib/chef/compile.rb +0 -158
  184. data/lib/chef/cookbook.rb +0 -201
  185. data/lib/chef/mixin/generate_url.rb +0 -58
@@ -0,0 +1,176 @@
1
+ #! /bin/sh
2
+ ### BEGIN INIT INFO
3
+ # Provides: chef-solr-indexer
4
+ # Required-Start: $remote_fs $network rabbitmq-server chef-solr
5
+ # Required-Stop: $remote_fs $network rabbitmq-server chef-solr
6
+ # Default-Start: 2 3 4 5
7
+ # Default-Stop: 0 1 6
8
+ # Short-Description: Start a chef-solr-indexer.
9
+ ### END INIT INFO
10
+ #
11
+ # Copyright (c) 2009-2010 Opscode, Inc <legal@opscode.com>
12
+ #
13
+ # chef-solr-indexer Startup script for chef-solr-indexer.
14
+ # chkconfig: - 85 02
15
+ # description: starts up chef-solr-indexer in daemon mode.
16
+
17
+ PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
18
+ DAEMON=/usr/sbin/chef-solr-indexer
19
+ NAME=chef-solr-indexer
20
+ DESC=chef-solr-indexer
21
+ PIDFILE=/var/run/chef/solr-indexer.pid
22
+
23
+ test -x $DAEMON || exit 0
24
+
25
+ . /lib/lsb/init-functions
26
+
27
+ [ -r /etc/default/$NAME ] && . /etc/default/$NAME
28
+
29
+ if [ ! -d /var/run/chef ]; then
30
+ mkdir /var/run/chef
31
+ chown $USER:$GROUP /var/run/chef
32
+ fi
33
+
34
+ DAEMON_OPTS="-d -P $PIDFILE -c $CONFIG -L $LOGFILE -u $USER -g $GROUP"
35
+
36
+ running_pid() {
37
+ pid=$1
38
+ name=$2
39
+ [ -z "$pid" ] && return 1
40
+ [ ! -d /proc/$pid ] && return 1
41
+ cmd=`cat /proc/$pid/cmdline | tr '\000' '\n' | awk 'NR==2'`
42
+ [ "$cmd" != "$name" ] && return 1
43
+ return 0
44
+ }
45
+
46
+ running() {
47
+ [ ! -f "$PIDFILE" ] && return 1
48
+ pid=`cat $PIDFILE`
49
+ running_pid $pid $DAEMON || return 1
50
+ return 0
51
+ }
52
+
53
+ start_server() {
54
+ if [ -z "$DAEMONUSER" ] ; then
55
+ start_daemon -p $PIDFILE $DAEMON $DAEMON_OPTS
56
+ errcode=$?
57
+ else
58
+ start-stop-daemon --start --quiet --pidfile $PIDFILE \
59
+ --chuid $DAEMONUSER \
60
+ --exec $DAEMON -- $DAEMON_OPTS
61
+ errcode=$?
62
+ fi
63
+ return $errcode
64
+ }
65
+
66
+ stop_server() {
67
+ if [ -z "$DAEMONUSER" ] ; then
68
+ killproc -p $PIDFILE $DAEMON
69
+ errcode=$?
70
+ else
71
+ start-stop-daemon --stop --quiet --pidfile $PIDFILE \
72
+ --user $DAEMONUSER \
73
+ --exec $DAEMON
74
+ errcode=$?
75
+ fi
76
+ return $errcode
77
+ }
78
+
79
+ reload_server() {
80
+ [ ! -f "$PIDFILE" ] && return 1
81
+ pid=pidofproc $PIDFILE # This is the daemon's pid
82
+ /bin/kill -1 $pid
83
+ return $?
84
+ }
85
+
86
+ force_stop() {
87
+ [ ! -e "$PIDFILE" ] && return
88
+ if running ; then
89
+ /bin/kill -15 $pid
90
+ sleep "$DIETIME"s
91
+ if running ; then
92
+ /bin/kill -9 $pid
93
+ sleep "$DIETIME"s
94
+ if running ; then
95
+ echo "Cannot kill $NAME (pid=$pid)!"
96
+ exit 1
97
+ fi
98
+ fi
99
+ fi
100
+ rm -f $PIDFILE
101
+ }
102
+
103
+ case "$1" in
104
+ start)
105
+ log_daemon_msg "Starting $DESC " "$NAME"
106
+ if running ; then
107
+ log_progress_msg "apparently already running"
108
+ log_end_msg 0
109
+ exit 3
110
+ fi
111
+ if start_server ; then
112
+ [ -n "$STARTTIME" ] && sleep $STARTTIME # Wait some time
113
+ if running ; then
114
+ log_end_msg 0
115
+ else
116
+ log_end_msg 1
117
+ fi
118
+ else
119
+ log_end_msg 1
120
+ fi
121
+ ;;
122
+ stop)
123
+ log_daemon_msg "Stopping $DESC" "$NAME"
124
+ if running ; then
125
+ errcode=0
126
+ stop_server || errcode=$?
127
+ log_end_msg $errcode
128
+ else
129
+ log_progress_msg "apparently not running"
130
+ log_end_msg 0
131
+ exit 0
132
+ fi
133
+ ;;
134
+ force-stop)
135
+ $0 stop
136
+ if running; then
137
+ log_daemon_msg "Stopping (force) $DESC" "$NAME"
138
+ errcode=0
139
+ force_stop || errcode=$?
140
+ log_end_msg $errcode
141
+ fi
142
+ ;;
143
+ restart|force-reload)
144
+ log_daemon_msg "Restarting $DESC" "$NAME"
145
+ errcode=0
146
+ stop_server || errcode=$?
147
+ [ -n "$DIETIME" ] && sleep $DIETIME
148
+ start_server || errcode=$?
149
+ [ -n "$STARTTIME" ] && sleep $STARTTIME
150
+ running || errcode=$?
151
+ log_end_msg $errcode
152
+ ;;
153
+ status)
154
+ log_daemon_msg "Checking status of $DESC" "$NAME"
155
+ if running ; then
156
+ log_progress_msg "running"
157
+ log_end_msg 0
158
+ else
159
+ log_progress_msg "apparently not running"
160
+ log_end_msg 1
161
+ exit 1
162
+ fi
163
+ ;;
164
+ reload)
165
+ log_warning_msg "Reloading $NAME daemon: not implemented, as the daemon"
166
+ log_warning_msg "cannot re-read the config file (use restart)."
167
+ ;;
168
+ *)
169
+ N=/etc/init.d/$NAME
170
+ echo "Usage: $N {start|stop|force-stop|restart|force-reload|status}" >&2
171
+ exit 1
172
+ ;;
173
+ esac
174
+
175
+ exit 0
176
+
@@ -1,78 +1,106 @@
1
1
  #!/bin/bash
2
- # Startup script for chef-client
2
+ #
3
+ # chef-client Startup script for the Chef client
3
4
  #
4
5
  # chkconfig: - 98 02
5
6
  # description: Client component of the Chef systems integration framework.
6
- # processname: chef-client
7
- #
8
- # config: /etc/sysconfig/chef-client
9
- # pidfile: /var/run/chef/chef-client.pid
7
+
8
+ ### BEGIN INIT INFO
9
+ # Provides: chef-client
10
+ # Required-Start: $local_fs $network $remote_fs
11
+ # Required-Stop: $local_fs $network $remote_fs
12
+ # Should-Start: $named $time
13
+ # Should-Stop: $named $time
14
+ # Short-Description: Startup script for the Chef client
15
+ # Description: Client component of the Chef systems integration framework.
16
+ ### END INIT INFO
10
17
 
11
18
  # Source function library
12
19
  . /etc/init.d/functions
13
20
 
14
- [ -f /etc/sysconfig/chef-client ] && . /etc/sysconfig/chef-client
15
-
21
+ exec="/usr/bin/chef-client"
16
22
  prog="chef-client"
23
+
24
+ [ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
25
+
26
+ config=${CONFIG-/etc/chef/client.rb}
17
27
  pidfile=${PIDFILE-/var/run/chef/client.pid}
18
28
  lockfile=${LOCKFILE-/var/lock/subsys/$prog}
19
- config=${CONFIG-/etc/chef/client.rb}
20
- user=${CHEF_USER-root}
21
- group=${CHEF_GROUP-root}
29
+ logfile=${LOGFILE-/var/log/chef/client.log}
22
30
  interval=${INTERVAL-1800}
23
31
  splay=${SPLAY-20}
24
- logfile=${LOGFILE-/var/log/chef/client.log}
25
32
  options=${OPTIONS-}
26
33
 
27
34
  start() {
28
- echo -n "Starting $prog:"
29
- daemon chef-client -d -c "$config" -i "$interval" -s "$splay" -L "$logfile" "$options" "&>/dev/null"
30
- RETVAL=$?
35
+ [ -x $exec ] || exit 5
36
+ [ -f $config ] || exit 6
37
+ echo -n $"Starting $prog: "
38
+ daemon chef-client -d -c "$config" -L "$logfile" -i "$interval" -s "$splay" "$options"
39
+ retval=$?
31
40
  echo
32
- [ $RETVAL -eq 0 ] && touch ${lockfile}
33
- return $RETVAL
41
+ [ $retval -eq 0 ] && touch $lockfile
42
+ return $retval
34
43
  }
35
44
 
36
45
  stop() {
37
- echo -n "Stopping $prog: "
38
- if [ -f $pidfile ]; then
39
- killproc chef-client
40
- RETVAL=$?
41
- if [ $RETVAL -ne 0 ]; then
42
- failure;
43
- fi;
44
- else
45
- RETVAL=1
46
- failure;
47
- fi
48
- rm -f $lockfile
46
+ echo -n $"Stopping $prog: "
47
+ killproc -p $pidfile chef-client
48
+ retval=$?
49
49
  echo
50
- return $RETVAL
50
+ [ $retval -eq 0 ] && rm -f $lockfile
51
+ return $retval
52
+ }
53
+
54
+ restart () {
55
+ stop
56
+ start
57
+ }
58
+
59
+ reload() {
60
+ restart
61
+ }
62
+
63
+ force_reload() {
64
+ restart
65
+ }
66
+
67
+ rh_status() {
68
+ # run checks to determine if the service is running or use generic status
69
+ status -p $pidfile $prog
70
+ }
71
+
72
+ rh_status_q() {
73
+ rh_status >/dev/null 2>&1
51
74
  }
52
75
 
53
76
  case "$1" in
54
- start)
55
- start
77
+ start)
78
+ rh_status_q && exit 0
79
+ $1
80
+ ;;
81
+ stop)
82
+ rh_status_q || exit 0
83
+ $1
56
84
  ;;
57
- stop)
58
- stop
85
+ restart)
86
+ $1
59
87
  ;;
60
- restart)
61
- stop
62
- start
88
+ reload)
89
+ rh_status_q || exit 7
90
+ $1
63
91
  ;;
64
- condrestart)
65
- if [ -f $lockfile ]; then
66
- stop
67
- start
68
- fi
92
+ force-reload)
93
+ force_reload
69
94
  ;;
70
- status)
71
- status chef-client
95
+ status)
96
+ rh_status
72
97
  ;;
73
- *)
74
- echo "Usage: $0 {start|stop|restart|condrestart|status}"
75
- exit 1
98
+ condrestart|try-restart)
99
+ rh_status_q || exit 0
100
+ restart
101
+ ;;
102
+ *)
103
+ echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
104
+ exit 2
76
105
  esac
77
-
78
- exit $RETVAL
106
+ exit $?
@@ -1,78 +1,112 @@
1
1
  #!/bin/bash
2
- # Startup script for chef-server
3
2
  #
4
- # chkconfig: - 65 35
5
- # description: Server component of the Chef systems integration framework.
6
- # processname: chef-server
3
+ # chef-server Startup script for chef-server
7
4
  #
8
- # config: /etc/sysconfig/chef-server
9
- # pidfile: /var/run/chef/chef-server.pid
5
+ # chkconfig: - 96 04
6
+ # description: Server component of the Chef systems integration framework.
7
+
8
+ ### BEGIN INIT INFO
9
+ # Provides: chef-server
10
+ # Required-Start: $local_fs $network $remote_fs chef-solr chef-solr-indexer
11
+ # Required-Stop: $local_fs $network $remote_fs chef-solr chef-solr-indexer
12
+ # Should-Start: $named $time
13
+ # Should-Stop: $named $time
14
+ # Short-Description: Startup script for chef-server
15
+ # Description: Server component of the Chef systems integration framework.
16
+ ### END INIT INFO
10
17
 
11
18
  # Source function library
12
19
  . /etc/init.d/functions
13
20
 
14
- [ -f /etc/sysconfig/chef-server ] && . /etc/sysconfig/chef-server
15
-
21
+ exec="/usr/bin/chef-server"
16
22
  prog="chef-server"
17
- childpidfiles=${CHILDPIDFILES-/var/run/chef/server.%s.pid}
23
+
24
+ [ -f /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
25
+
26
+ config=${CONFIG-/etc/chef/server.rb}
18
27
  pidfile=${PIDFILE-/var/run/chef/server.main.pid}
19
28
  lockfile=${LOCKFILE-/var/lock/subsys/$prog}
20
- config=${CONFIG-/etc/chef/server.rb}
21
- user=${CHEF_USER-chef}
22
- group=${CHEF_GROUP-chef}
23
- cluster_nodes=${CLUSTER_NODES-1}
24
- logfile=${LOGFILE-/var/log/chef/merb.%s.log}
29
+ logfile=${LOGFILE-/var/log/chef/server.log}
30
+ port=${PORT-4000}
31
+ env=${ENVIRONMENT-production}
32
+ adapter=${ADAPTER-thin}
33
+ childpidfiles=${CHILDPIDFILES-/var/run/chef/server.%s.pid}
34
+ user=${SERVER_USER-chef}
35
+ group=${SERVER_GROUP-chef}
25
36
  options=${OPTIONS-}
26
37
 
27
38
  start() {
28
- echo -n "Starting $prog:"
29
- daemon $prog -d -c "$cluster_nodes" -C "$config" -u "$user" -G "$group" -L "$logfile" -P "$childpidfiles" "$options" "&>/dev/null"
30
- RETVAL=$?
39
+ [ -x $exec ] || exit 5
40
+ [ -f $config ] || exit 6
41
+ echo -n $"Starting $prog: "
42
+ daemon $prog -d -C "$config" -L "$logfile" -p "$port" -e "$env" \
43
+ -a "$adapter" -P "$childpidfiles" -u "$user" -G "$group" \
44
+ "$options" "&>/dev/null"
45
+ retval=$?
31
46
  echo
32
- [ $RETVAL -eq 0 ] && touch ${lockfile}
33
- return $RETVAL
47
+ [ $retval -eq 0 ] && touch $lockfile
48
+ return $retval
34
49
  }
35
50
 
36
51
  stop() {
37
- echo -n "Stopping $prog: "
38
- if [ -f $pidfile ]; then
39
- killproc $prog
40
- RETVAL=$?
41
- if [ $RETVAL -ne 0 ]; then
42
- failure;
43
- fi;
44
- else
45
- RETVAL=1
46
- failure;
47
- fi
48
- rm -f $lockfile
52
+ echo -n $"Stopping $prog: "
53
+ killproc -p $pidfile $prog
54
+ retval=$?
49
55
  echo
50
- return $RETVAL
56
+ [ $retval -eq 0 ] && rm -f $lockfile
57
+ return $retval
58
+ }
59
+
60
+ restart () {
61
+ stop
62
+ start
63
+ }
64
+
65
+ reload() {
66
+ restart
67
+ }
68
+
69
+ force_reload() {
70
+ restart
71
+ }
72
+
73
+ rh_status() {
74
+ # run checks to determine if the service is running or use generic status
75
+ status -p $pidfile $prog
76
+ }
77
+
78
+ rh_status_q() {
79
+ rh_status >/dev/null 2>&1
51
80
  }
52
81
 
53
82
  case "$1" in
54
- start)
55
- start
83
+ start)
84
+ rh_status_q && exit 0
85
+ $1
86
+ ;;
87
+ stop)
88
+ rh_status_q || exit 0
89
+ $1
56
90
  ;;
57
- stop)
58
- stop
91
+ restart)
92
+ $1
59
93
  ;;
60
- restart)
61
- stop
62
- start
94
+ reload)
95
+ rh_status_q || exit 7
96
+ $1
63
97
  ;;
64
- condrestart)
65
- if [ -f $lockfile ]; then
66
- stop
67
- start
68
- fi
98
+ force-reload)
99
+ force_reload
69
100
  ;;
70
- status)
71
- status $prog
101
+ status)
102
+ rh_status
72
103
  ;;
73
- *)
74
- echo "Usage: $0 {start|stop|restart|condrestart|status}"
75
- exit 1
104
+ condrestart|try-restart)
105
+ rh_status_q || exit 0
106
+ restart
107
+ ;;
108
+ *)
109
+ echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
110
+ exit 2
76
111
  esac
77
-
78
- exit $RETVAL
112
+ exit $?