mirror of
https://github.com/puppetlabs/vmpooler.git
synced 2026-01-26 10:08:40 -05:00
Prevent re-queueing requests already marked as failed
- Check request status before re-queueing in clone_vm rescue block - Only re-queue if status is not 'failed' - Prevents infinite loop when permanent errors are detected
This commit is contained in:
parent
095b507a93
commit
cd50c8ea65
1 changed files with 7 additions and 1 deletions
|
|
@ -423,7 +423,13 @@ module Vmpooler
|
|||
if request_id
|
||||
$logger.log('s', "[!] [#{pool_name}] failed while cloning VM for request #{request_id} with an error: #{e}")
|
||||
@redis.with_metrics do |redis|
|
||||
redis.zadd('vmpooler__odcreate__task', 1, "#{pool_alias}:#{pool_name}:1:#{request_id}")
|
||||
# Only re-queue if the request wasn't already marked as failed (e.g., by permanent error detection)
|
||||
request_status = redis.hget("vmpooler__odrequest__#{request_id}", 'status')
|
||||
if request_status != 'failed'
|
||||
redis.zadd('vmpooler__odcreate__task', 1, "#{pool_alias}:#{pool_name}:1:#{request_id}")
|
||||
else
|
||||
$logger.log('s', "[!] [#{pool_name}] Request #{request_id} already marked as failed, not re-queueing")
|
||||
end
|
||||
end
|
||||
else
|
||||
$logger.log('s', "[!] [#{pool_name}] failed while cloning VM with an error: #{e}")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue