From 968730e45507406c5fef0fca22035996d7168ec8 Mon Sep 17 00:00:00 2001 From: Tino Vazquez Date: Fri, 21 Aug 2015 01:33:30 +0200 Subject: [PATCH] Feature #3847: Added check to avoid reimporting vCenter clusters Added error handling --- src/cli/onevcenter | 2 +- src/vmm_mad/remotes/vcenter/vcenter_driver.rb | 21 ++++++++++++------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/cli/onevcenter b/src/cli/onevcenter index 58b88fea08..71617795c6 100755 --- a/src/cli/onevcenter +++ b/src/cli/onevcenter @@ -115,7 +115,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do next if STDIN.gets.strip.downcase != 'y' if cluster.empty? - STDOUT.puts " No clusters found in #{dc}..." + STDOUT.puts " No new clusters found in #{dc}..." next end diff --git a/src/vmm_mad/remotes/vcenter/vcenter_driver.rb b/src/vmm_mad/remotes/vcenter/vcenter_driver.rb index 2b41cd0ca5..5937244459 100644 --- a/src/vmm_mad/remotes/vcenter/vcenter_driver.rb +++ b/src/vmm_mad/remotes/vcenter/vcenter_driver.rb @@ -244,8 +244,7 @@ class VIClient ccrs = get_entities(dc.hostFolder, 'ClusterComputeResource') vc_hosts[dc.name] = [] ccrs.each { |c| - puts c.name - if !hpool["HOST[NAME=\"c.name\"]"] + if !hpool["HOST[NAME=\"#{c.name}\"]"] vc_hosts[dc.name] << c.name end } @@ -266,7 +265,9 @@ class VIClient tpool = OpenNebula::TemplatePool.new( (one_client||@one), OpenNebula::Pool::INFO_ALL) rc = tpool.info - # TODO check error + if OpenNebula.is_error?(rc) + raise "Error contacting OpenNebula #{rc.message}" + end datacenters = get_entities(@root, 'Datacenter') @@ -312,8 +313,10 @@ class VIClient rc = vmpool.info hostpool = OpenNebula::HostPool.new((one_client||@one)) - rc = hostpool.info - # TODO check error + rc = hostpool.info + if OpenNebula.is_error?(rc) + raise "Error contacting OpenNebula #{rc.message}" + end datacenters = get_entities(@root, 'Datacenter') @@ -395,9 +398,11 @@ class VIClient vnpool = OpenNebula::VirtualNetworkPool.new( (one_client||@one), OpenNebula::Pool::INFO_ALL) - rc = vnpool.info - # TODO check error - # + rc = vnpool.info + if OpenNebula.is_error?(rc) + raise "Error contacting OpenNebula #{rc.message}" + end + datacenters = get_entities(@root, 'Datacenter') datacenters.each { |dc|