From 1aaf04e45ce7bb810e73d3570b9af0c4d4037a9b Mon Sep 17 00:00:00 2001 From: mcabrerizo Date: Tue, 18 Apr 2017 10:16:59 +0200 Subject: [PATCH] F #4913: Pass vmm action error message to the driver (ERROR attr) so you don't have to look for it in the log --- src/vmm_mad/remotes/vcenter/attach_disk | 5 +++-- src/vmm_mad/remotes/vcenter/attach_nic | 7 ++++--- src/vmm_mad/remotes/vcenter/cancel | 7 ++++--- src/vmm_mad/remotes/vcenter/deploy | 7 +++---- src/vmm_mad/remotes/vcenter/detach_disk | 5 +++-- src/vmm_mad/remotes/vcenter/detach_nic | 5 +++-- src/vmm_mad/remotes/vcenter/poll | 7 ++++--- src/vmm_mad/remotes/vcenter/reboot | 7 ++++--- src/vmm_mad/remotes/vcenter/reconfigure | 7 ++++--- src/vmm_mad/remotes/vcenter/reset | 7 ++++--- src/vmm_mad/remotes/vcenter/restore | 7 ++++--- src/vmm_mad/remotes/vcenter/save | 7 ++++--- src/vmm_mad/remotes/vcenter/shutdown | 7 ++++--- src/vmm_mad/remotes/vcenter/snapshot_create | 7 ++++--- src/vmm_mad/remotes/vcenter/snapshot_delete | 9 +++++---- src/vmm_mad/remotes/vcenter/snapshot_revert | 9 +++++---- src/vmm_mad/remotes/vcenter/vcenter_driver.rb | 10 +++++++++- 17 files changed, 71 insertions(+), 49 deletions(-) diff --git a/src/vmm_mad/remotes/vcenter/attach_disk b/src/vmm_mad/remotes/vcenter/attach_disk index 1a3b7e5f83..b7382cffa4 100755 --- a/src/vmm_mad/remotes/vcenter/attach_disk +++ b/src/vmm_mad/remotes/vcenter/attach_disk @@ -49,8 +49,9 @@ begin vm.attach_disk rescue Exception => e - STDERR.puts "Attach image for VM #{vm_ref} on vCenter cluster #{vc_cluster_name} "\ - "failed due to \"#{e.message}\"\n#{e.backtrace}" + message = "Attach image for VM #{vm_ref} on vCenter cluster #{vc_cluster_name} "\ + "failed due to \"#{e.message}\"\n#{e.backtrace}" + STDERR.puts error_message(message) exit -1 ensure vi_client.close_connection if vi_client diff --git a/src/vmm_mad/remotes/vcenter/attach_nic b/src/vmm_mad/remotes/vcenter/attach_nic index b81b2a231e..7e7d54bd2f 100755 --- a/src/vmm_mad/remotes/vcenter/attach_nic +++ b/src/vmm_mad/remotes/vcenter/attach_nic @@ -49,9 +49,10 @@ begin vm.attach_nic rescue Exception => e - STDERR.puts "Attach NIC for VM #{vm_ref} on vCenter cluster #{vc_cluster_name} "\ - "failed due to \"#{e.message}\"\n#{e.backtrace}" - exit(-1) + message = "Attach NIC for VM #{vm_ref} on vCenter cluster #{vc_cluster_name} "\ + "failed due to \"#{e.message}\"\n#{e.backtrace}" + STDERR.puts error_message(message) + exit -1 ensure vi_client.close_connection if vi_client end diff --git a/src/vmm_mad/remotes/vcenter/cancel b/src/vmm_mad/remotes/vcenter/cancel index 0d88d679d6..7b7b35d40b 100755 --- a/src/vmm_mad/remotes/vcenter/cancel +++ b/src/vmm_mad/remotes/vcenter/cancel @@ -49,9 +49,10 @@ begin vm.poweroff_hard rescue Exception => e - STDERR.puts "Cancel VM #{vm_ref} failed due to "\ - "\"#{e.message}\"\n#{e.backtrace}" - exit(-1) + message = "Cancel VM #{vm_ref} failed due to "\ + "\"#{e.message}\"\n#{e.backtrace}" + STDERR.puts error_message(message) + exit -1 ensure vi_client.close_connection if vi_client end diff --git a/src/vmm_mad/remotes/vcenter/deploy b/src/vmm_mad/remotes/vcenter/deploy index cb753eeaae..ad78b75c1e 100755 --- a/src/vmm_mad/remotes/vcenter/deploy +++ b/src/vmm_mad/remotes/vcenter/deploy @@ -68,8 +68,6 @@ begin # Resize unmanaged disks vm.resize_unmanaged_disks - - vm.reconfigure vm.poweron vm.set_running(true) @@ -77,8 +75,9 @@ begin puts vm['_ref'] rescue Exception => e - STDERR.puts "Deploy of VM #{vm_id} on vCenter cluster #{cluster_name} " + - "with #{dfile} failed due to \"#{e.message}\"\n#{e.backtrace}" + message = "Deploy of VM #{vm_id} on vCenter cluster #{cluster_name} " + + "with #{dfile} failed due to \"#{e.message}\"\n#{e.backtrace}" + STDERR.puts error_message(message) exit -1 ensure vi_client.close_connection if vi_client diff --git a/src/vmm_mad/remotes/vcenter/detach_disk b/src/vmm_mad/remotes/vcenter/detach_disk index a4dde1b5d2..957c8fc6e0 100755 --- a/src/vmm_mad/remotes/vcenter/detach_disk +++ b/src/vmm_mad/remotes/vcenter/detach_disk @@ -47,8 +47,9 @@ begin "snapshot of the virtual machine." if vm.has_snapshots? rescue Exception => e - STDERR.puts "Detach DISK for VM #{vm_ref} on vCenter cluster #{vc_cluster_name} "\ - "failed due to \"#{e.message}\"\n#{e.backtrace}" + message = "Detach DISK for VM #{vm_ref} on vCenter cluster #{vc_cluster_name} "\ + "failed due to \"#{e.message}\"\n#{e.backtrace}" + STDERR.puts error_message(message) exit -1 ensure vi_client.close_connection if vi_client diff --git a/src/vmm_mad/remotes/vcenter/detach_nic b/src/vmm_mad/remotes/vcenter/detach_nic index e9ce62bcb4..d4cb5ce847 100755 --- a/src/vmm_mad/remotes/vcenter/detach_nic +++ b/src/vmm_mad/remotes/vcenter/detach_nic @@ -49,8 +49,9 @@ begin vm.detach_nic rescue Exception => e - STDERR.puts "Detach NIC for VM #{vm_ref} on vCenter cluster #{vc_cluster_name} "\ - "failed due to \"#{e.message}\"\n#{e.backtrace}" + message = "Detach NIC for VM #{vm_ref} on vCenter cluster #{vc_cluster_name} "\ + "failed due to \"#{e.message}\"\n#{e.backtrace}" + STDERR.puts error_message(message) exit -1 ensure vi_client.close_connection if vi_client diff --git a/src/vmm_mad/remotes/vcenter/poll b/src/vmm_mad/remotes/vcenter/poll index f4e2160556..54b037f814 100755 --- a/src/vmm_mad/remotes/vcenter/poll +++ b/src/vmm_mad/remotes/vcenter/poll @@ -46,9 +46,10 @@ begin puts vm.info rescue Exception => e - STDERR.puts "Cannot poll info for VM #{vm_ref} on vCenter cluster "\ - "#{vc_cluster_name} failed due to "\ - "\"#{e.message}\"\n#{e.backtrace}" + message = "Cannot poll info for VM #{vm_ref} on vCenter cluster "\ + "#{vc_cluster_name} failed due to "\ + "\"#{e.message}\"\n#{e.backtrace}" + STDERR.puts error_message(message) exit -1 ensure vi_client.close_connection if vi_client diff --git a/src/vmm_mad/remotes/vcenter/reboot b/src/vmm_mad/remotes/vcenter/reboot index d0f89dedbc..2117499a9e 100755 --- a/src/vmm_mad/remotes/vcenter/reboot +++ b/src/vmm_mad/remotes/vcenter/reboot @@ -43,9 +43,10 @@ begin vm.reboot rescue Exception => e - STDERR.puts "Guest reboot of VM #{vm_ref} on vCenter cluster "\ - "#{vc_cluster_name} failed due to "\ - "\"#{e.message}\"\n#{e.backtrace}" + message = "Guest reboot of VM #{vm_ref} on vCenter cluster "\ + "#{vc_cluster_name} failed due to "\ + "\"#{e.message}\"\n#{e.backtrace}" + STDERR.puts error_message(message) exit -1 ensure vi_client.close_connection if vi_client diff --git a/src/vmm_mad/remotes/vcenter/reconfigure b/src/vmm_mad/remotes/vcenter/reconfigure index a472a46061..f358348336 100755 --- a/src/vmm_mad/remotes/vcenter/reconfigure +++ b/src/vmm_mad/remotes/vcenter/reconfigure @@ -43,9 +43,10 @@ begin vm.regenerate_context rescue Exception => e - STDERR.puts "Reconfiguration of VM #{vm_ref} on vCenter cluster "\ - "#{vc_cluster_name} failed due to "\ - "\"#{e.message}\"\n#{e.backtrace}" + message = "Reconfiguration of VM #{vm_ref} on vCenter cluster "\ + "#{vc_cluster_name} failed due to "\ + "\"#{e.message}\"\n#{e.backtrace}" + STDERR.puts error_message(message) exit -1 ensure vi_client.close_connection if vi_client diff --git a/src/vmm_mad/remotes/vcenter/reset b/src/vmm_mad/remotes/vcenter/reset index 042f277c23..34adae84f4 100755 --- a/src/vmm_mad/remotes/vcenter/reset +++ b/src/vmm_mad/remotes/vcenter/reset @@ -43,9 +43,10 @@ begin vm.reset rescue Exception => e - STDERR.puts "Reset of VM #{vm_ref} on vCenter cluster "\ - "#{vc_cluster_name} failed due to "\ - "\"#{e.message}\"\n#{e.backtrace}" + message = "Reset of VM #{vm_ref} on vCenter cluster "\ + "#{vc_cluster_name} failed due to "\ + "\"#{e.message}\"\n#{e.backtrace}" + STDERR.puts error_message(message) exit -1 ensure vi_client.close_connection if vi_client diff --git a/src/vmm_mad/remotes/vcenter/restore b/src/vmm_mad/remotes/vcenter/restore index f25added6b..fadaf3aae9 100755 --- a/src/vmm_mad/remotes/vcenter/restore +++ b/src/vmm_mad/remotes/vcenter/restore @@ -45,9 +45,10 @@ begin vm.set_running(true) rescue Exception => e - STDERR.puts "Restore of VM #{vm_ref} on vCenter cluster "\ - "#{vc_cluster_name} failed due to "\ - "\"#{e.message}\"\n#{e.backtrace}" + message = "Restore of VM #{vm_ref} on vCenter cluster "\ + "#{vc_cluster_name} failed due to "\ + "\"#{e.message}\"\n#{e.backtrace}" + STDERR.puts error_message(message) exit -1 ensure vi_client.close_connection if vi_client diff --git a/src/vmm_mad/remotes/vcenter/save b/src/vmm_mad/remotes/vcenter/save index 1db30910b9..28fa132cc1 100755 --- a/src/vmm_mad/remotes/vcenter/save +++ b/src/vmm_mad/remotes/vcenter/save @@ -62,9 +62,10 @@ begin vm.suspend rescue Exception => e - STDERR.puts "Save of VM #{vm_ref} on vCenter cluster "\ - "#{vc_cluster_name} failed due to "\ - "\"#{e.message}\"\n#{e.backtrace}" + message = "Save of VM #{vm_ref} on vCenter cluster "\ + "#{vc_cluster_name} failed due to "\ + "\"#{e.message}\"\n#{e.backtrace}" + STDERR.puts error_message(message) exit -1 ensure vi_client.close_connection if vi_client diff --git a/src/vmm_mad/remotes/vcenter/shutdown b/src/vmm_mad/remotes/vcenter/shutdown index 7578fd2203..cbabaeb20e 100755 --- a/src/vmm_mad/remotes/vcenter/shutdown +++ b/src/vmm_mad/remotes/vcenter/shutdown @@ -59,9 +59,10 @@ begin vm.shutdown #Undeploy, Poweroff or Terminate rescue Exception => e - STDERR.puts "Shutdown of VM #{vm_ref} on vCenter cluster "\ - "#{vc_cluster_name} failed due to "\ - "\"#{e.message}\"\n#{e.backtrace}" + message = "Shutdown of VM #{vm_ref} on vCenter cluster "\ + "#{vc_cluster_name} failed due to "\ + "\"#{e.message}\"\n#{e.backtrace}" + STDERR.puts error_message(message) exit -1 ensure vi_client.close_connection if vi_client diff --git a/src/vmm_mad/remotes/vcenter/snapshot_create b/src/vmm_mad/remotes/vcenter/snapshot_create index c994e140cb..d88dd1f8a2 100755 --- a/src/vmm_mad/remotes/vcenter/snapshot_create +++ b/src/vmm_mad/remotes/vcenter/snapshot_create @@ -62,9 +62,10 @@ begin puts vm.create_snapshot(snap_id, snap_name) rescue Exception => e - STDERR.puts "Snapshot of VM #{vm_ref} on vCenter cluster "\ - "#{vc_cluster_name} failed due to "\ - "\"#{e.message}\"\n#{e.backtrace}" + message = "Snapshot of VM #{vm_ref} on vCenter cluster "\ + "#{vc_cluster_name} failed due to "\ + "\"#{e.message}\"\n#{e.backtrace}" + STDERR.puts error_message(message) exit -1 ensure vi_client.close_connection if vi_client diff --git a/src/vmm_mad/remotes/vcenter/snapshot_delete b/src/vmm_mad/remotes/vcenter/snapshot_delete index dab7de7b43..5a30c99e25 100755 --- a/src/vmm_mad/remotes/vcenter/snapshot_delete +++ b/src/vmm_mad/remotes/vcenter/snapshot_delete @@ -44,10 +44,11 @@ begin vm.delete_snapshot(snap_id) rescue Exception => e - STDERR.puts "Snapshot of VM #{vm_ref} on vCenter cluster "\ - "#{vc_cluster_name} could not be deleted due to "\ - "\"#{e.message}\"\n#{e.backtrace}" - exit(-1) + message = "Snapshot of VM #{vm_ref} on vCenter cluster "\ + "#{vc_cluster_name} could not be deleted due to "\ + "\"#{e.message}\"\n#{e.backtrace}" + STDERR.puts error_message(message) + exit -1 ensure vi_client.close_connection if vi_client end diff --git a/src/vmm_mad/remotes/vcenter/snapshot_revert b/src/vmm_mad/remotes/vcenter/snapshot_revert index bc630a26c9..6cee389fbe 100755 --- a/src/vmm_mad/remotes/vcenter/snapshot_revert +++ b/src/vmm_mad/remotes/vcenter/snapshot_revert @@ -44,10 +44,11 @@ begin vm.revert_snapshot(snap_id) rescue Exception => e - STDERR.puts "Snapshot of VM #{vm_ref} on vCenter cluster "\ - "#{vc_cluster_name} could not be reverted due "\ - "to \"#{e.message}\"\n#{e.backtrace}" - exit(-1) + message = "Snapshot of VM #{vm_ref} on vCenter cluster "\ + "#{vc_cluster_name} could not be reverted due "\ + "to \"#{e.message}\"\n#{e.backtrace}" + STDERR.puts error_message(message) + exit -1 ensure vi_client.close_connection if vi_client end diff --git a/src/vmm_mad/remotes/vcenter/vcenter_driver.rb b/src/vmm_mad/remotes/vcenter/vcenter_driver.rb index 15d63dfbf1..69a9d38f3a 100644 --- a/src/vmm_mad/remotes/vcenter/vcenter_driver.rb +++ b/src/vmm_mad/remotes/vcenter/vcenter_driver.rb @@ -63,9 +63,17 @@ require 'importer' # Helper functions # # ---------------------------------------------------------------------------- # +def error_message(message) + error_str = "ERROR MESSAGE --8<------\n" + error_str << message + error_str << "\nERROR MESSAGE ------>8--" + + return error_str +end + def check_valid(parameter, label) if parameter.nil? || parameter.empty? - STDERR.puts "The parameter '#{label}' is required for this action." + STDERR.puts error_message("The parameter '#{label}' is required for this action.") exit -1 end end