chef 0.10.0.beta.6 → 0.10.0.beta.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. data/lib/chef/application.rb +3 -0
  2. data/lib/chef/application/client.rb +34 -2
  3. data/lib/chef/checksum.rb +2 -2
  4. data/lib/chef/checksum_cache.rb +2 -2
  5. data/lib/chef/client.rb +7 -5
  6. data/lib/chef/cookbook/remote_file_vendor.rb +1 -1
  7. data/lib/chef/cookbook/syntax_check.rb +2 -2
  8. data/lib/chef/cookbook_version.rb +5 -0
  9. data/lib/chef/data_bag_item.rb +1 -1
  10. data/lib/chef/environment.rb +31 -9
  11. data/lib/chef/file_access_control.rb +7 -3
  12. data/lib/chef/index_queue/indexable.rb +2 -2
  13. data/lib/chef/knife.rb +1 -1
  14. data/lib/chef/knife/bootstrap.rb +1 -1
  15. data/lib/chef/knife/cookbook_site_install.rb +1 -1
  16. data/lib/chef/knife/cookbook_site_share.rb +2 -2
  17. data/lib/chef/knife/cookbook_upload.rb +32 -11
  18. data/lib/chef/knife/core/subcommand_loader.rb +24 -13
  19. data/lib/chef/knife/core/text_formatter.rb +2 -2
  20. data/lib/chef/knife/core/ui.rb +1 -1
  21. data/lib/chef/knife/search.rb +1 -1
  22. data/lib/chef/knife/ssh.rb +1 -0
  23. data/lib/chef/mixin/shell_out.rb +2 -2
  24. data/lib/chef/node.rb +7 -4
  25. data/lib/chef/provider/cookbook_file.rb +4 -5
  26. data/lib/chef/provider/cron.rb +3 -3
  27. data/lib/chef/provider/cron/solaris.rb +7 -7
  28. data/lib/chef/provider/deploy.rb +52 -29
  29. data/lib/chef/provider/directory.rb +8 -8
  30. data/lib/chef/provider/env.rb +8 -8
  31. data/lib/chef/provider/erl_call.rb +7 -6
  32. data/lib/chef/provider/execute.rb +7 -2
  33. data/lib/chef/provider/file.rb +9 -9
  34. data/lib/chef/provider/git.rb +17 -8
  35. data/lib/chef/provider/group.rb +6 -6
  36. data/lib/chef/provider/group/aix.rb +1 -1
  37. data/lib/chef/provider/group/dscl.rb +2 -2
  38. data/lib/chef/provider/group/gpasswd.rb +3 -3
  39. data/lib/chef/provider/group/groupadd.rb +1 -1
  40. data/lib/chef/provider/group/pw.rb +3 -3
  41. data/lib/chef/provider/group/usermod.rb +2 -2
  42. data/lib/chef/provider/group/windows.rb +1 -1
  43. data/lib/chef/provider/ifconfig.rb +9 -7
  44. data/lib/chef/provider/link.rb +27 -24
  45. data/lib/chef/provider/mdadm.rb +10 -10
  46. data/lib/chef/provider/mount.rb +10 -13
  47. data/lib/chef/provider/mount/mount.rb +10 -10
  48. data/lib/chef/provider/mount/windows.rb +4 -3
  49. data/lib/chef/provider/ohai.rb +2 -1
  50. data/lib/chef/provider/package.rb +10 -6
  51. data/lib/chef/provider/package/apt.rb +18 -18
  52. data/lib/chef/provider/package/dpkg.rb +3 -3
  53. data/lib/chef/provider/package/easy_install.rb +2 -2
  54. data/lib/chef/provider/package/freebsd.rb +4 -5
  55. data/lib/chef/provider/package/macports.rb +2 -2
  56. data/lib/chef/provider/package/pacman.rb +2 -2
  57. data/lib/chef/provider/package/portage.rb +1 -1
  58. data/lib/chef/provider/package/rpm.rb +3 -3
  59. data/lib/chef/provider/package/rubygems.rb +7 -7
  60. data/lib/chef/provider/package/solaris.rb +9 -9
  61. data/lib/chef/provider/package/yum.rb +4 -4
  62. data/lib/chef/provider/package/zypper.rb +5 -11
  63. data/lib/chef/provider/remote_directory.rb +15 -14
  64. data/lib/chef/provider/remote_file.rb +11 -12
  65. data/lib/chef/provider/route.rb +8 -10
  66. data/lib/chef/provider/ruby_block.rb +1 -0
  67. data/lib/chef/provider/service.rb +10 -16
  68. data/lib/chef/provider/service/debian.rb +1 -1
  69. data/lib/chef/provider/service/freebsd.rb +16 -18
  70. data/lib/chef/provider/service/gentoo.rb +2 -3
  71. data/lib/chef/provider/service/simple.rb +7 -5
  72. data/lib/chef/provider/service/upstart.rb +8 -8
  73. data/lib/chef/provider/service/windows.rb +3 -3
  74. data/lib/chef/provider/subversion.rb +12 -9
  75. data/lib/chef/provider/template.rb +2 -3
  76. data/lib/chef/provider/user.rb +13 -14
  77. data/lib/chef/provider/user/dscl.rb +2 -2
  78. data/lib/chef/provider/user/pw.rb +4 -4
  79. data/lib/chef/provider/user/useradd.rb +3 -3
  80. data/lib/chef/provider/user/windows.rb +3 -3
  81. data/lib/chef/resource.rb +4 -3
  82. data/lib/chef/resource/deploy.rb +1 -1
  83. data/lib/chef/rest/rest_request.rb +2 -2
  84. data/lib/chef/run_context.rb +1 -1
  85. data/lib/chef/shell_out.rb +13 -1
  86. data/lib/chef/solr_query.rb +1 -1
  87. data/lib/chef/solr_query/solr_http_request.rb +1 -1
  88. data/lib/chef/tasks/chef_repo.rake +74 -0
  89. data/lib/chef/version.rb +1 -1
  90. metadata +2 -2
@@ -126,7 +126,7 @@ class Chef
126
126
 
127
127
  # Expect [ { :version => "ver", :release => "rel" }, { :version => "ver", :release => "rel" }, { :version => "ver", :release => "rel" } ] ???
128
128
  matching_versions.each do |ver|
129
- Chef::Log.debug("#{package_name}: trying to match #{desired_version} to version #{ver[:version]} and release #{ver[:release]}")
129
+ Chef::Log.debug("#{@new_resource} trying to match #{desired_version} to version #{ver[:version]} and release #{ver[:release]}")
130
130
  if (desired_version == "#{ver[:version]}-#{ver[:release]}")
131
131
  return true
132
132
  end
@@ -176,7 +176,7 @@ class Chef
176
176
  raise Chef::Exceptions::Package, "Package #{@new_resource.name} not found: #{@new_resource.source}"
177
177
  end
178
178
 
179
- Chef::Log.debug("Checking rpm status for #{@new_resource.package_name}")
179
+ Chef::Log.debug("#{@new_resource} checking rpm status")
180
180
  status = popen4("rpm -qp --queryformat '%{NAME} %{VERSION}-%{RELEASE}\n' #{@new_resource.source}") do |pid, stdin, stdout, stderr|
181
181
  stdout.each do |line|
182
182
  case line
@@ -188,7 +188,7 @@ class Chef
188
188
  end
189
189
  end
190
190
 
191
- Chef::Log.debug("Checking yum info for #{@new_resource.package_name}#{yum_arch}")
191
+ Chef::Log.debug("#{@new_resource} checking yum info for #{@new_resource.package_name}#{yum_arch}")
192
192
 
193
193
  @yum.refresh
194
194
 
@@ -201,7 +201,7 @@ class Chef
201
201
  else
202
202
  @candidate_version = installed_version
203
203
  end
204
- Chef::Log.debug("#{@current_resource.name}: Installed version: #{installed_version} Candidate version: #{candidate_version}")
204
+ Chef::Log.debug("#{@new_resource} installed version: #{installed_version} candidate version: #{candidate_version}")
205
205
 
206
206
  @current_resource
207
207
  end
@@ -35,24 +35,24 @@ class Chef
35
35
  is_out_of_date=false
36
36
  version=''
37
37
  oud_version=''
38
- Chef::Log.debug("Checking zypper for #{@new_resource.package_name}")
38
+ Chef::Log.debug("#{@new_resource} checking zypper")
39
39
  status = popen4("zypper info #{@new_resource.package_name}") do |pid, stdin, stdout, stderr|
40
40
  stdout.each do |line|
41
41
  case line
42
42
  when /^Version: (.+)$/
43
43
  version = $1
44
- Chef::Log.debug("zypper version=#{$1}")
44
+ Chef::Log.debug("#{@new_resource} version #{$1}")
45
45
  when /^Installed: Yes$/
46
46
  is_installed=true
47
- Chef::Log.debug("zypper installed true")
47
+ Chef::Log.debug("#{@new_resource} is installed")
48
48
 
49
49
  when /^Installed: No$/
50
50
  is_installed=false
51
- Chef::Log.debug("zypper installed false")
51
+ Chef::Log.debug("#{@new_resource} is not installed")
52
52
  when /^Status: out-of-date \(version (.+) installed\)$/
53
53
  is_out_of_date=true
54
54
  oud_version=$1
55
- Chef::Log.debug("zypper out of date version=#{$1}")
55
+ Chef::Log.debug("#{@new_resource} out of date version #{$1}")
56
56
  end
57
57
  end
58
58
  end
@@ -60,28 +60,22 @@ class Chef
60
60
  if is_installed==false
61
61
  @candidate_version=version
62
62
  @current_resource.version(nil)
63
- Chef::Log.debug("dentro installed false");
64
63
  end
65
64
 
66
65
  if is_installed==true
67
66
  if is_out_of_date==true
68
67
  @current_resource.version(oud_version)
69
68
  @candidate_version=version
70
- Chef::Log.debug("dentro installed outofdate");
71
69
  else
72
70
  @current_resource.version(version)
73
71
  @candidate_version=version
74
- Chef::Log.debug("dentro installed");
75
72
  end
76
73
  end
77
74
 
78
-
79
75
  unless status.exitstatus == 0
80
76
  raise Chef::Exceptions::Package, "zypper failed - #{status.inspect}!"
81
77
  end
82
-
83
78
 
84
- Chef::Log.debug("zypper current resource #{@current_resource}")
85
79
  @current_resource
86
80
  end
87
81
 
@@ -6,9 +6,9 @@
6
6
  # Licensed under the Apache License, Version 2.0 (the "License");
7
7
  # you may not use this file except in compliance with the License.
8
8
  # You may obtain a copy of the License at
9
- #
9
+ #
10
10
  # http://www.apache.org/licenses/LICENSE-2.0
11
- #
11
+ #
12
12
  # Unless required by applicable law or agreed to in writing, software
13
13
  # distributed under the License is distributed on an "AS IS" BASIS,
14
14
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -32,8 +32,7 @@ class Chef
32
32
 
33
33
  def action_create
34
34
  super
35
- Chef::Log.debug("Doing a remote recursive directory transfer for #{@new_resource}")
36
-
35
+
37
36
  files_to_purge = Set.new(
38
37
  Dir.glob(::File.join(@new_resource.path, '**', '*'), ::File::FNM_DOTMATCH).select do |name|
39
38
  name !~ /(?:^|#{Regexp.escape(::File::SEPARATOR)})\.\.?$/
@@ -45,6 +44,8 @@ class Chef
45
44
  files_to_purge.delete(::File.join(@new_resource.path, cookbook_file_relative_path))
46
45
  end
47
46
  purge_unmanaged_files(files_to_purge)
47
+ Chef::Log.info("#{@new_resource} created")
48
+ @new_resource.updated_by_last_action(true)
48
49
  end
49
50
 
50
51
  def action_create_if_missing
@@ -59,11 +60,11 @@ class Chef
59
60
  if @new_resource.purge
60
61
  unmanaged_files.sort.reverse.each do |f|
61
62
  if ::File.directory?(f)
62
- Chef::Log.debug("Removing directory #{f}")
63
63
  Dir::rmdir(f)
64
+ Chef::Log.debug("#{@new_resource} removed directory #{f}")
64
65
  else
65
- Chef::Log.debug("Deleting file #{f}")
66
66
  ::File.delete(f)
67
+ Chef::Log.debug("#{@new_resource} deleted file #{f}")
67
68
  end
68
69
  end
69
70
  end
@@ -74,15 +75,15 @@ class Chef
74
75
  files = cookbook.relative_filenames_in_preferred_directory(node, :files, @new_resource.source)
75
76
  files.sort.reverse
76
77
  end
77
-
78
+
78
79
  def directory_root_in_cookbook_cache
79
80
  @directory_root_in_cookbook_cache ||= begin
80
81
  cookbook = run_context.cookbook_collection[resource_cookbook]
81
82
  cookbook.preferred_filename_on_disk_location(node, :files, @new_resource.source, @new_resource.path)
82
83
  end
83
84
  end
84
-
85
- # Determine the cookbook to get the file from. If new resource sets an
85
+
86
+ # Determine the cookbook to get the file from. If new resource sets an
86
87
  # explicit cookbook, use it, otherwise fall back to the implicit cookbook
87
88
  # i.e., the cookbook the resource was declared in.
88
89
  def resource_cookbook
@@ -91,9 +92,9 @@ class Chef
91
92
 
92
93
  def create_cookbook_file(cookbook_file_relative_path)
93
94
  full_path = ::File.join(@new_resource.path, cookbook_file_relative_path)
94
-
95
+
95
96
  ensure_directory_exists(::File.dirname(full_path))
96
-
97
+
97
98
  file_to_fetch = cookbook_file_resource(full_path, cookbook_file_relative_path)
98
99
  if @new_resource.overwrite
99
100
  file_to_fetch.run_action(:create)
@@ -102,7 +103,7 @@ class Chef
102
103
  end
103
104
  @new_resource.updated_by_last_action(true) if file_to_fetch.updated?
104
105
  end
105
-
106
+
106
107
  def cookbook_file_resource(target_path, relative_source_path)
107
108
  cookbook_file = Chef::Resource::CookbookFile.new(target_path, run_context)
108
109
  cookbook_file.cookbook_name = @new_resource.cookbook || @new_resource.cookbook_name
@@ -111,10 +112,10 @@ class Chef
111
112
  cookbook_file.group(@new_resource.files_group) if @new_resource.files_group
112
113
  cookbook_file.owner(@new_resource.files_owner) if @new_resource.files_owner
113
114
  cookbook_file.backup(@new_resource.files_backup) if @new_resource.files_backup
114
-
115
+
115
116
  cookbook_file
116
117
  end
117
-
118
+
118
119
  def ensure_directory_exists(path)
119
120
  unless ::File.directory?(path)
120
121
  directory_to_create = resource_for_directory(path)
@@ -34,18 +34,18 @@ class Chef
34
34
  def action_create
35
35
  assert_enclosing_directory_exists!
36
36
 
37
- Chef::Log.debug("Checking #{@new_resource} for changes")
37
+ Chef::Log.debug("#{@new_resource} checking for changes")
38
38
 
39
39
  if current_resource_matches_target_checksum?
40
- Chef::Log.debug("File #{@new_resource} checksum matches target checksum (#{@new_resource.checksum}), not updating")
40
+ Chef::Log.debug("#{@new_resource} checksum matches target checksum (#{@new_resource.checksum}) - not updating")
41
41
  else
42
42
  Chef::REST.new(@new_resource.source, nil, nil).fetch(@new_resource.source) do |raw_file|
43
43
  if matches_current_checksum?(raw_file)
44
- Chef::Log.debug "#{@new_resource}: Target and Source checksums are the same, taking no action"
44
+ Chef::Log.debug "#{@new_resource} target and source checksums are the same - not updating"
45
45
  else
46
46
  backup_new_resource
47
- Chef::Log.debug "copying remote file from origin #{raw_file.path} to destination #{@new_resource.path}"
48
47
  FileUtils.cp raw_file.path, @new_resource.path
48
+ Chef::Log.info "#{@new_resource} updated"
49
49
  @new_resource.updated_by_last_action(true)
50
50
  end
51
51
  end
@@ -57,7 +57,7 @@ class Chef
57
57
 
58
58
  def action_create_if_missing
59
59
  if ::File.exists?(@new_resource.path)
60
- Chef::Log.debug("File #{@new_resource.path} exists, taking no action.")
60
+ Chef::Log.debug("#{@new_resource} exists, taking no action.")
61
61
  else
62
62
  action_create
63
63
  end
@@ -74,24 +74,23 @@ class Chef
74
74
  end
75
75
 
76
76
  def matches_current_checksum?(candidate_file)
77
- Chef::Log.debug "#{@new_resource}: Checking for file existence of #{@new_resource.path}"
77
+ Chef::Log.debug "#{@new_resource} checking for file existence of #{@new_resource.path}"
78
78
  if ::File.exists?(@new_resource.path)
79
- Chef::Log.debug "#{@new_resource}: File exists at #{@new_resource.path}"
79
+ Chef::Log.debug "#{@new_resource} file exists at #{@new_resource.path}"
80
80
  @new_resource.checksum(checksum(candidate_file.path))
81
- Chef::Log.debug "#{@new_resource}: Target checksum: #{@current_resource.checksum}"
82
- Chef::Log.debug "#{@new_resource}: Source checksum: #{@new_resource.checksum}"
81
+ Chef::Log.debug "#{@new_resource} target checksum: #{@current_resource.checksum}"
82
+ Chef::Log.debug "#{@new_resource} source checksum: #{@new_resource.checksum}"
83
83
 
84
84
  @new_resource.checksum == @current_resource.checksum
85
85
  else
86
- Chef::Log.info "#{@new_resource}: Creating #{@new_resource.path}"
86
+ Chef::Log.debug "#{@new_resource} creating #{@new_resource.path}"
87
87
  false
88
88
  end
89
89
  end
90
90
 
91
91
  def backup_new_resource
92
92
  if ::File.exists?(@new_resource.path)
93
- Chef::Log.debug "#{@new_resource}: checksum changed from #{@current_resource.checksum} to #{@new_resource.checksum}"
94
- Chef::Log.info "#{@new_resource}: Updating #{@new_resource.path}"
93
+ Chef::Log.debug "#{@new_resource} checksum changed from #{@current_resource.checksum} to #{@new_resource.checksum}"
95
94
  backup @new_resource.path
96
95
  end
97
96
  end
@@ -63,8 +63,6 @@ class Chef::Provider::Route < Chef::Provider
63
63
  def load_current_resource
64
64
  is_running = nil
65
65
 
66
- Chef::Log.debug("Configuring Route #{@new_resource.name}")
67
-
68
66
  # cidr or quad dot mask
69
67
  if @new_resource.netmask
70
68
  new_ip = IPAddr.new("#{@new_resource.target}/#{@new_resource.netmask}")
@@ -86,7 +84,7 @@ class Chef::Provider::Route < Chef::Provider
86
84
  destination = IPAddr.new(destination.scan(/../).reverse.to_s.hex, Socket::AF_INET).to_s
87
85
  gateway = IPAddr.new(gateway.scan(/../).reverse.to_s.hex, Socket::AF_INET).to_s
88
86
  mask = IPAddr.new(mask.scan(/../).reverse.to_s.hex, Socket::AF_INET).to_s
89
- Chef::Log.debug( "System has route: dest=#{destination} mask=#{mask} gw=#{gateway}")
87
+ Chef::Log.debug("#{@new_resource} system has route: dest=#{destination} mask=#{mask} gw=#{gateway}")
90
88
 
91
89
  # check if what were trying to configure is already there
92
90
  # use an ipaddr object with ip/mask this way we can have
@@ -94,7 +92,7 @@ class Chef::Provider::Route < Chef::Provider
94
92
  # expanding bitmask by hand.
95
93
  #
96
94
  running_ip = IPAddr.new("#{destination}/#{mask}")
97
- Chef::Log.debug( "new ip: #{new_ip.inspect} running ip: #{running_ip.inspect} ")
95
+ Chef::Log.debug("#{@new_resource} new ip: #{new_ip.inspect} running ip: #{running_ip.inspect}")
98
96
  is_running = true if running_ip == new_ip
99
97
  end
100
98
  route_file.close
@@ -103,13 +101,13 @@ class Chef::Provider::Route < Chef::Provider
103
101
 
104
102
  def action_add
105
103
  # check to see if load_current_resource found the route
106
- if is_running
107
- Chef::Log.debug("Route #{@new_resource.name} already active ")
104
+ if is_running
105
+ Chef::Log.debug("#{@new_resource} route already active - nothing to do")
108
106
  else
109
107
  command = generate_command(:add)
110
108
 
111
- Chef::Log.info("Adding route: #{command} ")
112
109
  run_command( :command => command )
110
+ Chef::Log.info("#{@new_resource} added")
113
111
  @new_resource.updated_by_last_action(true)
114
112
  end
115
113
 
@@ -121,11 +119,11 @@ class Chef::Provider::Route < Chef::Provider
121
119
  if is_running
122
120
  command = generate_command(:delete)
123
121
 
124
- Chef::Log.info("Removing route: #{command}")
125
122
  run_command( :command => command )
123
+ Chef::Log.info("#{@new_resource} removed")
126
124
  @new_resource.updated_by_last_action(true)
127
125
  else
128
- Chef::Log.debug("Route #{@new_resource.name} does not exist")
126
+ Chef::Log.debug("#{@new_resource} route does not exist - nothing to do")
129
127
  end
130
128
  end
131
129
 
@@ -156,7 +154,7 @@ class Chef::Provider::Route < Chef::Provider
156
154
  conf.each do |k, v|
157
155
  network_file = ::File.new("/etc/sysconfig/network-scripts/route-#{k}", "w")
158
156
  network_file.puts(conf[k])
159
- Chef::Log.debug("writing route.#{k}\n#{conf[k]}")
157
+ Chef::Log.debug("#{@new_resource} writing route.#{k}\n#{conf[k]}")
160
158
  network_file.close
161
159
  end
162
160
  end
@@ -26,6 +26,7 @@ class Chef
26
26
 
27
27
  def action_create
28
28
  @new_resource.block.call
29
+ Chef::Log.info("#{@new_resource} called")
29
30
  @new_resource.updated_by_last_action(true)
30
31
  end
31
32
  end
@@ -32,57 +32,52 @@ class Chef
32
32
 
33
33
  def action_enable
34
34
  if @current_resource.enabled
35
- Chef::Log.debug("#{@new_resource}: not enabling, already enabled")
35
+ Chef::Log.debug("#{@new_resource} already enabled - nothing to do")
36
36
  else
37
- Chef::Log.debug("#{@new_resource}: attempting to enable")
38
37
  if enable_service
39
38
  @new_resource.updated_by_last_action(true)
40
- Chef::Log.info("#{@new_resource}: enabled successfully")
39
+ Chef::Log.info("#{@new_resource} enabled")
41
40
  end
42
41
  end
43
42
  end
44
43
 
45
44
  def action_disable
46
45
  if @current_resource.enabled
47
- Chef::Log.debug("#{@new_resource}: attempting to disable")
48
46
  if disable_service
49
47
  @new_resource.updated_by_last_action(true)
50
- Chef::Log.info("#{@new_resource}: disabled successfully")
48
+ Chef::Log.info("#{@new_resource} disabled")
51
49
  end
52
50
  else
53
- Chef::Log.debug("#{@new_resource}: not disabling, already disabled")
51
+ Chef::Log.debug("#{@new_resource} already disabled - nothing to do")
54
52
  end
55
53
  end
56
54
 
57
55
  def action_start
58
56
  unless @current_resource.running
59
- Chef::Log.debug("#{@new_resource}: attempting to start")
60
57
  if start_service
61
58
  @new_resource.updated_by_last_action(true)
62
- Chef::Log.info("Started service #{@new_resource} successfully")
59
+ Chef::Log.info("#{@new_resource} started")
63
60
  end
64
61
  else
65
- Chef::Log.debug("#{@new_resource}: not starting, already running")
62
+ Chef::Log.debug("#{@new_resource} already running - nothing to do")
66
63
  end
67
64
  end
68
65
 
69
66
  def action_stop
70
67
  if @current_resource.running
71
- Chef::Log.debug("#{@new_resource}: attempting to stop")
72
68
  if stop_service
73
69
  @new_resource.updated_by_last_action(true)
74
- Chef::Log.info("#{@new_resource}: stopped successfully")
70
+ Chef::Log.info("#{@new_resource} stopped")
75
71
  end
76
72
  else
77
- Chef::Log.debug("#{@new_resource}: not stopping, already stopped")
73
+ Chef::Log.debug("#{@new_resource} already stopped - nothing to do")
78
74
  end
79
75
  end
80
76
 
81
77
  def action_restart
82
- Chef::Log.debug("#{@new_resource}: attempting to restart")
83
78
  if restart_service
84
79
  @new_resource.updated_by_last_action(true)
85
- Chef::Log.info("#{@new_resource}: restarted successfully")
80
+ Chef::Log.info("#{@new_resource} restarted")
86
81
  end
87
82
  end
88
83
 
@@ -91,10 +86,9 @@ class Chef
91
86
  raise Chef::Exceptions::UnsupportedAction, "#{self.to_s} does not support :reload"
92
87
  end
93
88
  if @current_resource.running
94
- Chef::Log.debug("#{@new_resource}: attempting to reload")
95
89
  if reload_service
96
90
  @new_resource.updated_by_last_action(true)
97
- Chef::Log.info("#{@new_resource}: reloaded successfully")
91
+ Chef::Log.info("#{@new_resource} reloaded")
98
92
  end
99
93
  end
100
94
  end
@@ -72,7 +72,7 @@ class Chef
72
72
  enabled = false
73
73
 
74
74
  priority.each { |runlevel, arguments|
75
- Chef::Log.debug("service[#{@current_resource.name}]: runlevel #{runlevel}, action #{arguments[0]}, priority #{arguments[1]}")
75
+ Chef::Log.debug("#{@new_resource} runlevel #{runlevel}, action #{arguments[0]}, priority #{arguments[1]}")
76
76
 
77
77
  # if we are in a update-rc.d default startup runlevel && we start in this runlevel
78
78
  if (2..5).include?(runlevel.to_i) && arguments[0] == :start
@@ -30,20 +30,19 @@ class Chef
30
30
 
31
31
  # Determine if we're talking about /etc/rc.d or /usr/local/etc/rc.d
32
32
  if ::File.exists?("/etc/rc.d/#{current_resource.service_name}")
33
- @init_command = "/etc/rc.d/#{current_resource.service_name}"
33
+ @init_command = "/etc/rc.d/#{current_resource.service_name}"
34
34
  elsif ::File.exists?("/usr/local/etc/rc.d/#{current_resource.service_name}")
35
- @init_command = "/usr/local/etc/rc.d/#{current_resource.service_name}"
35
+ @init_command = "/usr/local/etc/rc.d/#{current_resource.service_name}"
36
36
  else
37
37
  raise Chef::Exceptions::Service, "#{@new_resource}: unable to locate the rc.d script"
38
38
  end
39
- Chef::Log.debug("#{@current_resource.name} found at #{@init_command}")
40
-
41
- if @new_resource.supports[:status]
42
- Chef::Log.debug("#{@new_resource} supports status, checking state")
39
+ Chef::Log.debug("#{@current_resource} found at #{@init_command}")
43
40
 
41
+ if @new_resource.supports[:status]
44
42
  begin
45
43
  if run_command(:command => "#{@init_command} status") == 0
46
44
  @current_resource.running true
45
+ Chef::Log.debug("#{@new_resource} is running")
47
46
  end
48
47
  rescue Chef::Exceptions::Exec
49
48
  @current_resource.running false
@@ -51,11 +50,10 @@ class Chef
51
50
  end
52
51
 
53
52
  elsif @new_resource.status_command
54
- Chef::Log.debug("#{@new_resource} doesn't support status but you have specified a status command, running..")
55
-
56
53
  begin
57
54
  if run_command(:command => @new_resource.status_command) == 0
58
55
  @current_resource.running true
56
+ Chef::Log.debug("#{@new_resource} is running")
59
57
  end
60
58
  rescue Chef::Exceptions::Exec
61
59
  @current_resource.running false
@@ -66,12 +64,12 @@ class Chef
66
64
  Chef::Log.debug("#{@new_resource} does not support status and you have not specified a status command, falling back to process table inspection")
67
65
 
68
66
  if node[:command][:ps].nil? or node[:command][:ps].empty?
69
- raise Chef::Exceptions::Service, "#{@new_resource}: could not determine how to inspect the process table, please set this nodes 'ps' attribute"
67
+ raise Chef::Exceptions::Service, "#{@new_resource} could not determine how to inspect the process table, please set this nodes 'ps' attribute"
70
68
  end
71
69
 
72
70
  status = popen4(node[:command][:ps]) do |pid, stdin, stdout, stderr|
73
71
  r = Regexp.new(@new_resource.pattern)
74
- Chef::Log.debug("#{@new_resource}: attempting to match #{@new_resource.pattern} (#{r}) against process table")
72
+ Chef::Log.debug("#{@new_resource} attempting to match #{@new_resource.pattern} (#{r}) against process table")
75
73
  stdout.each_line do |line|
76
74
  if r.match(line)
77
75
  @current_resource.running true
@@ -83,7 +81,7 @@ class Chef
83
81
  unless status.exitstatus == 0
84
82
  raise Chef::Exceptions::Service, "Command #{node[:command][:ps]} failed"
85
83
  else
86
- Chef::Log.debug("#{@new_resource}: #{node[:command][:ps]} exited and parsed successfully, process running: #{@current_resource.running}")
84
+ Chef::Log.debug("#{@new_resource} #{node[:command][:ps]} exited and parsed successfully, process running: #{@current_resource.running}")
87
85
  end
88
86
  end
89
87
 
@@ -102,21 +100,21 @@ class Chef
102
100
  unless @current_resource.enabled
103
101
  Chef::Log.debug("#{@new_resource.name} enable/disable state unknown")
104
102
  end
105
-
103
+
106
104
  @current_resource
107
105
  end
108
106
 
109
107
  def read_rc_conf
110
108
  ::File.open("/etc/rc.conf", 'r') { |file| file.readlines }
111
109
  end
112
-
110
+
113
111
  def write_rc_conf(lines)
114
112
  ::File.open("/etc/rc.conf", 'w') do |file|
115
113
  lines.each { |line| file.puts(line) }
116
114
  end
117
115
  end
118
-
119
-
116
+
117
+
120
118
  # The variable name used in /etc/rc.conf for enabling this service
121
119
  def service_enable_variable_name
122
120
  # Look for name="foo" in the shell script @init_command. Use this for determining the variable name in /etc/rc.conf
@@ -132,7 +130,7 @@ class Chef
132
130
  end
133
131
  raise Chef::Exceptions::Service, "Could not find name=\"service\" line in #{@init_command}"
134
132
  end
135
-
133
+
136
134
  def set_service_enable(value)
137
135
  lines = read_rc_conf
138
136
  # Remove line that set the old value
@@ -141,7 +139,7 @@ class Chef
141
139
  lines << "#{service_enable_variable_name}=\"#{value}\""
142
140
  write_rc_conf(lines)
143
141
  end
144
-
142
+
145
143
  def enable_service()
146
144
  set_service_enable("YES") unless @current_resource.enabled
147
145
  end
@@ -149,7 +147,7 @@ class Chef
149
147
  def disable_service()
150
148
  set_service_enable("NO") if @current_resource.enabled
151
149
  end
152
-
150
+
153
151
  end
154
152
  end
155
153
  end