(POOLER-81) Add time_remaining information (#276)

* (POOLER-81) Add time_remaining information

Before, the only time calculation displayed for a given VM was the
lifetime parameter. Added the time_remaining parameter which will
display time until the VM is destroyed in hours, minutes, seconds.

Additionally, updated the running parameter to display in a similar
fashion as time_remaining.

* Add spec testing for testing time_remaining stat
This commit is contained in:
Spencer McElmurry 2018-07-09 16:22:05 -07:00 committed by mattkirby
parent f27e2c1301
commit 1910cffaf7
2 changed files with 24 additions and 1 deletions

View file

@ -644,7 +644,10 @@ module Vmpooler
result[params[:hostname]]['running'] = ((Time.parse(rdata['destroy']) - Time.parse(rdata['checkout'])) / 60 / 60).round(2)
result[params[:hostname]]['state'] = 'destroyed'
elsif rdata['checkout']
result[params[:hostname]]['running'] = ((Time.now - Time.parse(rdata['checkout'])) / 60 / 60).round(2)
running = Time.now - Time.parse(rdata['checkout'])
result[params[:hostname]]['running'] = format("%02dh %02dm %02ds", running / (60 * 60), (running / 60) % 60, running % 60)
remaining = Time.parse(rdata['checkout']) + rdata['lifetime'].to_i*60*60 - Time.now
result[params[:hostname]]['time_remaining'] = format("%02dh %02dm %02ds", remaining / (60 * 60), (remaining / 60) % 60, remaining % 60)
result[params[:hostname]]['state'] = 'running'
elsif rdata['check']
result[params[:hostname]]['state'] = 'ready'