From e705cb7e32da0e3c4b6d3b366edec1e9548d28fc Mon Sep 17 00:00:00 2001 From: ArnauGabrielAtienza <97285545+ArnauGabrielAtienza@users.noreply.github.com> Date: Mon, 16 Sep 2024 17:36:31 +0200 Subject: [PATCH] F OpenNebula/one#6624: Fix no snapshots available bug (#3229) Signed-off-by: ArnauGabrielAtienza (cherry picked from commit a95a94b5a61c6b3b137fb89c39ff3fe7343fe51c) --- src/cli/onevm | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/src/cli/onevm b/src/cli/onevm index 1326e82b58..2a30456384 100755 --- a/src/cli/onevm +++ b/src/cli/onevm @@ -1290,21 +1290,23 @@ CommandParser::CmdParser.new(ARGV) do vm = helper.retrieve_resource(args[0]) vm.info - filtered = [] - vm_hash = vm.to_hash - vm_snapshots = [vm_hash['VM']['SNAPSHOTS']].flatten - - vm_snapshots.each do |snap| - if snap['DISK_ID'] == args[1] - filtered << snap - end - end - - vm_hash['VM']['SNAPSHOTS'] = filtered - if vm.has_elements?('/VM/SNAPSHOTS') + filtered = [] + vm_hash = vm.to_hash + vm_snapshots = [vm_hash['VM']['SNAPSHOTS']].flatten + + vm_snapshots.each do |snap| + if snap['DISK_ID'] == args[1] + filtered << snap + end + end + + vm_hash['VM']['SNAPSHOTS'] = filtered + CLIHelper.print_header('VM DISK SNAPSHOTS'.ljust(80), false) helper.format_snapshots(vm_hash) + else + puts 'No snapshots available in this disk' end 0 end