From 9b589f00d335b800e6f59a40496f991d3adcfe6c Mon Sep 17 00:00:00 2001 From: Jose Angel Garrido Montoya Date: Thu, 23 Aug 2018 12:01:24 +0200 Subject: [PATCH] F #2341 Add debug information to vCenter drivers (stacktrace) (#2362) * F #2341 Add debug information to vCenter drivers (stacktrace) * Change default to false for vcenter debug info (cherry picked from commit 8490a0f64c3eb12d17eebba421ce22d3dfca642c) --- src/vmm_mad/remotes/lib/vcenter_driver/vcenter_driver.conf | 3 +++ src/vmm_mad/remotes/vcenter/attach_disk | 3 +++ src/vmm_mad/remotes/vcenter/attach_nic | 3 +++ src/vmm_mad/remotes/vcenter/cancel | 3 +++ src/vmm_mad/remotes/vcenter/deploy | 3 +++ src/vmm_mad/remotes/vcenter/detach_disk | 3 +++ src/vmm_mad/remotes/vcenter/detach_nic | 3 +++ src/vmm_mad/remotes/vcenter/migrate | 3 +++ src/vmm_mad/remotes/vcenter/poll | 3 +++ src/vmm_mad/remotes/vcenter/reboot | 3 +++ src/vmm_mad/remotes/vcenter/reconfigure | 3 +++ src/vmm_mad/remotes/vcenter/reset | 3 +++ src/vmm_mad/remotes/vcenter/restore | 3 +++ src/vmm_mad/remotes/vcenter/save | 3 +++ src/vmm_mad/remotes/vcenter/shutdown | 3 +++ src/vmm_mad/remotes/vcenter/snapshot_create | 3 +++ src/vmm_mad/remotes/vcenter/snapshot_delete | 3 +++ src/vmm_mad/remotes/vcenter/snapshot_revert | 3 +++ 18 files changed, 54 insertions(+) diff --git a/src/vmm_mad/remotes/lib/vcenter_driver/vcenter_driver.conf b/src/vmm_mad/remotes/lib/vcenter_driver/vcenter_driver.conf index b29f1006a7..38a106eaf8 100644 --- a/src/vmm_mad/remotes/lib/vcenter_driver/vcenter_driver.conf +++ b/src/vmm_mad/remotes/lib/vcenter_driver/vcenter_driver.conf @@ -20,3 +20,6 @@ # Default timeout to complete deploy :vm_poweron_wait_default: 300 + +# Show stacktraces on every exception +:debug_information: false diff --git a/src/vmm_mad/remotes/vcenter/attach_disk b/src/vmm_mad/remotes/vcenter/attach_disk index d4a4cbafc4..8e8c457b4b 100755 --- a/src/vmm_mad/remotes/vcenter/attach_disk +++ b/src/vmm_mad/remotes/vcenter/attach_disk @@ -53,6 +53,9 @@ rescue StandardError => e message = "Attach image for VM #{vm_ref} on vCenter cluster" \ "#{vc_cluster_name} failed due to \"#{e.message}\"\n" OpenNebula.log_error(message) + if vi_client.get_property_vcenter_conf(:debug_information) + STDERR.puts "#{message} #{e.backtrace}" + end 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 f27f7c5197..2fec221dba 100755 --- a/src/vmm_mad/remotes/vcenter/attach_nic +++ b/src/vmm_mad/remotes/vcenter/attach_nic @@ -52,6 +52,9 @@ rescue StandardError => e message = "Attach NIC for VM #{vm_ref} on vCenter cluster "\ "#{vc_cluster_name} failed due to \"#{e.message}\"\n" OpenNebula.log_error(message) + if vi_client.get_property_vcenter_conf(:debug_information) + STDERR.puts "#{message} #{e.backtrace}" + end exit(-1) ensure vi_client.close_connection if vi_client diff --git a/src/vmm_mad/remotes/vcenter/cancel b/src/vmm_mad/remotes/vcenter/cancel index fa0e7b3fa6..0319194363 100755 --- a/src/vmm_mad/remotes/vcenter/cancel +++ b/src/vmm_mad/remotes/vcenter/cancel @@ -51,6 +51,9 @@ rescue StandardError => e message = "Cancel VM #{vm_ref} failed due to "\ "\"#{e.message}\"\n#{e.backtrace.join("\n")}" OpenNebula.log_error(message) + if vi_client.get_property_vcenter_conf(:debug_information) + STDERR.puts "#{message} #{e.backtrace}" + end exit(-1) ensure vi_client.close_connection if vi_client diff --git a/src/vmm_mad/remotes/vcenter/deploy b/src/vmm_mad/remotes/vcenter/deploy index 3c9d5d2454..c7d13e056f 100755 --- a/src/vmm_mad/remotes/vcenter/deploy +++ b/src/vmm_mad/remotes/vcenter/deploy @@ -76,6 +76,9 @@ rescue StandardError => e message = "Deploy of VM #{vm_id} on vCenter cluster #{cluster_name} " \ "with #{dfile} failed due to \"#{e.message}\"." OpenNebula.log_error(message) + if vi_client.get_property_vcenter_conf(:debug_information) + STDERR.puts "#{message} #{e.backtrace}" + end 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 54160094fe..2994f3821c 100755 --- a/src/vmm_mad/remotes/vcenter/detach_disk +++ b/src/vmm_mad/remotes/vcenter/detach_disk @@ -52,6 +52,9 @@ rescue StandardError => e message = "Detach DISK for VM #{vm_ref} on vCenter cluster " \ "#{vc_cluster_name} failed due to \"#{e.message}\"." OpenNebula.log_error(message) + if vi_client.get_property_vcenter_conf(:debug_information) + STDERR.puts "#{message} #{e.backtrace}" + end 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 7db511f06e..faada2ed61 100755 --- a/src/vmm_mad/remotes/vcenter/detach_nic +++ b/src/vmm_mad/remotes/vcenter/detach_nic @@ -51,6 +51,9 @@ rescue StandardError => e message = "Detach NIC for VM #{vm_ref} on vCenter cluster " \ "#{vc_cluster_name} failed due to \"#{e.message}\"." OpenNebula.log_error(message) + if vi_client.get_property_vcenter_conf(:debug_information) + STDERR.puts "#{message} #{e.backtrace}" + end exit(-1) ensure vi_client.close_connection if vi_client diff --git a/src/vmm_mad/remotes/vcenter/migrate b/src/vmm_mad/remotes/vcenter/migrate index 37b0aa3980..e358c6175c 100755 --- a/src/vmm_mad/remotes/vcenter/migrate +++ b/src/vmm_mad/remotes/vcenter/migrate @@ -42,5 +42,8 @@ rescue StandardError => e 'failed due to '\ "\"#{e.message}\"." OpenNebula.log_error(message) + if vi_client.get_property_vcenter_conf(:debug_information) + STDERR.puts "#{message} #{e.backtrace}" + end exit(-1) end diff --git a/src/vmm_mad/remotes/vcenter/poll b/src/vmm_mad/remotes/vcenter/poll index 237b00fd33..92c7d43721 100755 --- a/src/vmm_mad/remotes/vcenter/poll +++ b/src/vmm_mad/remotes/vcenter/poll @@ -49,6 +49,9 @@ rescue StandardError => e " on vCenter cluster #{vc_cluster_name} failed due to " \ "\"#{e.message}\"." OpenNebula.log_error(message) + if vi_client.get_property_vcenter_conf(:debug_information) + STDERR.puts "#{message} #{e.backtrace}" + end 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 579c3e93aa..d7c247c8ef 100755 --- a/src/vmm_mad/remotes/vcenter/reboot +++ b/src/vmm_mad/remotes/vcenter/reboot @@ -47,6 +47,9 @@ rescue StandardError => e "#{vc_cluster_name} failed due to "\ "\"#{e.message}\"\n#{e.backtrace.join("\n")}" OpenNebula.log_error(message) + if vi_client.get_property_vcenter_conf(:debug_information) + STDERR.puts "#{message} #{e.backtrace}" + end 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 8b68520abb..1e8a70f53d 100755 --- a/src/vmm_mad/remotes/vcenter/reconfigure +++ b/src/vmm_mad/remotes/vcenter/reconfigure @@ -50,6 +50,9 @@ rescue StandardErrord => e "#{vc_cluster_name} failed due to "\ "\"#{e.message}\"." STDERR.puts error_message(message) + if vi_client.get_property_vcenter_conf(:debug_information) + STDERR.puts "#{e.backtrace}" + end 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 d6f3b02115..b04c730d3e 100755 --- a/src/vmm_mad/remotes/vcenter/reset +++ b/src/vmm_mad/remotes/vcenter/reset @@ -46,6 +46,9 @@ rescue StandardError => e "#{vc_cluster_name} failed due to "\ "\"#{e.message}\"." OpenNebula.log_error(message) + if vi_client.get_property_vcenter_conf(:debug_information) + STDERR.puts "#{message} #{e.backtrace}" + end 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 df9dafbfd6..3442777f44 100755 --- a/src/vmm_mad/remotes/vcenter/restore +++ b/src/vmm_mad/remotes/vcenter/restore @@ -47,6 +47,9 @@ rescue StandardError => e "#{vc_cluster_name} failed due to "\ "\"#{e.message}\"." OpenNebula.log_error(message) + if vi_client.get_property_vcenter_conf(:debug_information) + STDERR.puts "#{message} #{e.backtrace}" + end 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 7f2552f5c7..cbfadfaa44 100755 --- a/src/vmm_mad/remotes/vcenter/save +++ b/src/vmm_mad/remotes/vcenter/save @@ -61,6 +61,9 @@ rescue StandardError => e "#{vc_cluster_name} failed due to "\ "\"#{e.message}\"\n#{e.backtrace.join("\n")}" OpenNebula.log_error(message) + if vi_client.get_property_vcenter_conf(:debug_information) + STDERR.puts "#{message} #{e.backtrace}" + end 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 16b9fa52db..ba5935bf27 100755 --- a/src/vmm_mad/remotes/vcenter/shutdown +++ b/src/vmm_mad/remotes/vcenter/shutdown @@ -68,6 +68,9 @@ rescue StandardError => e "#{vc_cluster_name} failed due to "\ "\"#{e.message}\"\n#{e.backtrace.join("\n")}" OpenNebula.log_error(message) + if vi_client.get_property_vcenter_conf(:debug_information) + STDERR.puts "#{message} #{e.backtrace}" + end 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 b7c4c59bf6..0abbd96f92 100755 --- a/src/vmm_mad/remotes/vcenter/snapshot_create +++ b/src/vmm_mad/remotes/vcenter/snapshot_create @@ -63,6 +63,9 @@ rescue StandardError => e "#{vc_cluster_name} failed due to "\ "\"#{e.message}\"\n" OpenNebula.log_error(message) + if vi_client.get_property_vcenter_conf(:debug_information) + STDERR.puts "#{message} #{e.backtrace}" + end 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 50cfc1ba3e..7e06052835 100755 --- a/src/vmm_mad/remotes/vcenter/snapshot_delete +++ b/src/vmm_mad/remotes/vcenter/snapshot_delete @@ -46,6 +46,9 @@ rescue StandardError => e "#{vc_cluster_name} could not be deleted due to "\ "\"#{e.message}\"\n" OpenNebula.log_error(message) + if vi_client.get_property_vcenter_conf(:debug_information) + STDERR.puts "#{message} #{e.backtrace}" + end exit(-1) ensure vi_client.close_connection if vi_client diff --git a/src/vmm_mad/remotes/vcenter/snapshot_revert b/src/vmm_mad/remotes/vcenter/snapshot_revert index f351ba8994..b9257cdd17 100755 --- a/src/vmm_mad/remotes/vcenter/snapshot_revert +++ b/src/vmm_mad/remotes/vcenter/snapshot_revert @@ -47,6 +47,9 @@ rescue StandardError => e "#{vc_cluster_name} could not be reverted due "\ "to \"#{e.message}\"\n" OpenNebula.log_error(message) + if vi_client.get_property_vcenter_conf(:debug_information) + STDERR.puts "#{message} #{e.backtrace}" + end exit(-1) ensure vi_client.close_connection if vi_client