From 4e3ea3faac801a501afa8aaf1c4af22b2752484f Mon Sep 17 00:00:00 2001 From: Lucas Nussbaum <lucas.nussbaum@loria.fr> Date: Fri, 16 Nov 2018 23:18:49 +0100 Subject: [PATCH] [dev] migrate network validator --- Rakefile | 17 ++++++ ...heck-network-description.rb => network.rb} | 57 +------------------ 2 files changed, 19 insertions(+), 55 deletions(-) rename lib/refrepo/valid/{input/check-network-description.rb => network.rb} (88%) diff --git a/Rakefile b/Rakefile index 9cf5a3664f..2fafb59f3f 100644 --- a/Rakefile +++ b/Rakefile @@ -79,6 +79,23 @@ namespace :valid do exit(ret) end + desc "Check network description -- parameters: [SITE={grenoble,...}] [VERBOSE=1] GENERATE_DOT=1" + task "network" do + require 'refrepo/valid/network' + options = {} + options[:sites] = ( ENV['SITE'] ? ENV['SITE'].split(',') : G5K_SITES ) + options[:verbose] = true if ENV['VERBOSE'] + options[:dot] = true if ENV['GENERATE_DOT'] + ret = 2 + begin + ret = check_network_description(options) + rescue StandardError => e + puts e + ret = 3 + ensure + exit(ret) + end + end end namespace :gen do diff --git a/lib/refrepo/valid/input/check-network-description.rb b/lib/refrepo/valid/network.rb similarity index 88% rename from lib/refrepo/valid/input/check-network-description.rb rename to lib/refrepo/valid/network.rb index 0fd20a0963..59493cc5fa 100644 --- a/lib/refrepo/valid/input/check-network-description.rb +++ b/lib/refrepo/valid/network.rb @@ -20,10 +20,10 @@ def check_network_description(options) # get list of network equipments and nodes neteqs = [] nodes = [] - Dir::glob("../../data/grid5000/sites/#{site}/network_equipments/*.json").each do |f| + Dir::glob("data/grid5000/sites/#{site}/network_equipments/*.json").each do |f| neteqs << JSON::parse(IO::read(f)) end - Dir::glob("../../data/grid5000/sites/#{site}/clusters/*/nodes/*.json").each do |f| + Dir::glob("data/grid5000/sites/#{site}/clusters/*/nodes/*.json").each do |f| nodes << JSON::parse(IO::read(f)) end @@ -286,56 +286,3 @@ def sh(cmd) end return output end - -if __FILE__ == $0 - require 'optparse' - - options = {} - options[:sites] = %w{grenoble lille luxembourg lyon nancy nantes rennes sophia} - - OptionParser.new do |opts| - opts.banner = "Usage: check-network-description.rb [options]" - - opts.separator "" - opts.separator "Example: ruby check-network-description.rb -v" - - ### - - opts.separator "" - opts.separator "Filters:" - - opts.on('-s', '--sites a,b,c', Array, 'Select site(s)', - "Default: "+options[:sites].join(", ")) do |s| - raise "Wrong argument for -s option." unless (s - options[:sites]).empty? - options[:sites] = s - end - - opts.separator "" - opts.separator "Common options:" - - opts.on("-v", "--[no-]verbose", "Run verbosely") do |v| - options[:verbose] ||= 0 - options[:verbose] = options[:verbose] + 1 - end - - opts.on("", "--dot", "Generate one dotfile per site") do - options[:dot] = true - end - - # Print an options summary. - opts.on_tail("-h", "--help", "Show this message") do - puts opts - exit - end - end.parse! - - ret = 2 - begin - ret = check_network_description(options) - rescue StandardError => e - puts e - ret = 3 - ensure - exit(ret) - end -end -- GitLab