From 94865d2dd7ef3e3d37870644fd7c06f198e713af Mon Sep 17 00:00:00 2001 From: onenhansen <92747003+onenhansen@users.noreply.github.com> Date: Mon, 11 Jul 2022 02:02:47 -0600 Subject: [PATCH 1/3] F #5818: Fixing case where no images exist in datastore (#2227) --- src/oca/ruby/opennebula/marketplaceapp_ext.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/oca/ruby/opennebula/marketplaceapp_ext.rb b/src/oca/ruby/opennebula/marketplaceapp_ext.rb index 6c341e975f..7b8046c405 100644 --- a/src/oca/ruby/opennebula/marketplaceapp_ext.rb +++ b/src/oca/ruby/opennebula/marketplaceapp_ext.rb @@ -604,6 +604,7 @@ module OpenNebula::MarketPlaceAppExt exported = {} idx = 0 idy = 0 + opt_name = '' # Store IDs of created resources images = [] @@ -634,8 +635,9 @@ module OpenNebula::MarketPlaceAppExt img_names = imgp.retrieve_elements('/IMAGE_POOL/IMAGE/NAME') opt_name = options[:name] + t_short = "#{opt_name}-#{obj_name}-#{idx}" - if img_names.include? "#{opt_name}-#{obj_name}-#{idx}" + if !img_names.nil? && img_names.include?(t_short) idy = 0 while img_names.include? \ "#{opt_name}_#{idy}-#{obj_name}-#{idx}" From 7eec6f95012be1f635187e40af31f8dc68a2cf59 Mon Sep 17 00:00:00 2001 From: Tino Vazquez Date: Mon, 11 Jul 2022 11:53:45 +0200 Subject: [PATCH 2/3] F #5818: Check if info operation was successful (cherry picked from commit db35b0764a40d182417c2633fc1b81f4cf27794a) --- src/oca/ruby/opennebula/marketplaceapp_ext.rb | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/oca/ruby/opennebula/marketplaceapp_ext.rb b/src/oca/ruby/opennebula/marketplaceapp_ext.rb index 7b8046c405..3b14fc48d0 100644 --- a/src/oca/ruby/opennebula/marketplaceapp_ext.rb +++ b/src/oca/ruby/opennebula/marketplaceapp_ext.rb @@ -629,9 +629,11 @@ module OpenNebula::MarketPlaceAppExt obj.extend(MarketPlaceAppExt) - # Fix name if duplcates exist + # Fix name if duplicates exist imgp = OpenNebula::ImagePool.new(@client) - imgp.info + rc = imgp.info + break rc if OpenNebula.is_error?(rc) + img_names = imgp.retrieve_elements('/IMAGE_POOL/IMAGE/NAME') opt_name = options[:name] @@ -653,9 +655,9 @@ module OpenNebula::MarketPlaceAppExt ) image = rc[:image].first if rc[:image] - vmtemplate = rc[:vmtemplate].first if rc[:vmtemplate] - break image if OpenNebula.is_error?(image) + + vmtemplate = rc[:vmtemplate].first if rc[:vmtemplate] break vmtemplate if OpenNebula.is_error?(vmtemplate) idx += 1 From 18f26d4fc9998caea0ad9bbba5004b943cac5aa7 Mon Sep 17 00:00:00 2001 From: Tino Vazquez Date: Mon, 11 Jul 2022 12:00:45 +0200 Subject: [PATCH 3/3] L #-: Adjust unneeded spacing (cherry picked from commit 350ad5427092849326bc63b00680199a57f9ac85) --- src/oca/ruby/opennebula/marketplaceapp_ext.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/oca/ruby/opennebula/marketplaceapp_ext.rb b/src/oca/ruby/opennebula/marketplaceapp_ext.rb index 3b14fc48d0..a6182afba2 100644 --- a/src/oca/ruby/opennebula/marketplaceapp_ext.rb +++ b/src/oca/ruby/opennebula/marketplaceapp_ext.rb @@ -654,7 +654,7 @@ module OpenNebula::MarketPlaceAppExt :notemplate => options[:notemplate] ) - image = rc[:image].first if rc[:image] + image = rc[:image].first if rc[:image] break image if OpenNebula.is_error?(image) vmtemplate = rc[:vmtemplate].first if rc[:vmtemplate]