Merge pull request #371 from puppetlabs/POOLER-161

(POOLER-161) Fix extending vm lifetime when max lifetime is set
This commit is contained in:
Brandon High 2020-04-15 13:27:27 -07:00 committed by GitHub
commit 5fac5684a9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 1 additions and 20 deletions

View file

@ -909,13 +909,6 @@ module Vmpooler
max_lifetime_upper_limit = max_lifetime_upper_limit.to_i
if arg.to_i >= max_lifetime_upper_limit
failure.push("You provided a lifetime (#{arg}) that exceeds the configured maximum of #{max_lifetime_upper_limit}.")
else
# also make sure we do not extend past max_lifetime_upper_limit
rdata = backend.hgetall('vmpooler__vm__' + params[:hostname])
running = ((Time.now - Time.parse(rdata['checkout'])) / 60 / 60).round(2)
unless running + arg.to_i < max_lifetime_upper_limit
failure.push("You provided a lifetime (#{arg}) that will extend the current lifetime past the configured maximum of #{max_lifetime_upper_limit}.")
end
end
end

View file

@ -134,7 +134,7 @@ describe Vmpooler::API::V1 do
expect(vm['lifetime']).to eq("20000")
end
it 'does not allow a lifetime to be initially past config 168' do
it 'does not allow a lifetime to be initially past config max_lifetime_upper_limit' do
app.settings.set :config,
{ :config => { 'max_lifetime_upper_limit' => 168 } }
create_vm('testhost')
@ -146,18 +146,6 @@ describe Vmpooler::API::V1 do
expect(vm['lifetime']).to be_nil
end
it 'does not allow a lifetime to be extended past config 168' do
app.settings.set :config,
{ :config => { 'max_lifetime_upper_limit' => 168 } }
create_vm('testhost')
set_vm_data('testhost', "checkout", (Time.now - (69*60*60)))
put "#{prefix}/vm/testhost", '{"lifetime":"100"}'
expect_json(ok = false, http = 400)
vm = fetch_vm('testhost')
expect(vm['lifetime']).to be_nil
end
end
context '(auth configured)' do