diff --git a/Gemfile.lock b/Gemfile.lock index ba19548..d59fc9d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -29,7 +29,6 @@ GEM ast (2.4.2) bindata (2.4.15) builder (3.2.4) - byebug (11.1.3) climate_control (1.2.0) coderay (1.1.3) concurrent-ruby (1.2.2) @@ -41,9 +40,11 @@ GEM faraday-net_http (>= 2.0, < 3.1) ruby2_keywords (>= 0.0.4) faraday-net_http (3.0.2) + ffi (1.15.5-java) google-cloud-env (1.6.0) faraday (>= 0.17.3, < 3.0) json (2.6.3) + json (2.6.3-java) language_server-protocol (3.17.0.3) method_source (1.0.0) mock_redis (0.36.0) @@ -52,6 +53,7 @@ GEM ruby2_keywords (~> 0.0.1) net-ldap (0.18.0) nio4r (2.5.9) + nio4r (2.5.9-java) opentelemetry-api (1.2.1) opentelemetry-common (0.19.7) opentelemetry-api (~> 1.0) @@ -99,12 +101,16 @@ GEM pry (0.14.2) coderay (~> 1.1) method_source (~> 1.0) - pry-byebug (3.10.1) - byebug (~> 11.0) - pry (>= 0.13, < 0.15) + pry (0.14.2-java) + coderay (~> 1.1) + method_source (~> 1.0) + spoon (~> 0.0) puma (6.3.0) nio4r (~> 2.0) + puma (6.3.0-java) + nio4r (~> 2.0) racc (1.7.1) + racc (1.7.1-java) rack (2.2.8) rack-protection (3.1.0) rack (~> 2.2, >= 2.2.4) @@ -159,6 +165,8 @@ GEM tilt (~> 2.0) spicy-proton (2.1.15) bindata (~> 2.3) + spoon (0.0.6) + ffi statsd-ruby (1.5.0) thor (1.2.2) thrift (0.18.1) @@ -169,13 +177,13 @@ GEM rspec (~> 3) PLATFORMS + universal-java-11 x86_64-darwin-22 DEPENDENCIES climate_control (>= 0.2.0) mock_redis (>= 0.17.0) pry - pry-byebug rack-test (>= 0.6) rspec (>= 3.2) rubocop (~> 1.54.2) diff --git a/lib/vmpooler.rb b/lib/vmpooler.rb index 197bf4a..02a6a85 100644 --- a/lib/vmpooler.rb +++ b/lib/vmpooler.rb @@ -18,7 +18,7 @@ module Vmpooler # Dependencies for tracing require 'opentelemetry-instrumentation-concurrent_ruby' require 'opentelemetry-instrumentation-http_client' - # require 'opentelemetry-instrumentation-redis' + require 'opentelemetry-instrumentation-redis' require 'opentelemetry-instrumentation-sinatra' require 'opentelemetry-sdk' require 'opentelemetry/exporter/jaeger' diff --git a/lib/vmpooler/api/helpers.rb b/lib/vmpooler/api/helpers.rb index e393466..c6351a9 100644 --- a/lib/vmpooler/api/helpers.rb +++ b/lib/vmpooler/api/helpers.rb @@ -25,7 +25,7 @@ module Vmpooler def validate_token(backend) tracer.in_span("Vmpooler::API::Helpers.#{__method__}") do 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 end diff --git a/lib/vmpooler/api/v3.rb b/lib/vmpooler/api/v3.rb index 3b629dc..41c6480 100644 --- a/lib/vmpooler/api/v3.rb +++ b/lib/vmpooler/api/v3.rb @@ -189,8 +189,8 @@ module Vmpooler span.set_attribute('enduser.id', user) has_token_result = has_token? backend.sadd("vmpooler__migrating__#{template}", vm) - backend.hset("vmpooler__active__#{template}", vm, Time.now) - backend.hset("vmpooler__vm__#{vm}", 'checkout', Time.now) + backend.hset("vmpooler__active__#{template}", vm, Time.now.to_s) + backend.hset("vmpooler__vm__#{vm}", 'checkout', Time.now.to_s) if Vmpooler::API.settings.config[:auth] and has_token_result 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 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.set_attribute('enduser.id', @auth.username) diff --git a/lib/vmpooler/pool_manager.rb b/lib/vmpooler/pool_manager.rb index 25afb44..a4fd3b2 100644 --- a/lib/vmpooler/pool_manager.rb +++ b/lib/vmpooler/pool_manager.rb @@ -167,8 +167,8 @@ module Vmpooler pool_alias = redis.hget("vmpooler__vm__#{vm}", 'pool_alias') redis.pipelined do |pipeline| - pipeline.hset("vmpooler__active__#{pool}", vm, Time.now) - pipeline.hset("vmpooler__vm__#{vm}", 'checkout', Time.now) + pipeline.hset("vmpooler__active__#{pool}", vm, Time.now.to_s) + pipeline.hset("vmpooler__vm__#{vm}", 'checkout', Time.now.to_s) if 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']) @@ -184,10 +184,10 @@ module Vmpooler 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__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 - pipeline.hset('vmpooler__lastboot', pool, Time.now) + pipeline.hset('vmpooler__lastboot', pool, Time.now.to_s) end $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 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 # if 'boottime' is nil, set bootime to beginning of unix epoch, forces TTL to be assumed expired boottime = redis.hget("vmpooler__vm__#{vm}", 'ready') @@ -911,7 +911,7 @@ module Vmpooler end if options[:pending_vm] - pending_vm_count = redis.scard("vmpooler__pending__#{options[:poolname]}") + pending_vm_count = redis.scard("vmpooler__pending__#{options[:poolname]}") break unless pending_vm_count == 0 end @@ -1333,8 +1333,8 @@ module Vmpooler ready = redis.scard("vmpooler__ready__#{pool_name}") pending = redis.scard("vmpooler__pending__#{pool_name}") running = redis.scard("vmpooler__running__#{pool_name}") - - total = pending.to_i + ready.to_i + + total = pending.to_i + ready.to_i $metrics.gauge("ready.#{pool_name}", ready) $metrics.gauge("running.#{pool_name}", running) diff --git a/spec/unit/pool_manager_spec.rb b/spec/unit/pool_manager_spec.rb index 742ea54..8561896 100644 --- a/spec/unit/pool_manager_spec.rb +++ b/spec/unit/pool_manager_spec.rb @@ -1,8 +1,6 @@ require 'spec_helper' require 'time' require 'mock_redis' -require 'pry' -require 'pry-byebug' # Custom RSpec :Matchers diff --git a/vmpooler.gemspec b/vmpooler.gemspec index e997b11..c3ba291 100644 --- a/vmpooler.gemspec +++ b/vmpooler.gemspec @@ -41,7 +41,6 @@ Gem::Specification.new do |s| s.add_development_dependency 'climate_control', '>= 0.2.0' s.add_development_dependency 'mock_redis', '>= 0.17.0' s.add_development_dependency 'pry' - s.add_development_dependency 'pry-byebug' s.add_development_dependency 'rack-test', '>= 0.6' s.add_development_dependency 'rspec', '>= 3.2' s.add_development_dependency 'rubocop', '~> 1.54.2'