diff --git a/libraries/chef/mixin/pacemaker/runnable_resource.rb b/libraries/chef/mixin/pacemaker/runnable_resource.rb index d3e69d1..71ebf5b 100644 --- a/libraries/chef/mixin/pacemaker/runnable_resource.rb +++ b/libraries/chef/mixin/pacemaker/runnable_resource.rb @@ -9,6 +9,19 @@ class Chef module RunnableResource include StandardCIBObject + def start_runnable_resource + name = new_resource.name + unless @current_resource + raise "Cannot start non-existent #{cib_object_class.description} '#{name}'" + end + return if @current_cib_object.running? + execute @current_cib_object.start_command do + action :nothing + end.run_action(:run) + new_resource.updated_by_last_action(true) + Chef::Log.info "Successfully started #{@current_cib_object}" + end + def delete_runnable_resource return unless @current_resource if @current_cib_object.running? diff --git a/providers/primitive.rb b/providers/primitive.rb index 4d4ec56..aece744 100644 --- a/providers/primitive.rb +++ b/providers/primitive.rb @@ -44,16 +44,7 @@ action :delete do end action :start do - name = new_resource.name - unless @current_resource - raise "Cannot start non-existent #{cib_object_class.description} '#{name}'" - end - next if @current_cib_object.running? - execute @current_cib_object.start_command do - action :nothing - end.run_action(:run) - new_resource.updated_by_last_action(true) - Chef::Log.info "Successfully started #{@current_cib_object}" + start_runnable_resource end action :stop do