Remove usage of redis multi from api

This change removes usage of redis multi from API. Without this change the redis usage can cause issues because no connection pool is used, so another worker may try to use the same backend object causing a failure.
This commit is contained in:
kirby@puppetlabs.com 2020-11-10 11:38:14 -08:00
parent 55e45bcbe5
commit 7ff23a386d

View file

@ -163,18 +163,15 @@ module Vmpooler
end end
def return_vm_to_ready_state(template, vm) def return_vm_to_ready_state(template, vm)
backend.multi
backend.srem("vmpooler__migrating__#{template}", vm) backend.srem("vmpooler__migrating__#{template}", vm)
backend.hdel("vmpooler__active__#{template}", vm) backend.hdel("vmpooler__active__#{template}", vm)
backend.hdel("vmpooler__vm__#{vm}", 'checkout', 'token:token', 'token:user') backend.hdel("vmpooler__vm__#{vm}", 'checkout', 'token:token', 'token:user')
backend.smove("vmpooler__running__#{template}", "vmpooler__ready__#{template}", vm) backend.smove("vmpooler__running__#{template}", "vmpooler__ready__#{template}", vm)
backend.exec
end end
def account_for_starting_vm(template, vm) def account_for_starting_vm(template, vm)
user = backend.hget("vmpooler__token__#{request.env['HTTP_X_AUTH_TOKEN']}", 'user') user = backend.hget("vmpooler__token__#{request.env['HTTP_X_AUTH_TOKEN']}", 'user')
has_token_result = has_token? has_token_result = has_token?
backend.multi
backend.sadd("vmpooler__migrating__#{template}", vm) backend.sadd("vmpooler__migrating__#{template}", vm)
backend.hset("vmpooler__active__#{template}", vm, Time.now) backend.hset("vmpooler__active__#{template}", vm, Time.now)
backend.hset("vmpooler__vm__#{vm}", 'checkout', Time.now) backend.hset("vmpooler__vm__#{vm}", 'checkout', Time.now)
@ -187,7 +184,6 @@ module Vmpooler
backend.hset("vmpooler__vm__#{vm}", 'lifetime', config['vm_lifetime_auth'].to_i) backend.hset("vmpooler__vm__#{vm}", 'lifetime', config['vm_lifetime_auth'].to_i)
end end
end end
backend.exec
end end
def update_result_hosts(result, template, vm) def update_result_hosts(result, template, vm)