[chef] Regarding Reboot Handler


Chronological Thread 
  • From: Sachin Gupta < >
  • To:
  • Subject: [chef] Regarding Reboot Handler
  • Date: Mon, 12 Jan 2015 14:47:20 +0530

Hi All,

I have an use case where I need to reboot the machine if there is any new kernel update/install.

I am trying to write an LWRP for reboot handler that can be used in other recipe's also.

I will be calling  linux_reboot once there is an kernel update.

added this code in recipe for reboot:;

      linux_reboot 'kernel updated' do
         action :reboot
           end

----------------------------------------------------

resource/reboot.rb
------------------------------------------------------
        actions :reboot
          default_action :reboot


        attribute :happened, kind_of: String

        attr_accessor :exists

-----------------------------------------------------------

provider/reboot.rb
------------------------------------------------------
    def whyrun_supported?
      true
    end


    action :reboot do

    Chef::Log.info "=== Cookbook: #{cookbook_name}"
      Chef::Log.info "=== Resource Name: #{@new_resource.name}"

     if @current_resource.happened
      Chef::Log.info 'Reboot happened'
      else
        converge_by("Reboot system") do
          reboot
        end
      end
end


def load_current_resource
  @current_resource = Chef::Resource::linuxReboot.new(@new_resource.name)
     @current_resource.happened = false
 
  begin
  # search for a file and set the flag..
  end

  Chef::Log.debug "Reboot debug message"

  @current_resource
end


def reboot
  Chef::Log.info 'Reboot The Machine'
end

------------------------------------------------------------------------------

what is the best way to indicate a reboot happened. shall I look for a file indicating a reboot or something else??
I am thinking to search for a file and if the reboot happened then set happened=true and return. will this work and is the right approach??


Thanks & Regards,
Sachin Kumar



Archive powered by MHonArc 2.6.16.

§