add :start / :stop actions to primitive LWRP
This commit is contained in:
parent
e8f4a19d36
commit
434332c1dd
@ -1,3 +1,5 @@
|
||||
include Chef::Mixin::ShellOut
|
||||
|
||||
def resource_exists?(name)
|
||||
cmd = Mixlib::ShellOut.new("crm configure show | grep #{name}")
|
||||
cmd.environment['HOME'] = ENV.fetch('HOME', '/root')
|
||||
@ -9,3 +11,10 @@ def resource_exists?(name)
|
||||
false
|
||||
end
|
||||
end
|
||||
|
||||
def resource_running?(name)
|
||||
cmd = shell_out! "crm", "resource", "status", name
|
||||
Chef::Log.info cmd.stdout
|
||||
cmd.stdout.include? "resource #{name} is running"
|
||||
end
|
||||
|
||||
|
@ -84,3 +84,19 @@ action :delete do
|
||||
new_resource.updated_by_last_action(true)
|
||||
Chef::Log.info "Deleted primitive '#{name}'."
|
||||
end
|
||||
|
||||
action :start do
|
||||
name = new_resource.name
|
||||
raise "no such resource #{name}" unless resource_exists?(name)
|
||||
next if resource_running?(name)
|
||||
shell_out! %w(crm resource start) + [name]
|
||||
Chef::Log.info "Successfully started primitive '#{name}'."
|
||||
end
|
||||
|
||||
action :stop do
|
||||
name = new_resource.name
|
||||
raise "no such resource #{name}" unless resource_exists?(name)
|
||||
next unless resource_running?(name)
|
||||
shell_out! %w(crm resource stop) + [name]
|
||||
Chef::Log.info "Successfully stopped primitive '#{name}'."
|
||||
end
|
||||
|
@ -17,7 +17,7 @@
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
actions :create, :delete
|
||||
actions :create, :delete, :start, :stop
|
||||
|
||||
default_action :create
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user