From 03a762e034a57698a1033cb67976f3bd0333dcad Mon Sep 17 00:00:00 2001 From: Alexandru Avadanii Date: Sat, 18 Jun 2016 04:03:41 +0200 Subject: Fix: upload_cirros hash mixup. Change-Id: Ibd41229ce744256fc289756708d64c3fedede9f4 Signed-off-by: Alexandru Avadanii --- ...oad_cirros-Add-direct-kernel-boot-support.patch | 33 +++++++++++++++------- 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/patches/fuel-library/0006-upload_cirros-Add-direct-kernel-boot-support.patch b/patches/fuel-library/0006-upload_cirros-Add-direct-kernel-boot-support.patch index a928761c..ab4100c6 100644 --- a/patches/fuel-library/0006-upload_cirros-Add-direct-kernel-boot-support.patch +++ b/patches/fuel-library/0006-upload_cirros-Add-direct-kernel-boot-support.patch @@ -15,22 +15,28 @@ diff --git a/deployment/puppet/osnailyfacter/modular/astute/upload_cirros.rb b/d index f0441b0..a619f3f 100755 --- a/deployment/puppet/osnailyfacter/modular/astute/upload_cirros.rb +++ b/deployment/puppet/osnailyfacter/modular/astute/upload_cirros.rb -@@ -56,7 +56,7 @@ def image_list +@@ -52,11 +52,11 @@ def image_list + stdout = `glance --verbose image-list` + return_code = $?.exitstatus +- images = [] ++ images = Hash[] + stdout.split("\n").each do |line| fields = line.split('|').map { |f| f.chomp.strip } next if fields[1] == 'ID' next unless fields[2] - images << {fields[2] => fields[6]} -+ images << {fields[2] => { :id => fields[1], :status => fields[6]}} ++ images[fields[2]] = { :id => fields[1], :status => fields[6] } end {:images => images, :exit_code => return_code} end -@@ -78,6 +78,15 @@ EOF +@@ -78,6 +78,16 @@ EOF [ stdout, return_code ] end +# Calls glance update-image with a given property and value ++# Supported properties: 'kernel-id', 'ramdisk-id' +def update_image(image_id, property, value) -+ command = "/usr/bin/openstack image set --property #{property}=#{value} #{image_id}" ++ command = "/usr/bin/openstack image set --#{property}=#{value} #{image_id}" + puts command + stdout = `#{command}` + return_code = $?.exitstatus @@ -45,11 +51,20 @@ index f0441b0..a619f3f 100755 def check_image(image) list_of_images = image_list - if list_of_images[:exit_code] == 0 && list_of_images[:images].include?(image['img_name'] => "active") -+ if list_of_images[:exit_code] == 0 && list_of_images[:images].select { |k,v| k == image['img_name'] and v[:status] == "active" } ++ if list_of_images[:exit_code] == 0 && list_of_images[:images].select { |k,v| k == image['img_name'] and v[:status] == "active" }.count > 0 return true end return false -@@ -157,6 +166,43 @@ def delete_image(image_name) +@@ -142,7 +151,7 @@ end + # the first one + def cleanup_image(image) + list_of_images = image_list +- unless list_of_images[:images].select { |img_hash| img_hash.key?(image['img_name']) }.empty? ++ unless list_of_images[:images].select { |img_hash, v| img_hash == image['img_name'] }.count == 0 + delete_image(image['img_name']) + end + end +@@ -157,6 +166,41 @@ def delete_image(image_name) [ stdout, return_code ] end @@ -76,11 +91,9 @@ index f0441b0..a619f3f 100755 + if i['img_name'].start_with?(image['img_name']) + ret = 0 + if i['disk_format'] == 'aki' -+ _, ret = update_image(image['id'], 'property', -+ "kernel_id=#{i['id']}") ++ _, ret = update_image(image['id'], 'kernel-id', i['id']) + elsif i['disk_format'] == 'ari' -+ _, ret = update_image(image['id'], 'property', -+ "ramdisk_id=#{i['id']}") ++ _, ret = update_image(image['id'], 'ramdisk-id', i['id']) + end + return_code += ret + end -- cgit 1.2.3-korg