#!/usr/bin/env ruby # require 'yaml' require 'json' Dir.glob('input/grid5000/sites/*').each do |s| site = s.split('/').last Dir.glob("#{s}/clusters/*").each do |c| cluster = c.split('/').last #cluster_input = YAML.load(File.open("input/grid5000/sites/#{site}/clusters/#{cluster}/#{cluster}.yaml")) #cluster_input_file = File.new("input/grid5000/sites/#{site}/clusters/#{cluster}/#{cluster}.yaml", "w") #cluster_input['nodes'].each do |_, ng| # ng['storage_devices']&.each do |sd| # sd.delete('storage') # end #end #cluster_input_file.write(cluster_input.to_yaml) Dir.glob("#{s}/clusters/#{cluster}/nodes/*").each do |n| node = n.split('/').last.split('.').first unless File.exist?("data/grid5000/sites/#{site}/clusters/#{cluster}/nodes/#{node}.json") next end data = JSON.load(File.open("data/grid5000/sites/#{site}/clusters/#{cluster}/nodes/#{node}.json")) input = YAML.load(File.open("input/grid5000/sites/#{site}/clusters/#{cluster}/nodes/#{node}.yaml")) data['storage_devices'].each do |sd| input[node]['storage_devices'][sd['device']]['storage'] = sd['storage'] sd.delete('storage') end input_file = File.new("input/grid5000/sites/#{site}/clusters/#{cluster}/nodes/#{node}.yaml", "w") input_file.write("# Generated by g5k-checks (g5k-checks -m api)\n") input_file.write(input.to_yaml) end end end