diff --git a/src/vmm_mad/remotes/lib/vcenter_driver/datacenter.rb b/src/vmm_mad/remotes/lib/vcenter_driver/datacenter.rb index f2733968f1..9d3ca1383b 100644 --- a/src/vmm_mad/remotes/lib/vcenter_driver/datacenter.rb +++ b/src/vmm_mad/remotes/lib/vcenter_driver/datacenter.rb @@ -131,7 +131,10 @@ module VCenterDriver # Setting host import name and # replace spaces and weird characters - cluster_name = (ccr['name']).to_s.tr(' ', '_') + cluster_name = ccr['name'].to_s.tr(' ', '_') + cluster_name = VCenterDriver::VcImporter.sanitize( + cluster_name + ) cluster_name = VCenterDriver::VIHelper .one_name( @@ -202,7 +205,10 @@ module VCenterDriver 'summary.freeSpace' ) - ds_name = name.to_s + ds_name = VCenterDriver::VcImporter.sanitize( + name.to_s + ) + ds_total_mb = ((capacity.to_i / 1024) / 1024) ds_free_mb = ((free_space.to_i / 1024) / 1024) ds_ref = ds['_ref'] diff --git a/src/vmm_mad/remotes/lib/vcenter_driver/datastore.rb b/src/vmm_mad/remotes/lib/vcenter_driver/datastore.rb index 45e127cc8c..dd09df2a0e 100644 --- a/src/vmm_mad/remotes/lib/vcenter_driver/datastore.rb +++ b/src/vmm_mad/remotes/lib/vcenter_driver/datastore.rb @@ -949,7 +949,11 @@ module VCenterDriver clusters = opts['selected_clusters'].each.map(&:to_i) end - res = { :id => [], :name => selected[:simple_name] } + name = VCenterDriver::VcImporter.sanitize( + selected[:simple_name] + ) + + res = { :id => [], :name => name } @info[:rollback] = [] pair.each do |ds| create(ds[:one]) do |one_object, id| @@ -1012,7 +1016,9 @@ module VCenterDriver message = 'Error creating the OpenNebula resource' info = selected[:one] dsid = selected[:dsid].to_i - name = selected[:name] + name = VCenterDriver::VcImporter.sanitize( + selected[:name] + ) rc = resource.allocate(info, dsid, false) VCenterDriver::VIHelper.check_error(rc, message) 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 117a6352c1..4b978ea71f 100644 --- a/src/vmm_mad/remotes/lib/vcenter_driver/vcenter_importer.rb +++ b/src/vmm_mad/remotes/lib/vcenter_driver/vcenter_importer.rb @@ -263,7 +263,10 @@ module VCenterDriver cluster_list = {} cpool.each do |c| - cluster_list[c['ID']] = c['NAME'] if c['ID'].to_i != 0 + name = VCenterDriver::VcImporter.sanitize( + c['NAME'] + ) + cluster_list[c['ID']] = name if c['ID'].to_i != 0 end # Get OpenNebula's host pool @@ -312,10 +315,13 @@ module VCenterDriver cluster_list_str = "\n" cluster_list.each do |key, value| + name = VCenterDriver::VcImporter.sanitize( + value + ) cluster_list_str << " - \e[94mID: " \ << key \ << "\e[39m - NAME: " \ - << value << "\n" + << name << "\n" end STDOUT.print "\n #{cluster_list_str}" @@ -330,15 +336,19 @@ module VCenterDriver end end + cluster_name = VCenterDriver::VcImporter.sanitize( + cluster[:cluster_name] + ) + # Check if the OpenNebula Cluster exists, and reuse it one_cluster_id ||= cluster_list - .key(cluster[:cluster_name]) + .key(cluster_name) if !one_cluster_id one_cluster = VCenterDriver::VIHelper .new_one_item(OpenNebula::Cluster) rc = one_cluster - .allocate((cluster[:cluster_name]).to_s) + .allocate(cluster_name.to_s) if ::OpenNebula.is_error?(rc) # rubocop:disable Layout/LineLength STDOUT.puts " Error creating OpenNebula cluster: #{rc.message}\n" @@ -355,7 +365,7 @@ module VCenterDriver rpool, one_cluster_id) # rubocop:disable Layout/LineLength - STDOUT.puts "\n OpenNebula host \e[92m#{cluster[:cluster_name]}\e[39m with"\ + STDOUT.puts "\n OpenNebula host \e[92m#{cluster_name}\e[39m with"\ " ID \e[94m#{one_host.id}\e[39m successfully created." STDOUT.puts # rubocop:enable Layout/LineLength