From e983a7a7ce72f2ba412c17f14020b7a48605de05 Mon Sep 17 00:00:00 2001 From: Leos Stejskal Date: Wed, 8 Oct 2025 12:36:56 +0200 Subject: [PATCH 1/2] guard against searching for VMs with id nil - get_virtual_machine - Raise a NotFound error when id is nil - Compute::Server - only fetch SCSI and NVMe controllers when id is not nil --- lib/fog/vsphere/models/compute/server.rb | 4 ++-- lib/fog/vsphere/requests/compute/get_virtual_machine.rb | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/fog/vsphere/models/compute/server.rb b/lib/fog/vsphere/models/compute/server.rb index 83aba3b6..adf2dcd4 100644 --- a/lib/fog/vsphere/models/compute/server.rb +++ b/lib/fog/vsphere/models/compute/server.rb @@ -290,11 +290,11 @@ def customvalues end def scsi_controllers - attributes[:scsi_controllers] ||= service.list_vm_scsi_controllers(id) + attributes[:scsi_controllers] ||= id.nil? ? [] : service.list_vm_scsi_controllers(id) end def nvme_controllers - attributes[:nvme_controllers] ||= service.list_vm_nvme_controllers(id) + attributes[:nvme_controllers] ||= id.nil? ? [] : service.list_vm_nvme_controllers(id) end def scsi_controller diff --git a/lib/fog/vsphere/requests/compute/get_virtual_machine.rb b/lib/fog/vsphere/requests/compute/get_virtual_machine.rb index 7f458b51..c1236f5e 100644 --- a/lib/fog/vsphere/requests/compute/get_virtual_machine.rb +++ b/lib/fog/vsphere/requests/compute/get_virtual_machine.rb @@ -3,6 +3,8 @@ module Vsphere class Compute class Real def get_virtual_machine(id, datacenter_name = nil, folder = nil, recursive = false) + raise(Fog::Vsphere::Compute::NotFound, "The id of the virtual machine can't be nil") if id.nil? + # The larger the VM list the longer it will take if not searching based on UUID. convert_vm_mob_ref_to_attr_hash(get_vm_ref(id, datacenter_name, folder, recursive)) end @@ -10,6 +12,8 @@ def get_virtual_machine(id, datacenter_name = nil, folder = nil, recursive = fal protected def get_vm_ref(id, dc = nil, folder = nil, recursive = false) + raise(Fog::Vsphere::Compute::NotFound, "The id of the virtual machine can't be nil") if id.nil? + raw_datacenter = find_raw_datacenter(dc) if dc vm = case is_uuid?(id) # UUID based From cba0fa28f55739c6fdc5c02cc4a0046fea8b4074 Mon Sep 17 00:00:00 2001 From: Leos Stejskal Date: Wed, 8 Oct 2025 12:39:28 +0200 Subject: [PATCH 2/2] Bump version to 3.7.1 --- lib/fog/vsphere/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/fog/vsphere/version.rb b/lib/fog/vsphere/version.rb index 800663ee..fb901e85 100644 --- a/lib/fog/vsphere/version.rb +++ b/lib/fog/vsphere/version.rb @@ -1,5 +1,5 @@ module Fog module Vsphere - VERSION = '3.7.1'.freeze + VERSION = '3.7.2'.freeze end end