diff --git a/lib/fog/proxmox/helpers/disk_helper.rb b/lib/fog/proxmox/helpers/disk_helper.rb index c18814b..1a6434e 100644 --- a/lib/fog/proxmox/helpers/disk_helper.rb +++ b/lib/fog/proxmox/helpers/disk_helper.rb @@ -136,7 +136,7 @@ def self.to_int_gb(size_bytes) def self.extract_size(disk_value) size = extract_option('size', disk_value) - size = to_int_gb(to_bytes(size)).to_s if size.match?(/\d+(G)/) + size = to_int_gb(to_bytes(size)).to_s if size&.match?(/\d+(G)/) size end diff --git a/spec/helpers/disk_helper_spec.rb b/spec/helpers/disk_helper_spec.rb index a320d2a..16fa5d9 100644 --- a/spec/helpers/disk_helper_spec.rb +++ b/spec/helpers/disk_helper_spec.rb @@ -30,7 +30,7 @@ end let(:scsi) do - { scsi0: 'local-lvm:vm-100-disk-1,size=8,cache=none' } + { scsi0: 'local-lvm:vm-100-disk-1,size=8,cache=none', scsi1: 'zdata:vm-221-disk-0' } end let(:virtio1) do @@ -118,6 +118,13 @@ assert_equal('8', size) end + it 'returns scsi get zdata storage and volid with no size' do + storage, volid, size = Fog::Proxmox::DiskHelper.extract_storage_volid_size(scsi[:scsi1]) + assert_equal('zdata', storage) + assert_equal('zdata:vm-221-disk-0', volid) + assert_nil size + end + it 'returns virtio get local storage volid and size' do storage, volid, size = Fog::Proxmox::DiskHelper.extract_storage_volid_size(virtio[:virtio1]) assert_equal('local', storage)