summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Doherty <cdoherty@getchef.com>2014-09-05 15:50:57 -0700
committerChris Doherty <cdoherty@getchef.com>2014-09-10 16:34:27 -0700
commit5f0d5d63ec6a30ff90b10bf01782e698a34ffbfa (patch)
treed2ca28416c89a919ed4705abef8e286ef897b45d
parent77ef1533442c4aa15a135812f5642371512b78f0 (diff)
downloadchef-5f0d5d63ec6a30ff90b10bf01782e698a34ffbfa.tar.gz
Support whyrun.
-rw-r--r--lib/chef/provider/reboot.rb26
1 files changed, 16 insertions, 10 deletions
diff --git a/lib/chef/provider/reboot.rb b/lib/chef/provider/reboot.rb
index 7b0465f4c9..ffd5c5f936 100644
--- a/lib/chef/provider/reboot.rb
+++ b/lib/chef/provider/reboot.rb
@@ -23,7 +23,9 @@ class Chef
class Provider
class Reboot < Chef::Provider
- # TODO: support whyrun?
+ def whyrun_supported?
+ true
+ end
def load_current_resource
@current_resource ||= Chef::Resource::Reboot.new(@new_resource.name)
@@ -33,18 +35,22 @@ class Chef
end
def action_request
- Chef::Log.warn "Reboot requested:'#{@new_resource.name}'"
- node.run_context.request_reboot(
- :delay_mins => @new_resource.delay_mins,
- :reason => @new_resource.reason,
- :timestamp => Time.now,
- :requested_by => @new_resource.name
- )
+ converge_by("request a system reboot to occur if the run succeeds") do
+ Chef::Log.warn "Reboot requested:'#{@new_resource.name}'"
+ node.run_context.request_reboot(
+ :delay_mins => @new_resource.delay_mins,
+ :reason => @new_resource.reason,
+ :timestamp => Time.now,
+ :requested_by => @new_resource.name
+ )
+ end
end
def action_cancel
- Chef::Log.warn "Reboot canceled: '#{@new_resource.name}'"
- node.run_context.cancel_reboot
+ converge_by("cancel any existing system reboot request") do
+ Chef::Log.warn "Reboot canceled: '#{@new_resource.name}'"
+ node.run_context.cancel_reboot
+ end
end
end
end