Mentions légales du service

Skip to content
Snippets Groups Projects

[rake mass:create] fail if same mac or ip are defined multiple times

Closed Alexandre MERLIN requested to merge check_mass_create_double into wip-2025
1 unresolved thread
1 file
+ 13
0
Compare changes
  • Side-by-side
  • Inline
@@ -9,6 +9,19 @@ def csv_create_input_files(options)
@@ -9,6 +9,19 @@ def csv_create_input_files(options)
FileUtils.mkdir_p("#{tmpdir}/generators/kadeploy/")
FileUtils.mkdir_p("#{tmpdir}/generators/kadeploy/")
kadeploy = File::new("#{tmpdir}/generators/kadeploy/kadeploy.yaml", "w")
kadeploy = File::new("#{tmpdir}/generators/kadeploy/kadeploy.yaml", "w")
 
doublon = []
 
['mac_prod','mac_bmc','ip_admin','ip_prod'].each do |label|
 
grouped = csv.group_by { |hash| hash[label] }
 
filtered = grouped.select { |_, hashes| hashes.size > 1 }.to_h
 
filtered.each do |k,v|
 
next if k.nil?
 
doublon << "#{k} as #{label} is used #{v.count} times (#{v.map{|x| x['cluster']}.uniq.join(',')})"
 
end
 
end
 
unless doublon.empty?
 
STDERR.puts doublon.join("\n")
 
raise "Some values are used multiple times"
 
end
csv.group_by { |e| [e['site'], e['cluster']] }.each_pair do |site_cluster, rows|
csv.group_by { |e| [e['site'], e['cluster']] }.each_pair do |site_cluster, rows|
site, cluster = site_cluster
site, cluster = site_cluster
Loading