mirror of
https://github.com/puppetlabs/vmpooler.git
synced 2026-01-27 10:28:41 -05:00
Merge branch 'master' into providers
This commit is contained in:
commit
c9c97e1568
8 changed files with 311 additions and 56 deletions
|
|
@ -59,12 +59,12 @@ module Vmpooler
|
|||
parsed_config[:config]['clone_target'] = ENV['CLONE_TARGET'] if ENV['CLONE_TARGET']
|
||||
parsed_config[:config]['timeout'] = ENV['TIMEOUT'] if ENV['TIMEOUT']
|
||||
parsed_config[:config]['vm_lifetime_auth'] = ENV['VM_LIFETIME_AUTH'] if ENV['VM_LIFETIME_AUTH']
|
||||
parsed_config[:config]['ssh_key'] = ENV['SSH_KEY'] if ENV['SSH_KEY']
|
||||
parsed_config[:config]['max_tries'] = ENV['MAX_TRIES'] if ENV['MAX_TRIES']
|
||||
parsed_config[:config]['retry_factor'] = ENV['RETRY_FACTOR'] if ENV['RETRY_FACTOR']
|
||||
parsed_config[:config]['create_folders'] = ENV['CREATE_FOLDERS'] if ENV['CREATE_FOLDERS']
|
||||
parsed_config[:config]['create_template_delta_disks'] = ENV['CREATE_TEMPLATE_DELTA_DISKS'] if ENV['CREATE_TEMPLATE_DELTA_DISKS']
|
||||
parsed_config[:config]['experimental_features'] = ENV['EXPERIMENTAL_FEATURES'] if ENV['EXPERIMENTAL_FEATURES']
|
||||
parsed_config[:config]['purge_unconfigured_folders'] = ENV['PURGE_UNCONFIGURED_FOLDERS'] if ENV['PURGE_UNCONFIGURED_FOLDERS']
|
||||
|
||||
parsed_config[:redis] = parsed_config[:redis] || {}
|
||||
parsed_config[:redis]['server'] = ENV['REDIS_SERVER'] || parsed_config[:redis]['server'] || 'localhost'
|
||||
|
|
@ -79,12 +79,14 @@ module Vmpooler
|
|||
|
||||
parsed_config[:graphite] = parsed_config[:graphite] || {} if ENV['GRAPHITE_SERVER']
|
||||
parsed_config[:graphite]['server'] = ENV['GRAPHITE_SERVER'] if ENV['GRAPHITE_SERVER']
|
||||
parsed_config[:graphite]['prefix'] = ENV['GRAPHITE_PREFIX'] if ENV['GRAPHITE_PREFIX']
|
||||
parsed_config[:graphite]['port'] = ENV['GRAPHITE_PORT'] if ENV['GRAPHITE_PORT']
|
||||
|
||||
parsed_config[:auth] = parsed_config[:auth] || {} if ENV['AUTH_PROVIDER']
|
||||
if parsed_config.has_key? :auth
|
||||
parsed_config[:auth]['provider'] = ENV['AUTH_PROVIDER'] if ENV['AUTH_PROVIDER']
|
||||
parsed_config[:auth][:ldap] = parsed_config[:auth][:ldap] || {} if parsed_config[:auth]['provider'] == 'ldap'
|
||||
parsed_config[:auth][:ldap]['server'] = ENV['LDAP_SERVER'] if ENV['LDAP_SERVER']
|
||||
parsed_config[:auth][:ldap]['host'] = ENV['LDAP_HOST'] if ENV['LDAP_HOST']
|
||||
parsed_config[:auth][:ldap]['port'] = ENV['LDAP_PORT'] if ENV['LDAP_PORT']
|
||||
parsed_config[:auth][:ldap]['base'] = ENV['LDAP_BASE'] if ENV['LDAP_BASE']
|
||||
parsed_config[:auth][:ldap]['user_object'] = ENV['LDAP_USER_OBJECT'] if ENV['LDAP_USER_OBJECT']
|
||||
|
|
|
|||
|
|
@ -303,7 +303,6 @@ module Vmpooler
|
|||
mutex = vm_mutex(vm)
|
||||
return if mutex.locked?
|
||||
mutex.synchronize do
|
||||
$redis.srem('vmpooler__completed__' + pool, vm)
|
||||
$redis.hdel('vmpooler__active__' + pool, vm)
|
||||
$redis.hset('vmpooler__vm__' + vm, 'destroy', Time.now)
|
||||
|
||||
|
|
@ -314,10 +313,13 @@ module Vmpooler
|
|||
|
||||
provider.destroy_vm(pool, vm)
|
||||
|
||||
$redis.srem('vmpooler__completed__' + pool, vm)
|
||||
|
||||
finish = format('%.2f', Time.now - start)
|
||||
$logger.log('s', "[-] [#{pool}] '#{vm}' destroyed in #{finish} seconds")
|
||||
$metrics.timing("destroy.#{pool}", finish)
|
||||
end
|
||||
dereference_mutex(vm)
|
||||
end
|
||||
|
||||
def purge_unused_vms_and_folders
|
||||
|
|
@ -703,6 +705,14 @@ module Vmpooler
|
|||
@vm_mutex[vmname] || @vm_mutex[vmname] = Mutex.new
|
||||
end
|
||||
|
||||
def dereference_mutex(vmname)
|
||||
if @vm_mutex.delete(vmname)
|
||||
return true
|
||||
else
|
||||
return
|
||||
end
|
||||
end
|
||||
|
||||
def sync_pool_template(pool)
|
||||
pool_template = $redis.hget('vmpooler__config__template', pool['name'])
|
||||
if pool_template
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue