mirror of
https://github.com/puppetlabs/vmpooler.git
synced 2026-01-26 01:58:41 -05:00
Implement 'failed' queue
This commit is contained in:
parent
bdee20cf21
commit
2000ad6dae
1 changed files with 24 additions and 2 deletions
|
|
@ -83,6 +83,28 @@ loop do
|
|||
if ! inventory[vm]
|
||||
$redis.srem('vmware_host_pool__ready__'+pool['name'], vm)
|
||||
end
|
||||
|
||||
if (
|
||||
(! vsphere_helper.find_vms(vm)[vm]) or
|
||||
(vsphere_helper.find_vms(vm)[vm].summary.guest.toolsRunningStatus != 'guestToolsRunning') or
|
||||
(vsphere_helper.find_vms(vm)[vm].summary.guest.ipAddress == nil)
|
||||
)
|
||||
$redis.srem('vmware_host_pool__ready__'+pool['name'], vm)
|
||||
$redis.sadd('vmware_host_pool__failed__'+pool['name'], vm)
|
||||
|
||||
puts '[<] '+vm+' moved to \'failed\' pool'
|
||||
|
||||
break
|
||||
end
|
||||
|
||||
begin
|
||||
Socket.getaddrinfo(vm, nil)
|
||||
rescue
|
||||
$redis.srem('vmware_host_pool__ready__'+pool['name'], vm)
|
||||
$redis.sadd('vmware_host_pool__failed__'+pool['name'], vm)
|
||||
|
||||
puts '[<] '+vm+' moved to \'failed\' pool'
|
||||
end
|
||||
end
|
||||
|
||||
# Bring the pool up to the desired size
|
||||
|
|
@ -125,8 +147,6 @@ loop do
|
|||
:template => false
|
||||
)
|
||||
|
||||
puts '[+] '+vm.inspect
|
||||
|
||||
# Clone the VM
|
||||
vm[vm['template']].CloneVM_Task(
|
||||
:folder => vsphere_helper.find_folder(pool['folder']),
|
||||
|
|
@ -136,6 +156,8 @@ loop do
|
|||
|
||||
# Add VM to Redis inventory ('pending' pool)
|
||||
$redis.sadd('vmware_host_pool__pending__'+pool['name'], vm['hostname'])
|
||||
|
||||
puts '[+] '+vm['hostname']+' cloned from '+vm['template']
|
||||
}
|
||||
end
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue