From 5ca0555a52bd330df6bcc6eeae2fd3e8ef0a14af Mon Sep 17 00:00:00 2001 From: isaac-hammes Date: Thu, 17 Aug 2023 13:18:33 -0700 Subject: [PATCH] (POD-10) Log reason for failed VM checks. --- lib/vmpooler/providers/vsphere.rb | 7 ++++--- spec/unit/providers/vsphere_spec.rb | 12 +++++++++--- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/lib/vmpooler/providers/vsphere.rb b/lib/vmpooler/providers/vsphere.rb index 99271bc..48eabd3 100644 --- a/lib/vmpooler/providers/vsphere.rb +++ b/lib/vmpooler/providers/vsphere.rb @@ -555,14 +555,15 @@ module Vmpooler true end - def vm_ready?(pool_name, vm_name) + def vm_ready?(pool_name, vm_name, redis) begin 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/vsphere_spec.rb b/spec/unit/providers/vsphere_spec.rb index 2dbc22e..0dc2092 100644 --- a/spec/unit/providers/vsphere_spec.rb +++ b/spec/unit/providers/vsphere_spec.rb @@ -1090,7 +1090,9 @@ EOT end it 'should return true' do - expect(subject.vm_ready?(poolname, vmname)).to be true + redis_connection_pool.with do |redis| + expect(subject.vm_ready?(poolname, vmname, redis)).to be true + end end end @@ -1103,7 +1105,9 @@ EOT it 'should return true' do allow(subject).to receive(:domain).and_return('vmpooler.example.com') - expect(subject.vm_ready?('missing_pool',vmname)).to be true + redis_connection_pool.with do |redis| + expect(subject.vm_ready?('missing_pool', vmname, redis)).to be true + end end end @@ -1115,7 +1119,9 @@ EOT end it 'should return false' do - expect(subject.vm_ready?(poolname,vmname)).to be false + redis_connection_pool.with do |redis| + expect(subject.vm_ready?(poolname, vmname, redis)).to be false + end end end end