diff --git a/libraries/chef/mixin/pacemaker.rb b/libraries/chef/mixin/pacemaker.rb index e78a4cf..3751d07 100644 --- a/libraries/chef/mixin/pacemaker.rb +++ b/libraries/chef/mixin/pacemaker.rb @@ -1 +1,2 @@ require File.expand_path('pacemaker/standard_cib_object.rb', File.dirname(__FILE__)) +require File.expand_path('pacemaker/runnable_resource.rb', File.dirname(__FILE__)) diff --git a/libraries/chef/mixin/pacemaker/runnable_resource.rb b/libraries/chef/mixin/pacemaker/runnable_resource.rb new file mode 100644 index 0000000..d3e69d1 --- /dev/null +++ b/libraries/chef/mixin/pacemaker/runnable_resource.rb @@ -0,0 +1,21 @@ +require 'chef/application' +require ::File.expand_path('standard_cib_object', ::File.dirname(__FILE__)) + +# Common code used by Pacemaker LWRP providers for resources supporting +# the :run action. + +class Chef + module Mixin::Pacemaker + module RunnableResource + include StandardCIBObject + + def delete_runnable_resource + return unless @current_resource + if @current_cib_object.running? + raise "Cannot delete running #{@current_cib_object}" + end + standard_delete_resource + end + end + end +end diff --git a/providers/primitive.rb b/providers/primitive.rb index 9d1007d..4d4ec56 100644 --- a/providers/primitive.rb +++ b/providers/primitive.rb @@ -21,7 +21,7 @@ require ::File.expand_path('../libraries/pacemaker', ::File.dirname(__FILE__)) require ::File.expand_path('../libraries/chef/mixin/pacemaker', ::File.dirname(__FILE__)) -include Chef::Mixin::Pacemaker::StandardCIBObject +include Chef::Mixin::Pacemaker::RunnableResource action :create do name = new_resource.name @@ -40,12 +40,7 @@ action :create do end action :delete do - name = new_resource.name - next unless @current_resource - if @current_cib_object.running? - raise "Cannot delete running #{@current_cib_object}" - end - standard_delete_resource + delete_runnable_resource end action :start do