X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;ds=sidebyside;f=3rdparty%2Fmodules%2Frabbitmq%2Flib%2Fpuppet%2Fprovider%2Frabbitmq_erlang_cookie%2Fruby.rb;h=58c8b3c96693bbfcb30b31a002c964e4fe297f9e;hb=24caa46729f80fbba4be8b9b26ebcb3acc4cb0fb;hp=47dfdd348f90990b567569cf9f95ddc2b1dd9b38;hpb=c7e7bcc28cc5dc48a7e284a3c82f33df27d1f57d;p=mirror%2Fdsa-puppet.git diff --git a/3rdparty/modules/rabbitmq/lib/puppet/provider/rabbitmq_erlang_cookie/ruby.rb b/3rdparty/modules/rabbitmq/lib/puppet/provider/rabbitmq_erlang_cookie/ruby.rb index 47dfdd348..58c8b3c96 100644 --- a/3rdparty/modules/rabbitmq/lib/puppet/provider/rabbitmq_erlang_cookie/ruby.rb +++ b/3rdparty/modules/rabbitmq/lib/puppet/provider/rabbitmq_erlang_cookie/ruby.rb @@ -1,7 +1,11 @@ require 'puppet' require 'set' Puppet::Type.type(:rabbitmq_erlang_cookie).provide(:ruby) do - confine feature: :posix + + defaultfor :feature => :posix + has_command(:puppet, 'puppet') do + environment :PATH => '/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin' + end def exists? # Hack to prevent the create method from being called. @@ -10,22 +14,25 @@ Puppet::Type.type(:rabbitmq_erlang_cookie).provide(:ruby) do end def content=(value) - raise('The current erlang cookie needs to change. In order to do this the RabbitMQ database needs to be wiped. Please set force => true to allow this to happen automatically.') unless resource[:force] == :true # Danger! - - Puppet::Type.type(:service).new(name: resource[:service_name]).provider.stop - FileUtils.rm_rf(resource[:rabbitmq_home] + File::SEPARATOR + 'mnesia') - File.open(resource[:path], 'w') do |cookie| - cookie.chmod(0o400) - cookie.write(value) + if resource[:force] == :true # Danger! + puppet('resource', 'service', resource[:service_name], 'ensure=stopped') + FileUtils.rm_rf(resource[:rabbitmq_home] + File::PATH_SEPARATOR + 'mnesia') + File.open(resource[:path], 'w') do |cookie| + cookie.chmod(0400) + cookie.write(value) + end + FileUtils.chown(resource[:rabbitmq_user], resource[:rabbitmq_group], resource[:path]) + else + fail("The current erlang cookie needs to change. In order to do this the RabbitMQ database needs to be wiped. Please set force => true to allow this to happen automatically.") end - FileUtils.chown(resource[:rabbitmq_user], resource[:rabbitmq_group], resource[:path]) end def content - if File.exist?(resource[:path]) + if File.exists?(resource[:path]) File.read(resource[:path]) else '' end end + end