class Puppet::Provider::Rabbitmqctl < Puppet::Provider
initvars
- commands :rabbitmqctl => 'rabbitmqctl'
+ commands rabbitmqctl: 'rabbitmqctl'
def self.rabbitmq_version
output = rabbitmqctl('-q', 'status')
- version = output.match(/\{rabbit,"RabbitMQ","([\d\.]+)"\}/)
+ version = output.match(%r{\{rabbit,"RabbitMQ","([\d\.]+)"\}})
version[1] if version
end
# Limit each query time by 'timeout'.
# For example:
# users = self.class.run_with_retries { rabbitmqctl 'list_users' }
- def self.run_with_retries(count=30, step=6, timeout=10)
- count.times do |n|
+ def self.run_with_retries(count = 30, step = 6, timeout = 10)
+ count.times do |_n|
begin
- output = Timeout::timeout(timeout) do
+ output = Timeout.timeout(timeout) do
yield
end
- rescue Puppet::ExecutionFailure, Timeout
+ rescue Puppet::ExecutionFailure, Timeout::Error
Puppet.debug 'Command failed, retrying'
sleep step
else
end
raise Puppet::Error, "Command is still failing after #{count * step} seconds expired!"
end
-
end