From 493e358ba1f94e246280bd1912e3e440b192867a Mon Sep 17 00:00:00 2001 From: isaac-hammes Date: Thu, 17 Aug 2023 13:08:08 -0700 Subject: [PATCH] (POD-10) Log reason for failed VM checks. --- lib/vmpooler/providers/gce.rb | 6 ++++-- spec/unit/providers/gce_spec.rb | 8 ++++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/lib/vmpooler/providers/gce.rb b/lib/vmpooler/providers/gce.rb index e7d838d..747872e 100644 --- a/lib/vmpooler/providers/gce.rb +++ b/lib/vmpooler/providers/gce.rb @@ -460,15 +460,17 @@ module Vmpooler true end - def vm_ready?(pool_name, vm_name) + def vm_ready?(pool_name, vm_name, redis) debug_logger('vm_ready?') begin # TODO: we could use a healthcheck resource attached to instance domain = domain(pool_name) open_socket(vm_name, domain) - rescue StandardError => _e + rescue StandardError => e + redis.hset("vmpooler__vm__#{vm_name}", 'open_socket_error', e.to_s) return false end + redis.hdel("vmpooler__vm__#{vm_name}", 'open_socket_error') true end diff --git a/spec/unit/providers/gce_spec.rb b/spec/unit/providers/gce_spec.rb index 614a23b..1e219b9 100644 --- a/spec/unit/providers/gce_spec.rb +++ b/spec/unit/providers/gce_spec.rb @@ -361,7 +361,9 @@ EOT end it 'should return true' do - expect(subject.vm_ready?(poolname, vmname)).to be true + redis_connection_pool.with_metrics do |redis| + expect(subject.vm_ready?(poolname, vmname, redis)).to be true + end end end @@ -371,7 +373,9 @@ EOT end it 'should return false' do - expect(subject.vm_ready?(poolname, vmname)).to be false + redis_connection_pool.with_metrics do |redis| + expect(subject.vm_ready?(poolname, vmname, redis)).to be false + end end end end