Class: Chef::Provider::Reboot
- Inherits:
-
Chef::Provider
- Object
- Chef::Provider
- Chef::Provider::Reboot
- Defined in:
- lib/chef/provider/reboot.rb
Overview
Use the reboot resource to reboot a node, a necessary step with some installations on certain platforms. This resource is supported for use on the Microsoft Windows, macOS, and Linux platforms.
In using this resource via notifications, it’s important to only use immediate notifications. Delayed notifications produce unintuitive and probably undesired results.
Instance Attribute Summary
Attributes inherited from Chef::Provider
#action, #cookbook_name, #current_resource, #new_resource, #recipe_name, #run_context
Instance Method Summary collapse
- #action_cancel ⇒ Object
- #action_reboot_now ⇒ Object
- #action_request_reboot ⇒ Object
- #load_current_resource ⇒ void
-
#request_reboot ⇒ void
add a reboot to the node run_context.
Methods inherited from Chef::Provider
action, #action_nothing, #check_resource_semantics!, #cleanup_after_converge, #compile_and_converge_action, #converge_by, #converge_if_changed, #define_resource_requirements, #events, include_resource_dsl?, include_resource_dsl_module, #initialize, #node, #process_resource_requirements, provides, provides?, #requirements, #resource_collection, #resource_updated?, #run_action, #set_updated_status, supports?, use_inline_resources, #whyrun_mode?, #whyrun_supported?
Methods included from Mixin::Provides
#provided_as, #provides, #provides?
Methods included from Mixin::DescendantsTracker
#descendants, descendants, direct_descendants, #direct_descendants, find_descendants_by_name, #find_descendants_by_name, #inherited, store_inherited
Methods included from Mixin::LazyModuleInclude
#descendants, #include, #included
Methods included from Mixin::NotifyingBlock
#notifying_block, #subcontext_block
Methods included from DSL::DeclareResource
#build_resource, #declare_resource, #delete_resource, #delete_resource!, #edit_resource, #edit_resource!, #find_resource, #find_resource!, #with_run_context
Methods included from Mixin::ShellOut
#a_to_s, #clean_array, #shell_out, #shell_out!, #shell_out_compact, #shell_out_compact!, #shell_out_compact_timeout, #shell_out_compact_timeout!, #shell_out_with_systems_locale, #shell_out_with_systems_locale!
Methods included from Mixin::PathSanity
#enforce_path_sanity, #sanitized_path
Methods included from Mixin::PowershellOut
#powershell_out, #powershell_out!
Methods included from Mixin::WindowsArchitectureHelper
#assert_valid_windows_architecture!, #disable_wow64_file_redirection, #forced_32bit_override_required?, #is_i386_process_on_x86_64_windows?, #node_supports_windows_architecture?, #node_windows_architecture, #restore_wow64_file_redirection, #valid_windows_architecture?, #with_os_architecture, #wow64_architecture_override_required?, #wow64_directory
Methods included from DSL::PlatformIntrospection
#docker?, #platform?, #platform_family?, #value_for_platform, #value_for_platform_family
Constructor Details
This class inherits a constructor from Chef::Provider
Instance Method Details
#action_cancel ⇒ Object
70 71 72 73 74 75 |
# File 'lib/chef/provider/reboot.rb', line 70 def action_cancel converge_by("cancel any existing end-of-run reboot request") do Chef::Log.warn "Reboot canceled: '#{new_resource.name}'" node.run_context.cancel_reboot end end |
#action_reboot_now ⇒ Object
62 63 64 65 66 67 68 |
# File 'lib/chef/provider/reboot.rb', line 62 def action_reboot_now converge_by("rebooting the system immediately") do Chef::Log.warn "Rebooting system immediately, requested by '#{new_resource.name}'" request_reboot throw :end_client_run_early end end |
#action_request_reboot ⇒ Object
55 56 57 58 59 60 |
# File 'lib/chef/provider/reboot.rb', line 55 def action_request_reboot converge_by("request a system reboot to occur if the run succeeds") do Chef::Log.warn "Reboot requested:'#{new_resource.name}'" request_reboot end end |
#load_current_resource ⇒ void
This method returns an undefined value.
37 38 39 40 41 42 |
# File 'lib/chef/provider/reboot.rb', line 37 def load_current_resource @current_resource ||= Chef::Resource::Reboot.new(new_resource.name) current_resource.reason(new_resource.reason) current_resource.delay_mins(new_resource.delay_mins) current_resource end |
#request_reboot ⇒ void
This method returns an undefined value.
add a reboot to the node run_context
46 47 48 49 50 51 52 53 |
# File 'lib/chef/provider/reboot.rb', line 46 def request_reboot node.run_context.request_reboot( :delay_mins => new_resource.delay_mins, :reason => new_resource.reason, :timestamp => Time.now, :requested_by => new_resource.name ) end |