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
@@ -1,78 +1,112 @@
1
1
  #!/bin/bash
2
- # Startup script for chef-server-webui
3
2
  #
4
- # chkconfig: - 66 34
5
- # description: Server component of the Chef systems integration framework.
6
- # processname: chef-server-webui
3
+ # chef-server-webui Startup script for chef-server-webui
7
4
  #
8
- # config: /etc/sysconfig/chef-server-webui
9
- # pidfile: /var/run/chef/chef-server-webui.pid
5
+ # chkconfig: - 97 03
6
+ # description: Server WebUI component of the Chef systems integration framework.
7
+
8
+ ### BEGIN INIT INFO
9
+ # Provides: chef-server-webui
10
+ # Required-Start: $local_fs $network $remote_fs chef-sever
11
+ # Required-Stop: $local_fs $network $remote_fs chef-server
12
+ # Should-Start: $named $time
13
+ # Should-Stop: $named $time
14
+ # Short-Description: Startup script for chef-server-webui
15
+ # Description: Server WebUI 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-webui ] && . /etc/sysconfig/chef-server-webui
15
-
21
+ exec="/usr/bin/chef-server-webui"
16
22
  prog="chef-server-webui"
17
- childpidfiles=${CHILDPIDFILES-/var/run/chef/server-webui.%s.pid}
23
+
24
+ [ -f /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
25
+
26
+ config=${CONFIG-/etc/chef/webui.rb}
18
27
  pidfile=${PIDFILE-/var/run/chef/server-webui.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-webui.%s.log}
29
+ logfile=${LOGFILE-/var/log/chef/server-webui.log}
30
+ port=${PORT-4040}
31
+ env=${ENVIRONMENT-production}
32
+ adapter=${ADAPTER-thin}
33
+ childpidfiles=${CHILDPIDFILES-/var/run/chef/server-webui.%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 $?
@@ -1,76 +1,104 @@
1
1
  #!/bin/bash
2
- # Startup script for chef-solr
2
+ #
3
+ # chef-solr Startup script for the SOLR search engine
3
4
  #
4
- # chkconfig: - 66 34
5
- # description: SOLR search engine for Chef Server.
6
- # processname: chef-solr
7
- #
8
- # config: /etc/sysconfig/chef-solr
9
- # pidfile: /var/run/chef/chef-solr.pid
5
+ # chkconfig: - 94 06
6
+ # description: SOLR search engine for the Chef Server.
7
+
8
+ ### BEGIN INIT INFO
9
+ # Provides: chef-solr
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 SOLR search engine
15
+ # Description: SOLR search engine for the Chef Server.
16
+ ### END INIT INFO
10
17
 
11
18
  # Source function library
12
19
  . /etc/init.d/functions
13
20
 
14
- [ -f /etc/sysconfig/chef-solr ] && . /etc/sysconfig/chef-solr
15
-
21
+ exec="/usr/bin/chef-solr"
16
22
  prog="chef-solr"
23
+
24
+ [ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
25
+
26
+ config=${CONFIG-/etc/chef/solr.rb}
17
27
  pidfile=${PIDFILE-/var/run/chef/solr.pid}
18
28
  lockfile=${LOCKFILE-/var/lock/subsys/$prog}
19
- config=${CONFIG-/etc/chef/server.rb}
20
- user=${CHEF_USER-chef}
21
- group=${CHEF_GROUP-chef}
22
29
  logfile=${LOGFILE-/var/log/chef/solr.log}
23
30
  options=${OPTIONS-}
24
31
 
25
32
  start() {
26
- echo -n "Starting $prog:"
27
- daemon $prog -d -c "$config" -u "$user" -g "$group" -L "$logfile" "$options" "&>/dev/null"
28
- RETVAL=$?
33
+ [ -x $exec ] || exit 5
34
+ [ -f $config ] || exit 6
35
+ echo -n $"Starting $prog: "
36
+ daemon $prog -d -c "$config" -L "$logfile" "$options"
37
+ retval=$?
29
38
  echo
30
- [ $RETVAL -eq 0 ] && touch ${lockfile}
31
- return $RETVAL
39
+ [ $retval -eq 0 ] && touch $lockfile
40
+ return $retval
32
41
  }
33
42
 
34
43
  stop() {
35
- echo -n "Stopping $prog: "
36
- if [ -f $pidfile ]; then
37
- killproc $prog
38
- RETVAL=$?
39
- if [ $RETVAL -ne 0 ]; then
40
- failure;
41
- fi;
42
- else
43
- RETVAL=1
44
- failure;
45
- fi
46
- rm -f $lockfile
44
+ echo -n $"Stopping $prog: "
45
+ killproc -p $pidfile $prog
46
+ retval=$?
47
47
  echo
48
- return $RETVAL
48
+ [ $retval -eq 0 ] && rm -f $lockfile
49
+ return $retval
50
+ }
51
+
52
+ restart () {
53
+ stop
54
+ start
55
+ }
56
+
57
+ reload() {
58
+ restart
59
+ }
60
+
61
+ force_reload() {
62
+ restart
63
+ }
64
+
65
+ rh_status() {
66
+ # run checks to determine if the service is running or use generic status
67
+ status -p $pidfile $prog
68
+ }
69
+
70
+ rh_status_q() {
71
+ rh_status >/dev/null 2>&1
49
72
  }
50
73
 
51
74
  case "$1" in
52
- start)
53
- start
75
+ start)
76
+ rh_status_q && exit 0
77
+ $1
78
+ ;;
79
+ stop)
80
+ rh_status_q || exit 0
81
+ $1
54
82
  ;;
55
- stop)
56
- stop
83
+ restart)
84
+ $1
57
85
  ;;
58
- restart)
59
- stop
60
- start
86
+ reload)
87
+ rh_status_q || exit 7
88
+ $1
61
89
  ;;
62
- condrestart)
63
- if [ -f $lockfile ]; then
64
- stop
65
- start
66
- fi
90
+ force-reload)
91
+ force_reload
67
92
  ;;
68
- status)
69
- status $prog
93
+ status)
94
+ rh_status
70
95
  ;;
71
- *)
72
- echo "Usage: $0 {start|stop|restart|condrestart|status}"
73
- exit 1
96
+ condrestart|try-restart)
97
+ rh_status_q || exit 0
98
+ restart
99
+ ;;
100
+ *)
101
+ echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
102
+ exit 2
74
103
  esac
75
-
76
- exit $RETVAL
104
+ exit $?
@@ -1,75 +1,104 @@
1
1
  #!/bin/bash
2
- # Startup script for chef-solr-indexer
3
2
  #
4
- # chkconfig: - 66 34
5
- # description: Search indexer component of Chef Server.
6
- # processname: chef-solr-indexer
3
+ # chef-solr-indexer Startup script for the Chef search indexer
7
4
  #
8
- # config: /etc/sysconfig/chef-solr-indexer
9
- # pidfile: /var/run/chef/chef-solr-indexer.pid
5
+ # chkconfig: - 95 05
6
+ # description: Search indexer component of the Chef Server.
7
+
8
+ ### BEGIN INIT INFO
9
+ # Provides: chef-solr-indexer
10
+ # Required-Start: $local_fs $network $remote_fs chef-solr rabbitmq-server
11
+ # Required-Stop: $local_fs $network $remote_fs chef-solr rabbitmq-server
12
+ # Should-Start: $named $time
13
+ # Should-Stop: $named $time
14
+ # Short-Description: Startup script for the Chef search indexer
15
+ # Description: Search indexer component of the Chef Server.
16
+ ### END INIT INFO
10
17
 
11
18
  # Source function library
12
19
  . /etc/init.d/functions
13
20
 
14
- [ -f /etc/sysconfig/chef-solr-indexer ] && . /etc/sysconfig/chef-solr-indexer
15
-
21
+ exec="/usr/bin/chef-solr-indexer"
16
22
  prog="chef-solr-indexer"
23
+
24
+ [ -f /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
25
+
26
+ config=${CONFIG-/etc/chef/solr-indexer.rb}
17
27
  pidfile=${PIDFILE-/var/run/chef/solr-indexer.pid}
18
28
  lockfile=${LOCKFILE-/var/lock/subsys/$prog}
19
- config=${CONFIG-/etc/chef/server.rb}
20
- user=${CHEF_USER-chef}
21
- group=${CHEF_GROUP-chef}
22
29
  logfile=${LOGFILE-/var/log/chef/solr-indexer.log}
30
+ options=${OPTIONS-}
23
31
 
24
32
  start() {
25
- echo -n "Starting $prog:"
26
- daemon $prog -d -c "$config" -u "$user" -g "$group" -L "$logfile" "&>/dev/null"
27
- RETVAL=$?
33
+ [ -x $exec ] || exit 5
34
+ [ -f $config ] || exit 6
35
+ echo -n $"Starting $prog: "
36
+ daemon $prog -d -c "$config" -L "$logfile" "$options"
37
+ retval=$?
28
38
  echo
29
- [ $RETVAL -eq 0 ] && touch ${lockfile}
30
- return $RETVAL
39
+ [ $retval -eq 0 ] && touch $lockfile
40
+ return $retval
31
41
  }
32
42
 
33
43
  stop() {
34
- echo -n "Stopping $prog: "
35
- if [ -f $pidfile ]; then
36
- killproc $prog
37
- RETVAL=$?
38
- if [ $RETVAL -ne 0 ]; then
39
- failure;
40
- fi;
41
- else
42
- RETVAL=1
43
- failure;
44
- fi
45
- rm -f $lockfile
44
+ echo -n $"Stopping $prog: "
45
+ killproc -p $pidfile $prog
46
+ retval=$?
46
47
  echo
47
- return $RETVAL
48
+ [ $retval -eq 0 ] && rm -f $lockfile
49
+ return $retval
50
+ }
51
+
52
+ restart () {
53
+ stop
54
+ start
55
+ }
56
+
57
+ reload() {
58
+ restart
59
+ }
60
+
61
+ force_reload() {
62
+ restart
63
+ }
64
+
65
+ rh_status() {
66
+ # run checks to determine if the service is running or use generic status
67
+ status -p $pidfile $prog
68
+ }
69
+
70
+ rh_status_q() {
71
+ rh_status >/dev/null 2>&1
48
72
  }
49
73
 
50
74
  case "$1" in
51
- start)
52
- start
75
+ start)
76
+ rh_status_q && exit 0
77
+ $1
78
+ ;;
79
+ stop)
80
+ rh_status_q || exit 0
81
+ $1
53
82
  ;;
54
- stop)
55
- stop
83
+ restart)
84
+ $1
56
85
  ;;
57
- restart)
58
- stop
59
- start
86
+ reload)
87
+ rh_status_q || exit 7
88
+ $1
60
89
  ;;
61
- condrestart)
62
- if [ -f $lockfile ]; then
63
- stop
64
- start
65
- fi
90
+ force-reload)
91
+ force_reload
66
92
  ;;
67
- status)
68
- status $prog
93
+ status)
94
+ rh_status
69
95
  ;;
70
- *)
71
- echo "Usage: $0 {start|stop|restart|condrestart|status}"
72
- exit 1
96
+ condrestart|try-restart)
97
+ rh_status_q || exit 0
98
+ restart
99
+ ;;
100
+ *)
101
+ echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
102
+ exit 2
73
103
  esac
74
-
75
- exit $RETVAL
104
+ exit $?