diff --git a/src/cli/one_helper.rb b/src/cli/one_helper.rb index 16cb97d67c..299a38face 100644 --- a/src/cli/one_helper.rb +++ b/src/cli/one_helper.rb @@ -367,17 +367,17 @@ EOT if top table.top(options) { - array=pool_to_array(pool.get_hash) - if OpenNebula.is_error?(array) - STDERR.puts array.mesage - exit(-1) - end - array + array=pool.get_hash + return -1, array.message if OpenNebula.is_error?(array) + + pool_to_array(array) } else - array=pool_to_array(pool.get_hash) + array=pool.get_hash return -1, array.message if OpenNebula.is_error?(array) + array=pool_to_array(array) + if options[:ids] array=array.select do |element| options[:ids].include? element['ID'].to_i diff --git a/src/oca/ruby/opennebula/pool.rb b/src/oca/ruby/opennebula/pool.rb index 340dbee00c..6c4e0b4a17 100644 --- a/src/oca/ruby/opennebula/pool.rb +++ b/src/oca/ruby/opennebula/pool.rb @@ -175,7 +175,10 @@ module OpenNebula if OpenNebula.pool_page_size && allow_paginated && ( ( size && size >= 2 ) || !size ) size = OpenNebula.pool_page_size if !size - { @pool_name => { @element_name => info_paginated(size) } } + hash=info_paginated(size) + + return hash if OpenNebula.is_error?(hash) + { @pool_name => { @element_name => hash } } else rc=info return rc if OpenNebula.is_error?(rc)