diff --git a/lib/refrepo/csv_importer.rb b/lib/refrepo/csv_importer.rb index 8396e4c7db9c0d210ed743680f0ab49ef73cec98..6adb86e9115ecf81b2f8c6e81c78a855378f0a3d 100644 --- a/lib/refrepo/csv_importer.rb +++ b/lib/refrepo/csv_importer.rb @@ -9,6 +9,19 @@ def csv_create_input_files(options) FileUtils.mkdir_p("#{tmpdir}/generators/kadeploy/") 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| site, cluster = site_cluster