From 14633d95154b735cb08a9197894f3633880e5f75 Mon Sep 17 00:00:00 2001 From: Tino Vazquez Date: Mon, 20 May 2019 15:05:01 +0200 Subject: [PATCH] B #3280: Refactor vCenter CLI host import (cherry picked from commit 78bd769356e44d0a17e6a71a7ee041bc9cf5e033) --- .../lib/vcenter_driver/vcenter_importer.rb | 29 +++++++------------ 1 file changed, 10 insertions(+), 19 deletions(-) diff --git a/src/vmm_mad/remotes/lib/vcenter_driver/vcenter_importer.rb b/src/vmm_mad/remotes/lib/vcenter_driver/vcenter_importer.rb index a507c22201..1a25a85fb6 100644 --- a/src/vmm_mad/remotes/lib/vcenter_driver/vcenter_importer.rb +++ b/src/vmm_mad/remotes/lib/vcenter_driver/vcenter_importer.rb @@ -455,6 +455,8 @@ module VCenterDriver clusters.each{ |cluster| one_cluster_id = nil rpool = nil + + # Handle OpenNebula cluster creation or reuse if !use_defaults STDOUT.print "\n * vCenter cluster found:\n"\ " - Name : \e[92m#{cluster[:simple_name]}\e[39m\n"\ @@ -474,27 +476,18 @@ module VCenterDriver STDOUT.print "\n Specify the ID of the cluster or press Enter if you want OpenNebula to create a new cluster for you: " answer = STDIN.gets.strip + if !answer.empty? one_cluster_id = answer - else - # Check if the Cluster exists - cluster_list.each do |key, value| - one_cluster_id = key if value == "#{cluster[:cluster_name]}" - end end end + end - if !one_cluster_id - one_cluster = VCenterDriver::VIHelper.new_one_item(OpenNebula::Cluster) - rc = one_cluster.allocate("#{cluster[:cluster_name]}") - if ::OpenNebula.is_error?(rc) - STDOUT.puts " Error creating OpenNebula cluster: #{rc.message}\n" - next - end - one_cluster_id = one_cluster.id - end - else - # Defaults, add host to new cluster + # Check if the OpenNebula Cluster exists, and reuse it + one_cluster_id = cluster_list.key(cluster[:cluster_name]) if !one_cluster_id + + + if !one_cluster_id one_cluster = VCenterDriver::VIHelper.new_one_item(OpenNebula::Cluster) rc = one_cluster.allocate("#{cluster[:cluster_name]}") if ::OpenNebula.is_error?(rc) @@ -504,9 +497,7 @@ module VCenterDriver one_cluster_id = one_cluster.id end - - - # Generate the template and create the host in the pool + # Generate host template and allocate new host one_host = VCenterDriver::ClusterComputeResource.to_one(cluster, con_ops, rpool,