From 2181f4875569a2a20dc39c88ac7a9a1af6685ac2 Mon Sep 17 00:00:00 2001 From: Samir Noir <samir.noir@inria.fr> Date: Fri, 23 Jul 2021 16:31:02 +0200 Subject: [PATCH] [scripts] fix some errors in edit-input-files script --- scripts/edit-input-files.rb | 38 +++++++++++++++++++++---------------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/scripts/edit-input-files.rb b/scripts/edit-input-files.rb index 8e37f283655..3ec860f5fca 100755 --- a/scripts/edit-input-files.rb +++ b/scripts/edit-input-files.rb @@ -9,7 +9,7 @@ require 'erb' require 'fileutils' require 'pathname' require 'yaml' -require '../lib/hash/hash' +require './lib/refrepo/hash/hash' if RUBY_VERSION < "2.1" puts "This script requires ruby >= 2.1" @@ -50,32 +50,38 @@ end.parse! if options[:site].empty? || options[:clusters].empty? puts "Not copying anything, post-processing file from 'output'" else - options[:clusters].each{ |cluster_uid| - node_files = Dir["../../input/grid5000/sites/#{options[:site]}/clusters/#{cluster_uid}/nodes/*.yaml"] - node_files.each{|f| + FileUtils.mkdir_p 'output' + options[:clusters].each do |cluster_uid| + node_files = Dir["./input/grid5000/sites/#{options[:site]}/clusters/#{cluster_uid}/nodes/*.yaml"] + node_files.each do |f| filename = [f.split("/").last.split(".").first, options[:site], "grid5000", "fr", "yaml"].join(".") puts "Copying #{filename} to output/" FileUtils.cp(f, "./output/#{filename}") - } - } + end + end end ##Modify node yaml hash here def modify_node_data(hash, node_uid, cluster_uid, site_uid) #rubocop:disable Lint/UnusedMethodArgument #example content: - hash["network_adapters"].each{ |na_id, na| - if (na_id == "ib0" && na["firmware_version"] != "2.7.700") - puts "#{node_uid}" + na.inspect - na["firmware_version"] = "2.7.700" - # na["mac"] = "80:00:02:0a:fe:" + na["mac"].split(":")[5..20].join(":") + hash["network_adapters"].each do |na_id, na| + if !na['management'] && !na['sriov'] && na['interface'] == 'Ethernet' + if na_id == 'eth0' || na_id == 'eth1' + na['sriov'] = true + na['sriov_totalvfs'] = 63 + else + na['sriov'] = true + na['sriov_totalvfs'] = 7 + end end - } + end + hash end list_of_yaml_files = Dir['output/*.y*ml'].sort_by { |x| -x.count('/') } -list_of_yaml_files.each { |filename| +list_of_yaml_files.each do |filename| begin file = filename.split("/")[1] node_uid = file.split(".")[0] @@ -96,7 +102,7 @@ list_of_yaml_files.each { |filename| hash = {node_uid => hash} - new_filename = Pathname("../../input/grid5000/sites/#{site_uid}/clusters/#{cluster_uid}/nodes/" + node_uid + ".yaml") + new_filename = Pathname("./input/grid5000/sites/#{site_uid}/clusters/#{cluster_uid}/nodes/" + node_uid + ".yaml") new_filename.dirname.mkpath() @@ -105,14 +111,14 @@ list_of_yaml_files.each { |filename| contents = File.read(new_filename) File.open(new_filename, 'w') { |fd| fd.write("# Generated by g5k-checks (g5k-checks -m api)\n") - fd.write(contents) + fd.write(contents) } rescue StandardError => e puts "#{node_uid} - #{e.class}: #{e.message}" puts e.backtrace end -} +end if options[:rm_output] puts "Cleaning up output directory" -- GitLab