summaryrefslogtreecommitdiff
path: root/lib/puppet
diff options
context:
space:
mode:
Diffstat (limited to 'lib/puppet')
-rw-r--r--lib/puppet/parser/functions/persistent_crontab_minutes.rb63
-rw-r--r--lib/puppet/parser/functions/random_crontab_minutes.rb31
2 files changed, 0 insertions, 94 deletions
diff --git a/lib/puppet/parser/functions/persistent_crontab_minutes.rb b/lib/puppet/parser/functions/persistent_crontab_minutes.rb
deleted file mode 100644
index cd80094..0000000
--- a/lib/puppet/parser/functions/persistent_crontab_minutes.rb
+++ /dev/null
@@ -1,63 +0,0 @@
-#
-# persistent_crontab_minutes.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:persistent_crontab_minutes, :type => :rvalue, :doc => <<-EOS
- EOS
- ) do |arguments|
-
- raise(Puppet::ParseError, "Wrong number of arguments " +
- "given (#{arguments.size} for 2)") if arguments.size < 2
-
- require 'md5'
-
- value = 0
-
- job = arguments[0]
- host = arguments[1]
-
- environment = Puppet[:environment]
-
- # We select first directory that exists. This might not be the best idea ...
- modules = Puppet[:modulepath].split(':').select { |i| File.exists?(i) }.first
-
- raise(Puppet::ParseError, "Unable to determine the storage " +
- "directory for Puppet modules") unless modules
-
- # Prepare the file where we store current value ...
- file = "/puppet/state/crontab/#{host}-#{job}.minutes"
- file = File.join(modules, file)
-
- # Get the directory portion from the file name ...
- directory = File.dirname(file)
-
- FileUtils.mkdir_p(directory) unless File.directory?(directory)
-
- if FileTest.exists?(file)
- File.open(file, 'r') { |f| value = f.read.to_i }
-
- raise(Puppet::ParseError, "The value for minutes in the file `%s' " +
- "is out of the range from 0 to 59 inclusive") unless value < 60
- else
- #
- # Pick a random number based on the job and host name. This will yield
- # the same value for exactly the same combination of the job and host name.
- #
- value = MD5.new(job_name + host).to_s.hex % 60
-
- # Minutes are from 0 to 59 inclusive ...
- value = value < 60 ? value : 59
-
- File.open(file, 'w') { |f| f.write(value) }
- end
-
- # Tell Puppet to keep an eye on this file ...
- parser = Puppet::Parser::Parser.new(environment)
- parser.watch_file(file) if File.exists?(file)
-
- return value
- end
-end
-
-# vim: set ts=2 sw=2 et :
diff --git a/lib/puppet/parser/functions/random_crontab_minutes.rb b/lib/puppet/parser/functions/random_crontab_minutes.rb
deleted file mode 100644
index 8ab29e1..0000000
--- a/lib/puppet/parser/functions/random_crontab_minutes.rb
+++ /dev/null
@@ -1,31 +0,0 @@
-#
-# random_crontab_minutes.rb
-#
-
-module Puppet::Parser::Functions
- newfunction(:random_crontab_minutes, :type => :rvalue, :doc => <<-EOS
- EOS
- ) do |arguments|
-
- raise(Puppet::ParseError, "Wrong number of arguments " +
- "given (#{arguments.size} for 2)") if arguments.size < 2
-
- require 'md5'
-
- job_name = arguments[0]
- host = arguments[1]
-
- #
- # Pick a random number based on the job and host name. This will yield
- # the same value for exactly the same combination of the job and host name.
- #
- value = MD5.new(job_name + host).to_s.hex % 60
-
- # Minutes are from 0 to 59 inclusive ...
- value = value < 60 ? value : 59
-
- return value
- end
-end
-
-# vim: set ts=2 sw=2 et :