mirror of
https://github.com/puppetlabs/vmpooler.git
synced 2026-01-26 10:08:40 -05:00
Convert Times to strings when being added to redis.
This commit is contained in:
parent
30820ec115
commit
46156fd85f
7 changed files with 26 additions and 21 deletions
18
Gemfile.lock
18
Gemfile.lock
|
|
@ -29,7 +29,6 @@ GEM
|
||||||
ast (2.4.2)
|
ast (2.4.2)
|
||||||
bindata (2.4.15)
|
bindata (2.4.15)
|
||||||
builder (3.2.4)
|
builder (3.2.4)
|
||||||
byebug (11.1.3)
|
|
||||||
climate_control (1.2.0)
|
climate_control (1.2.0)
|
||||||
coderay (1.1.3)
|
coderay (1.1.3)
|
||||||
concurrent-ruby (1.2.2)
|
concurrent-ruby (1.2.2)
|
||||||
|
|
@ -41,9 +40,11 @@ GEM
|
||||||
faraday-net_http (>= 2.0, < 3.1)
|
faraday-net_http (>= 2.0, < 3.1)
|
||||||
ruby2_keywords (>= 0.0.4)
|
ruby2_keywords (>= 0.0.4)
|
||||||
faraday-net_http (3.0.2)
|
faraday-net_http (3.0.2)
|
||||||
|
ffi (1.15.5-java)
|
||||||
google-cloud-env (1.6.0)
|
google-cloud-env (1.6.0)
|
||||||
faraday (>= 0.17.3, < 3.0)
|
faraday (>= 0.17.3, < 3.0)
|
||||||
json (2.6.3)
|
json (2.6.3)
|
||||||
|
json (2.6.3-java)
|
||||||
language_server-protocol (3.17.0.3)
|
language_server-protocol (3.17.0.3)
|
||||||
method_source (1.0.0)
|
method_source (1.0.0)
|
||||||
mock_redis (0.36.0)
|
mock_redis (0.36.0)
|
||||||
|
|
@ -52,6 +53,7 @@ GEM
|
||||||
ruby2_keywords (~> 0.0.1)
|
ruby2_keywords (~> 0.0.1)
|
||||||
net-ldap (0.18.0)
|
net-ldap (0.18.0)
|
||||||
nio4r (2.5.9)
|
nio4r (2.5.9)
|
||||||
|
nio4r (2.5.9-java)
|
||||||
opentelemetry-api (1.2.1)
|
opentelemetry-api (1.2.1)
|
||||||
opentelemetry-common (0.19.7)
|
opentelemetry-common (0.19.7)
|
||||||
opentelemetry-api (~> 1.0)
|
opentelemetry-api (~> 1.0)
|
||||||
|
|
@ -99,12 +101,16 @@ GEM
|
||||||
pry (0.14.2)
|
pry (0.14.2)
|
||||||
coderay (~> 1.1)
|
coderay (~> 1.1)
|
||||||
method_source (~> 1.0)
|
method_source (~> 1.0)
|
||||||
pry-byebug (3.10.1)
|
pry (0.14.2-java)
|
||||||
byebug (~> 11.0)
|
coderay (~> 1.1)
|
||||||
pry (>= 0.13, < 0.15)
|
method_source (~> 1.0)
|
||||||
|
spoon (~> 0.0)
|
||||||
puma (6.3.0)
|
puma (6.3.0)
|
||||||
nio4r (~> 2.0)
|
nio4r (~> 2.0)
|
||||||
|
puma (6.3.0-java)
|
||||||
|
nio4r (~> 2.0)
|
||||||
racc (1.7.1)
|
racc (1.7.1)
|
||||||
|
racc (1.7.1-java)
|
||||||
rack (2.2.8)
|
rack (2.2.8)
|
||||||
rack-protection (3.1.0)
|
rack-protection (3.1.0)
|
||||||
rack (~> 2.2, >= 2.2.4)
|
rack (~> 2.2, >= 2.2.4)
|
||||||
|
|
@ -159,6 +165,8 @@ GEM
|
||||||
tilt (~> 2.0)
|
tilt (~> 2.0)
|
||||||
spicy-proton (2.1.15)
|
spicy-proton (2.1.15)
|
||||||
bindata (~> 2.3)
|
bindata (~> 2.3)
|
||||||
|
spoon (0.0.6)
|
||||||
|
ffi
|
||||||
statsd-ruby (1.5.0)
|
statsd-ruby (1.5.0)
|
||||||
thor (1.2.2)
|
thor (1.2.2)
|
||||||
thrift (0.18.1)
|
thrift (0.18.1)
|
||||||
|
|
@ -169,13 +177,13 @@ GEM
|
||||||
rspec (~> 3)
|
rspec (~> 3)
|
||||||
|
|
||||||
PLATFORMS
|
PLATFORMS
|
||||||
|
universal-java-11
|
||||||
x86_64-darwin-22
|
x86_64-darwin-22
|
||||||
|
|
||||||
DEPENDENCIES
|
DEPENDENCIES
|
||||||
climate_control (>= 0.2.0)
|
climate_control (>= 0.2.0)
|
||||||
mock_redis (>= 0.17.0)
|
mock_redis (>= 0.17.0)
|
||||||
pry
|
pry
|
||||||
pry-byebug
|
|
||||||
rack-test (>= 0.6)
|
rack-test (>= 0.6)
|
||||||
rspec (>= 3.2)
|
rspec (>= 3.2)
|
||||||
rubocop (~> 1.54.2)
|
rubocop (~> 1.54.2)
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ module Vmpooler
|
||||||
# Dependencies for tracing
|
# Dependencies for tracing
|
||||||
require 'opentelemetry-instrumentation-concurrent_ruby'
|
require 'opentelemetry-instrumentation-concurrent_ruby'
|
||||||
require 'opentelemetry-instrumentation-http_client'
|
require 'opentelemetry-instrumentation-http_client'
|
||||||
# require 'opentelemetry-instrumentation-redis'
|
require 'opentelemetry-instrumentation-redis'
|
||||||
require 'opentelemetry-instrumentation-sinatra'
|
require 'opentelemetry-instrumentation-sinatra'
|
||||||
require 'opentelemetry-sdk'
|
require 'opentelemetry-sdk'
|
||||||
require 'opentelemetry/exporter/jaeger'
|
require 'opentelemetry/exporter/jaeger'
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ module Vmpooler
|
||||||
def validate_token(backend)
|
def validate_token(backend)
|
||||||
tracer.in_span("Vmpooler::API::Helpers.#{__method__}") do
|
tracer.in_span("Vmpooler::API::Helpers.#{__method__}") do
|
||||||
if valid_token?(backend)
|
if valid_token?(backend)
|
||||||
backend.hset("vmpooler__token__#{request.env['HTTP_X_AUTH_TOKEN']}", 'last', Time.now)
|
backend.hset("vmpooler__token__#{request.env['HTTP_X_AUTH_TOKEN']}", 'last', Time.now.to_s)
|
||||||
|
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -189,8 +189,8 @@ module Vmpooler
|
||||||
span.set_attribute('enduser.id', user)
|
span.set_attribute('enduser.id', user)
|
||||||
has_token_result = has_token?
|
has_token_result = has_token?
|
||||||
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.to_s)
|
||||||
backend.hset("vmpooler__vm__#{vm}", 'checkout', Time.now)
|
backend.hset("vmpooler__vm__#{vm}", 'checkout', Time.now.to_s)
|
||||||
|
|
||||||
if Vmpooler::API.settings.config[:auth] and has_token_result
|
if Vmpooler::API.settings.config[:auth] and has_token_result
|
||||||
backend.hset("vmpooler__vm__#{vm}", 'token:token', request.env['HTTP_X_AUTH_TOKEN'])
|
backend.hset("vmpooler__vm__#{vm}", 'token:token', request.env['HTTP_X_AUTH_TOKEN'])
|
||||||
|
|
@ -971,7 +971,7 @@ module Vmpooler
|
||||||
result['token'] = o[rand(25)] + (0...31).map { o[rand(o.length)] }.join
|
result['token'] = o[rand(25)] + (0...31).map { o[rand(o.length)] }.join
|
||||||
|
|
||||||
backend.hset("vmpooler__token__#{result['token']}", 'user', @auth.username)
|
backend.hset("vmpooler__token__#{result['token']}", 'user', @auth.username)
|
||||||
backend.hset("vmpooler__token__#{result['token']}", 'created', Time.now)
|
backend.hset("vmpooler__token__#{result['token']}", 'created', Time.now.to_s)
|
||||||
span = OpenTelemetry::Trace.current_span
|
span = OpenTelemetry::Trace.current_span
|
||||||
span.set_attribute('enduser.id', @auth.username)
|
span.set_attribute('enduser.id', @auth.username)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -167,8 +167,8 @@ module Vmpooler
|
||||||
pool_alias = redis.hget("vmpooler__vm__#{vm}", 'pool_alias')
|
pool_alias = redis.hget("vmpooler__vm__#{vm}", 'pool_alias')
|
||||||
|
|
||||||
redis.pipelined do |pipeline|
|
redis.pipelined do |pipeline|
|
||||||
pipeline.hset("vmpooler__active__#{pool}", vm, Time.now)
|
pipeline.hset("vmpooler__active__#{pool}", vm, Time.now.to_s)
|
||||||
pipeline.hset("vmpooler__vm__#{vm}", 'checkout', Time.now)
|
pipeline.hset("vmpooler__vm__#{vm}", 'checkout', Time.now.to_s)
|
||||||
if ondemandrequest_hash['token:token']
|
if ondemandrequest_hash['token:token']
|
||||||
pipeline.hset("vmpooler__vm__#{vm}", 'token:token', ondemandrequest_hash['token:token'])
|
pipeline.hset("vmpooler__vm__#{vm}", 'token:token', ondemandrequest_hash['token:token'])
|
||||||
pipeline.hset("vmpooler__vm__#{vm}", 'token:user', ondemandrequest_hash['token:user'])
|
pipeline.hset("vmpooler__vm__#{vm}", 'token:user', ondemandrequest_hash['token:user'])
|
||||||
|
|
@ -184,10 +184,10 @@ module Vmpooler
|
||||||
|
|
||||||
redis.pipelined do |pipeline|
|
redis.pipelined do |pipeline|
|
||||||
pipeline.hset("vmpooler__boot__#{Date.today}", "#{pool}:#{vm}", finish) # maybe remove as this is never used by vmpooler itself?
|
pipeline.hset("vmpooler__boot__#{Date.today}", "#{pool}:#{vm}", finish) # maybe remove as this is never used by vmpooler itself?
|
||||||
pipeline.hset("vmpooler__vm__#{vm}", 'ready', Time.now)
|
pipeline.hset("vmpooler__vm__#{vm}", 'ready', Time.now.to_s)
|
||||||
|
|
||||||
# last boot time is displayed in API, and used by alarming script
|
# last boot time is displayed in API, and used by alarming script
|
||||||
pipeline.hset('vmpooler__lastboot', pool, Time.now)
|
pipeline.hset('vmpooler__lastboot', pool, Time.now.to_s)
|
||||||
end
|
end
|
||||||
|
|
||||||
$metrics.timing("time_to_ready_state.#{pool}", finish)
|
$metrics.timing("time_to_ready_state.#{pool}", finish)
|
||||||
|
|
@ -226,7 +226,7 @@ module Vmpooler
|
||||||
last_checked_too_soon = ((Time.now - Time.parse(check_stamp)).to_i < $config[:config]['vm_checktime'] * 60) if check_stamp
|
last_checked_too_soon = ((Time.now - Time.parse(check_stamp)).to_i < $config[:config]['vm_checktime'] * 60) if check_stamp
|
||||||
break if check_stamp && last_checked_too_soon
|
break if check_stamp && last_checked_too_soon
|
||||||
|
|
||||||
redis.hset("vmpooler__vm__#{vm}", 'check', Time.now)
|
redis.hset("vmpooler__vm__#{vm}", 'check', Time.now.to_s)
|
||||||
# Check if the hosts TTL has expired
|
# Check if the hosts TTL has expired
|
||||||
# if 'boottime' is nil, set bootime to beginning of unix epoch, forces TTL to be assumed expired
|
# if 'boottime' is nil, set bootime to beginning of unix epoch, forces TTL to be assumed expired
|
||||||
boottime = redis.hget("vmpooler__vm__#{vm}", 'ready')
|
boottime = redis.hget("vmpooler__vm__#{vm}", 'ready')
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,6 @@
|
||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
require 'time'
|
require 'time'
|
||||||
require 'mock_redis'
|
require 'mock_redis'
|
||||||
require 'pry'
|
|
||||||
require 'pry-byebug'
|
|
||||||
|
|
||||||
# Custom RSpec :Matchers
|
# Custom RSpec :Matchers
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,6 @@ Gem::Specification.new do |s|
|
||||||
s.add_development_dependency 'climate_control', '>= 0.2.0'
|
s.add_development_dependency 'climate_control', '>= 0.2.0'
|
||||||
s.add_development_dependency 'mock_redis', '>= 0.17.0'
|
s.add_development_dependency 'mock_redis', '>= 0.17.0'
|
||||||
s.add_development_dependency 'pry'
|
s.add_development_dependency 'pry'
|
||||||
s.add_development_dependency 'pry-byebug'
|
|
||||||
s.add_development_dependency 'rack-test', '>= 0.6'
|
s.add_development_dependency 'rack-test', '>= 0.6'
|
||||||
s.add_development_dependency 'rspec', '>= 3.2'
|
s.add_development_dependency 'rspec', '>= 3.2'
|
||||||
s.add_development_dependency 'rubocop', '~> 1.54.2'
|
s.add_development_dependency 'rubocop', '~> 1.54.2'
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue