mirror of
https://github.com/puppetlabs/vmpooler.git
synced 2026-01-26 10:08:40 -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]
|
if ! inventory[vm]
|
||||||
$redis.srem('vmware_host_pool__ready__'+pool['name'], vm)
|
$redis.srem('vmware_host_pool__ready__'+pool['name'], vm)
|
||||||
end
|
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
|
end
|
||||||
|
|
||||||
# Bring the pool up to the desired size
|
# Bring the pool up to the desired size
|
||||||
|
|
@ -125,8 +147,6 @@ loop do
|
||||||
:template => false
|
:template => false
|
||||||
)
|
)
|
||||||
|
|
||||||
puts '[+] '+vm.inspect
|
|
||||||
|
|
||||||
# Clone the VM
|
# Clone the VM
|
||||||
vm[vm['template']].CloneVM_Task(
|
vm[vm['template']].CloneVM_Task(
|
||||||
:folder => vsphere_helper.find_folder(pool['folder']),
|
:folder => vsphere_helper.find_folder(pool['folder']),
|
||||||
|
|
@ -136,6 +156,8 @@ loop do
|
||||||
|
|
||||||
# Add VM to Redis inventory ('pending' pool)
|
# Add VM to Redis inventory ('pending' pool)
|
||||||
$redis.sadd('vmware_host_pool__pending__'+pool['name'], vm['hostname'])
|
$redis.sadd('vmware_host_pool__pending__'+pool['name'], vm['hostname'])
|
||||||
|
|
||||||
|
puts '[+] '+vm['hostname']+' cloned from '+vm['template']
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue