From b82d1520acd9817526ac5ff5c13c7d2417b0e332 Mon Sep 17 00:00:00 2001 From: Lucas Nussbaum <lucas.nussbaum@loria.fr> Date: Fri, 16 Nov 2018 22:53:19 +0100 Subject: [PATCH] [dev] start moving input validators to lib/ --- .../refrepo/valid/data/homogeneity.yaml.erb | 0 .../refrepo/valid/homogeneity.rb | 83 +++---------------- .../input}/check-monitoring-properties.rb | 0 .../valid/input}/check-network-description.rb | 0 .../valid/input}/lib/array_validator.rb | 0 .../valid/input}/lib/custom_validators.rb | 0 .../valid/input}/lib/multihash_validator.rb | 0 .../valid/input}/lib/schema_validator.rb | 0 .../refrepo/valid/input}/schema-cluster.yaml | 0 .../refrepo/valid/input}/schema-global.yaml | 0 .../input}/schema-network_equipments.yaml | 0 .../refrepo/valid/input}/schema-node.yaml | 0 .../refrepo/valid/input}/schema-site.yaml | 0 .../input}/yaml-input-find-duplicates.rb | 0 .../input}/yaml-input-schema-validator.rb | 0 15 files changed, 12 insertions(+), 71 deletions(-) rename generators/input-validators/check-cluster-homogeneity.yaml.erb => lib/refrepo/valid/data/homogeneity.yaml.erb (100%) rename generators/input-validators/check-cluster-homogeneity.rb => lib/refrepo/valid/homogeneity.rb (76%) rename {generators/input-validators => lib/refrepo/valid/input}/check-monitoring-properties.rb (100%) rename {generators/input-validators => lib/refrepo/valid/input}/check-network-description.rb (100%) rename {generators/input-validators => lib/refrepo/valid/input}/lib/array_validator.rb (100%) rename {generators/input-validators => lib/refrepo/valid/input}/lib/custom_validators.rb (100%) rename {generators/input-validators => lib/refrepo/valid/input}/lib/multihash_validator.rb (100%) rename {generators/input-validators => lib/refrepo/valid/input}/lib/schema_validator.rb (100%) rename {generators/input-validators => lib/refrepo/valid/input}/schema-cluster.yaml (100%) rename {generators/input-validators => lib/refrepo/valid/input}/schema-global.yaml (100%) rename {generators/input-validators => lib/refrepo/valid/input}/schema-network_equipments.yaml (100%) rename {generators/input-validators => lib/refrepo/valid/input}/schema-node.yaml (100%) rename {generators/input-validators => lib/refrepo/valid/input}/schema-site.yaml (100%) rename {generators/input-validators => lib/refrepo/valid/input}/yaml-input-find-duplicates.rb (100%) rename {generators/input-validators => lib/refrepo/valid/input}/yaml-input-schema-validator.rb (100%) diff --git a/generators/input-validators/check-cluster-homogeneity.yaml.erb b/lib/refrepo/valid/data/homogeneity.yaml.erb similarity index 100% rename from generators/input-validators/check-cluster-homogeneity.yaml.erb rename to lib/refrepo/valid/data/homogeneity.yaml.erb diff --git a/generators/input-validators/check-cluster-homogeneity.rb b/lib/refrepo/valid/homogeneity.rb similarity index 76% rename from generators/input-validators/check-cluster-homogeneity.rb rename to lib/refrepo/valid/homogeneity.rb index 0a92f7adb3a..eed0ae7617a 100644 --- a/generators/input-validators/check-cluster-homogeneity.rb +++ b/lib/refrepo/valid/homogeneity.rb @@ -2,11 +2,6 @@ # This script checks the cluster homogeneity -if RUBY_VERSION < "2.1" - puts "This script requires ruby >= 2.1" - exit -end - require 'pp' require 'fileutils' require 'pathname' @@ -15,10 +10,9 @@ require 'json' require 'uri' require 'net/https' -$LOAD_PATH.unshift(File.expand_path(File.join(File.dirname(__FILE__), '../../lib'))) require 'refrepo/input_loader' -def global_ignore_keys() +def global_ignore_keys # # Global ignore keys @@ -170,10 +164,10 @@ def cluster_homogeneity(refapi_hash, options = {:verbose => false}) end ignore_keys = global_ignore_keys() - cignore_keys = cluster_ignore_keys(File.expand_path("../input-validators/check-cluster-homogeneity.yaml.erb", File.dirname(__FILE__))) + cignore_keys = cluster_ignore_keys(File.expand_path("data/homogeneity.yaml.erb", File.dirname(__FILE__))) input_data_dir = "../../input/grid5000/" - refapi_hash = load_yaml_file_hierarchy(File.expand_path(input_data_dir, File.dirname(__FILE__))) + refapi_hash = load_yaml_file_hierarchy count = {} total_count = 0 @@ -250,7 +244,13 @@ def cluster_homogeneity(refapi_hash, options = {:verbose => false}) return [total_count, count] end -def check_cluster_homogeneity(refapi_hash, options = {:verbose => false}) +def check_cluster_homogeneity(options = {:verbose => false}) + refapi_hash = load_yaml_file_hierarchy + options[:api] = {} + conf = RefRepo::Utils.get_api_config + options[:api][:user] = conf['username'] + options[:api][:pwd] = conf['password'] + verbose = options[:verbose] puts "Differences found between successive nodes, per cluster:\n\n" @@ -259,66 +259,7 @@ def check_cluster_homogeneity(refapi_hash, options = {:verbose => false}) puts count.to_yaml unless verbose - puts "\nUse '-v' option for details." unless verbose - - return total_count -end - -if __FILE__ == $0 - require 'optparse' - - options = {} - options[:sites] = %w{grenoble lille luxembourg lyon nancy nantes rennes sophia} - options[:api] = {} - - OptionParser.new do |opts| - opts.banner = "Usage: check-cluster-homogeneity.rb [options]" - - opts.separator "" - opts.separator "Example: ruby check-cluster-homogeneity.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.on('-c', '--clusters a,b,c', Array, 'Select clusters(s). Default: all') do |s| - options[:clusters] = 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('--api-user user', String, 'HTTP authentication user when outside G5K') do |user| - options[:api][:user] = user - end - - opts.on('--api-password pwd', String, 'HTTP authentication password when outside G5K') do |pwd| - options[:api][:pwd] = pwd - end - - # Print an options summary. - opts.on_tail("-h", "--help", "Show this message") do - puts opts - exit - end - end.parse! - - refapi_hash = load_yaml_file_hierarchy(File.expand_path("../../input/grid5000/", File.dirname(__FILE__))) - total_count = check_cluster_homogeneity(refapi_hash, options) - - # return 0 if all nodes are homogeneous, 1 otherwise - exit total_count == 0 + puts "\nUse 'VERBOSE=1' option for details." unless verbose + return total_count == 0 end diff --git a/generators/input-validators/check-monitoring-properties.rb b/lib/refrepo/valid/input/check-monitoring-properties.rb similarity index 100% rename from generators/input-validators/check-monitoring-properties.rb rename to lib/refrepo/valid/input/check-monitoring-properties.rb diff --git a/generators/input-validators/check-network-description.rb b/lib/refrepo/valid/input/check-network-description.rb similarity index 100% rename from generators/input-validators/check-network-description.rb rename to lib/refrepo/valid/input/check-network-description.rb diff --git a/generators/input-validators/lib/array_validator.rb b/lib/refrepo/valid/input/lib/array_validator.rb similarity index 100% rename from generators/input-validators/lib/array_validator.rb rename to lib/refrepo/valid/input/lib/array_validator.rb diff --git a/generators/input-validators/lib/custom_validators.rb b/lib/refrepo/valid/input/lib/custom_validators.rb similarity index 100% rename from generators/input-validators/lib/custom_validators.rb rename to lib/refrepo/valid/input/lib/custom_validators.rb diff --git a/generators/input-validators/lib/multihash_validator.rb b/lib/refrepo/valid/input/lib/multihash_validator.rb similarity index 100% rename from generators/input-validators/lib/multihash_validator.rb rename to lib/refrepo/valid/input/lib/multihash_validator.rb diff --git a/generators/input-validators/lib/schema_validator.rb b/lib/refrepo/valid/input/lib/schema_validator.rb similarity index 100% rename from generators/input-validators/lib/schema_validator.rb rename to lib/refrepo/valid/input/lib/schema_validator.rb diff --git a/generators/input-validators/schema-cluster.yaml b/lib/refrepo/valid/input/schema-cluster.yaml similarity index 100% rename from generators/input-validators/schema-cluster.yaml rename to lib/refrepo/valid/input/schema-cluster.yaml diff --git a/generators/input-validators/schema-global.yaml b/lib/refrepo/valid/input/schema-global.yaml similarity index 100% rename from generators/input-validators/schema-global.yaml rename to lib/refrepo/valid/input/schema-global.yaml diff --git a/generators/input-validators/schema-network_equipments.yaml b/lib/refrepo/valid/input/schema-network_equipments.yaml similarity index 100% rename from generators/input-validators/schema-network_equipments.yaml rename to lib/refrepo/valid/input/schema-network_equipments.yaml diff --git a/generators/input-validators/schema-node.yaml b/lib/refrepo/valid/input/schema-node.yaml similarity index 100% rename from generators/input-validators/schema-node.yaml rename to lib/refrepo/valid/input/schema-node.yaml diff --git a/generators/input-validators/schema-site.yaml b/lib/refrepo/valid/input/schema-site.yaml similarity index 100% rename from generators/input-validators/schema-site.yaml rename to lib/refrepo/valid/input/schema-site.yaml diff --git a/generators/input-validators/yaml-input-find-duplicates.rb b/lib/refrepo/valid/input/yaml-input-find-duplicates.rb similarity index 100% rename from generators/input-validators/yaml-input-find-duplicates.rb rename to lib/refrepo/valid/input/yaml-input-find-duplicates.rb diff --git a/generators/input-validators/yaml-input-schema-validator.rb b/lib/refrepo/valid/input/yaml-input-schema-validator.rb similarity index 100% rename from generators/input-validators/yaml-input-schema-validator.rb rename to lib/refrepo/valid/input/yaml-input-schema-validator.rb -- GitLab