Revert "Update 3rdparty rabbitmq module"
[mirror/dsa-puppet.git] / 3rdparty / modules / rabbitmq / lib / puppet / provider / rabbitmq_erlang_cookie / ruby.rb
index 47dfdd3..58c8b3c 100644 (file)
@@ -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