From 2c9b9c0274ec4d58b2fd93aebca2e396a60e55b3 Mon Sep 17 00:00:00 2001 From: Lucas Nussbaum <lucas.nussbaum@loria.fr> Date: Sat, 17 Nov 2018 00:34:51 +0100 Subject: [PATCH] [dev] simplify requires --- lib/refrepo.rb | 18 ++++++++++++++++++ lib/refrepo/gen/oar-properties.rb | 13 ------------- lib/refrepo/gen/puppet/bindg5k.rb | 6 ------ lib/refrepo/gen/puppet/conmang5k.rb | 5 ----- lib/refrepo/gen/puppet/dhcpg5k.rb | 6 ------ lib/refrepo/gen/puppet/kadeployg5k.rb | 5 ----- lib/refrepo/gen/puppet/kavlang5k.rb | 8 -------- lib/refrepo/gen/puppet/lanpowerg5k.rb | 5 ----- lib/refrepo/gen/reference-api.rb | 11 ----------- lib/refrepo/gen/wiki/generators/hardware.rb | 3 +-- .../gen/wiki/generators/oar_properties.rb | 3 +-- .../gen/wiki/generators/site_hardware.rb | 1 - .../gen/wiki/generators/site_network.rb | 5 +---- lib/refrepo/gen/wiki/mw_utils.rb | 5 ----- lib/refrepo/gen/wiki/wiki_generator.rb | 7 ------- lib/refrepo/input_loader.rb | 4 +--- lib/refrepo/valid/homogeneity.rb | 10 ---------- lib/refrepo/valid/input/duplicates.rb | 5 ----- .../valid/input/lib/schema_validator.rb | 1 - lib/refrepo/valid/input/schema.rb | 7 ------- lib/refrepo/valid/network.rb | 4 ---- lib/refrepo/valid/oar-properties.rb | 14 +------------- 22 files changed, 23 insertions(+), 123 deletions(-) diff --git a/lib/refrepo.rb b/lib/refrepo.rb index dbd81482168..26dcc360c76 100644 --- a/lib/refrepo.rb +++ b/lib/refrepo.rb @@ -1,3 +1,19 @@ +# load gems used by most of refrepo scripts +require 'erb' +require 'fileutils' +require 'json' +require 'net/http' +require 'net/https' +require 'open-uri' +require 'optparse' +require 'pathname' +require 'pp' +require 'set' +require 'time' +require 'uri' +require 'yaml' + + # pre-declare those modules here module RefRepo end @@ -5,4 +21,6 @@ module RefRepo::Gen end module RefRepo::Valid end +# load sub-parts that are used by many scripts anyway require 'refrepo/utils' +require 'refrepo/input_loader' diff --git a/lib/refrepo/gen/oar-properties.rb b/lib/refrepo/gen/oar-properties.rb index a3f153d0cd2..18e8329e2d1 100755 --- a/lib/refrepo/gen/oar-properties.rb +++ b/lib/refrepo/gen/oar-properties.rb @@ -1,19 +1,6 @@ -#!/usr/bin/ruby # coding: utf-8 -require 'pp' -require 'erb' -require 'fileutils' -require 'pathname' -require 'json' -require 'time' -require 'yaml' require 'hashdiff' -require 'set' -require 'uri' -require 'net/https' - -require 'refrepo/input_loader' class MissingProperty < StandardError; end diff --git a/lib/refrepo/gen/puppet/bindg5k.rb b/lib/refrepo/gen/puppet/bindg5k.rb index 1b0c50b269f..6682605423d 100644 --- a/lib/refrepo/gen/puppet/bindg5k.rb +++ b/lib/refrepo/gen/puppet/bindg5k.rb @@ -1,12 +1,6 @@ # See also: https://www.grid5000.fr/mediawiki/index.php/DNS_server -require 'pp' -require 'erb' -require 'pathname' -require 'fileutils' -require 'optparse' require 'dns/zone' -require 'refrepo/input_loader' #Prettier aligned dump of records class DNS::Zone::RR::A diff --git a/lib/refrepo/gen/puppet/conmang5k.rb b/lib/refrepo/gen/puppet/conmang5k.rb index b3f85e54c22..060322d0712 100644 --- a/lib/refrepo/gen/puppet/conmang5k.rb +++ b/lib/refrepo/gen/puppet/conmang5k.rb @@ -1,10 +1,5 @@ # This script generates conmang5k/files/<site_uid>/conman.conf from input/, conf/console.yaml and conf/console-password.yaml -require 'pp' -require 'erb' -require 'pathname' -require 'optparse' -require 'refrepo/input_loader' require 'refrepo/hash/hash' # Apply ERB template and save result to file diff --git a/lib/refrepo/gen/puppet/dhcpg5k.rb b/lib/refrepo/gen/puppet/dhcpg5k.rb index f86fedd95b0..41db39d4b96 100644 --- a/lib/refrepo/gen/puppet/dhcpg5k.rb +++ b/lib/refrepo/gen/puppet/dhcpg5k.rb @@ -1,9 +1,3 @@ -require 'pp' -require 'erb' -require 'pathname' -require 'optparse' -require 'refrepo/input_loader' - # Get the mac and ip of a node. Throw exception if error. def get_network_info(node_hash, network_interface) # Get node_hash["network_adapters"][network_interface]["ip"] and node_hash["network_adapters"][network_interface]["mac"] diff --git a/lib/refrepo/gen/puppet/kadeployg5k.rb b/lib/refrepo/gen/puppet/kadeployg5k.rb index 8b6e73eeba9..786754e4fd6 100644 --- a/lib/refrepo/gen/puppet/kadeployg5k.rb +++ b/lib/refrepo/gen/puppet/kadeployg5k.rb @@ -1,8 +1,3 @@ -require 'pp' -require 'erb' -require 'pathname' -require 'optparse' -require 'refrepo/input_loader' require 'refrepo/hash/hash' # Compute cluster prefix diff --git a/lib/refrepo/gen/puppet/kavlang5k.rb b/lib/refrepo/gen/puppet/kavlang5k.rb index f79bfc9f7d0..b7c79b47b55 100755 --- a/lib/refrepo/gen/puppet/kavlang5k.rb +++ b/lib/refrepo/gen/puppet/kavlang5k.rb @@ -1,13 +1,5 @@ # !!! Require to "gem install ruby-ip", do not install "ip" gem !!! -require 'json' -require 'fileutils' - -require 'pp' -require 'yaml' -require 'pathname' -require 'optparse' -require 'refrepo/input_loader' require 'refrepo/hash/hash' def generate_puppet_kavlang5k(options) diff --git a/lib/refrepo/gen/puppet/lanpowerg5k.rb b/lib/refrepo/gen/puppet/lanpowerg5k.rb index c4d20194807..98f72968216 100644 --- a/lib/refrepo/gen/puppet/lanpowerg5k.rb +++ b/lib/refrepo/gen/puppet/lanpowerg5k.rb @@ -1,10 +1,5 @@ # This script generates lanpowerg5k/files/<site_uid>/lanpower.conf from conf/console.yaml and conf/console-password.conf -require 'pp' -require 'yaml' -require 'pathname' -require 'optparse' -require 'refrepo/input_loader' require 'refrepo/hash/hash' def generate_puppet_lanpowerg5k(options) diff --git a/lib/refrepo/gen/reference-api.rb b/lib/refrepo/gen/reference-api.rb index 1cbcca0a2f5..6ce0f3f97f7 100644 --- a/lib/refrepo/gen/reference-api.rb +++ b/lib/refrepo/gen/reference-api.rb @@ -1,14 +1,3 @@ -#!/usr/bin/ruby - -require 'pp' -require 'optparse' -require 'erb' -require 'fileutils' -require 'pathname' -require 'json' -require 'time' - -require 'refrepo/input_loader' require 'refrepo/valid/input/schema' require 'refrepo/valid/homogeneity' require 'refrepo/valid/input/monitoring' diff --git a/lib/refrepo/gen/wiki/generators/hardware.rb b/lib/refrepo/gen/wiki/generators/hardware.rb index 47c015d7fae..b79d74cf0fc 100644 --- a/lib/refrepo/gen/wiki/generators/hardware.rb +++ b/lib/refrepo/gen/wiki/generators/hardware.rb @@ -1,7 +1,6 @@ # coding: utf-8 -$LOAD_PATH.unshift(File.expand_path(File.join(File.dirname(__FILE__), 'lib'))) require 'refrepo/gen/wiki/wiki_generator' -require_relative './site_hardware.rb' +require 'refrepo/gen/wiki/generators/site_hardware' class G5KHardwareGenerator < WikiGenerator diff --git a/lib/refrepo/gen/wiki/generators/oar_properties.rb b/lib/refrepo/gen/wiki/generators/oar_properties.rb index fd95a35c1af..0e04e594d66 100644 --- a/lib/refrepo/gen/wiki/generators/oar_properties.rb +++ b/lib/refrepo/gen/wiki/generators/oar_properties.rb @@ -1,8 +1,7 @@ # coding: utf-8 require 'refrepo/gen/wiki/wiki_generator' -$LOAD_PATH.unshift(File.expand_path(File.join(File.dirname(__FILE__), '../../../../../generators/oar-properties/lib'))) -require 'lib-oar-properties' +require 'refrepo/gen/oar-properties' class OarPropertiesGenerator < WikiGenerator diff --git a/lib/refrepo/gen/wiki/generators/site_hardware.rb b/lib/refrepo/gen/wiki/generators/site_hardware.rb index c38b04d9229..f92da53335e 100644 --- a/lib/refrepo/gen/wiki/generators/site_hardware.rb +++ b/lib/refrepo/gen/wiki/generators/site_hardware.rb @@ -1,5 +1,4 @@ # coding: utf-8 -$LOAD_PATH.unshift(File.expand_path(File.join(File.dirname(__FILE__), 'lib'))) require 'refrepo/gen/wiki/wiki_generator' class SiteHardwareGenerator < WikiGenerator diff --git a/lib/refrepo/gen/wiki/generators/site_network.rb b/lib/refrepo/gen/wiki/generators/site_network.rb index 4f0c222fcda..72952e33539 100644 --- a/lib/refrepo/gen/wiki/generators/site_network.rb +++ b/lib/refrepo/gen/wiki/generators/site_network.rb @@ -1,9 +1,6 @@ # coding: utf-8 -$LOAD_PATH.unshift(File.expand_path(File.join(File.dirname(__FILE__), 'lib'))) require 'refrepo/gen/wiki/wiki_generator' - -$LOAD_PATH.unshift(File.expand_path(File.join(File.dirname(__FILE__), '../../../../../generators'))) -require 'input-validators/check-network-description' +require 'refrepo/valid/network' # This class generates the network description of each site, in .dot # and .png format diff --git a/lib/refrepo/gen/wiki/mw_utils.rb b/lib/refrepo/gen/wiki/mw_utils.rb index 0f158e084d4..04a7415d9d6 100644 --- a/lib/refrepo/gen/wiki/mw_utils.rb +++ b/lib/refrepo/gen/wiki/mw_utils.rb @@ -1,8 +1,3 @@ -require 'pp' -require 'open-uri' -require 'uri' -require 'net/http' -require 'net/https' require 'mediawiki_api' #Adding method to mediawiki_api client diff --git a/lib/refrepo/gen/wiki/wiki_generator.rb b/lib/refrepo/gen/wiki/wiki_generator.rb index de6a61e1d7c..963c1237202 100644 --- a/lib/refrepo/gen/wiki/wiki_generator.rb +++ b/lib/refrepo/gen/wiki/wiki_generator.rb @@ -1,12 +1,5 @@ -# also add generators/lib to load path -$LOAD_PATH.unshift(File.expand_path(File.join(File.dirname(__FILE__), '../../lib'))) - -require 'refrepo/input_loader' -require "optparse" require "mediawiki_api" require "diffy" -require 'date' -require 'pp' class WikiGenerator diff --git a/lib/refrepo/input_loader.rb b/lib/refrepo/input_loader.rb index af68108e24a..6a3d8130cfd 100755 --- a/lib/refrepo/input_loader.rb +++ b/lib/refrepo/input_loader.rb @@ -1,8 +1,6 @@ # Load a hierarchy of YAML file into a Ruby hash -require 'yaml' -require 'erb' -require 'refrepo/hash/hash.rb' +require 'refrepo/hash/hash' def load_yaml_file_hierarchy(directory = File.expand_path("../../input/grid5000/", File.dirname(__FILE__))) diff --git a/lib/refrepo/valid/homogeneity.rb b/lib/refrepo/valid/homogeneity.rb index 2ed80a7d0de..dd7787d7dfe 100644 --- a/lib/refrepo/valid/homogeneity.rb +++ b/lib/refrepo/valid/homogeneity.rb @@ -1,16 +1,6 @@ -#!/usr/bin/ruby - # This script checks the cluster homogeneity -require 'pp' -require 'fileutils' -require 'pathname' require 'hashdiff' -require 'json' -require 'uri' -require 'net/https' - -require 'refrepo/input_loader' def global_ignore_keys diff --git a/lib/refrepo/valid/input/duplicates.rb b/lib/refrepo/valid/input/duplicates.rb index dc56a01443a..a281b59e2a9 100644 --- a/lib/refrepo/valid/input/duplicates.rb +++ b/lib/refrepo/valid/input/duplicates.rb @@ -1,8 +1,3 @@ -#!/usr/bin/ruby - -require 'pp' -require 'refrepo/input_loader' - # replace default deep_merge before calling load_yaml_file_hierarchy class ::Hash def deep_merge(other_hash) diff --git a/lib/refrepo/valid/input/lib/schema_validator.rb b/lib/refrepo/valid/input/lib/schema_validator.rb index 6ed44f30b9a..c5c357f8d54 100644 --- a/lib/refrepo/valid/input/lib/schema_validator.rb +++ b/lib/refrepo/valid/input/lib/schema_validator.rb @@ -8,7 +8,6 @@ dir = Pathname(__FILE__).parent -require 'json' require 'hash_validator' # https://github.com/jamesbrooks/hash_validator require "#{dir}/multihash_validator" # custom validator for <multi>-keys Hash support require "#{dir}/array_validator" # custom validator for <array> support diff --git a/lib/refrepo/valid/input/schema.rb b/lib/refrepo/valid/input/schema.rb index ac866d3e1fd..0dfd8c430e6 100644 --- a/lib/refrepo/valid/input/schema.rb +++ b/lib/refrepo/valid/input/schema.rb @@ -1,10 +1,3 @@ -#!/usr/bin/ruby - -require 'fileutils' -require 'pathname' - -require 'refrepo/input_loader' - require_relative "./lib/schema_validator" def run_validator(uid, data, schema) diff --git a/lib/refrepo/valid/network.rb b/lib/refrepo/valid/network.rb index 59493cc5fa0..ee5bc8c0982 100644 --- a/lib/refrepo/valid/network.rb +++ b/lib/refrepo/valid/network.rb @@ -1,13 +1,9 @@ -#!/usr/bin/ruby # coding: utf-8 # This script checks the network description for inconsistencies # This script needs 'nodeset' and 'dot' programs, which are available # in clustershell and graphviz debian packages -require 'json' -require 'pp' - # FIXME infiniband equipment is not completely described in the ref-api yet. See Bug 8586 HPC_SWITCHES = ['ib-grenoble', 'voltaire-1', 'voltaire-2', 'voltaire-3', 'sgraoullyib', 'sgrapheneib', 'sw-myrinet', 'sgrele-opf'] diff --git a/lib/refrepo/valid/oar-properties.rb b/lib/refrepo/valid/oar-properties.rb index bfa219641b2..4d63936ea8e 100755 --- a/lib/refrepo/valid/oar-properties.rb +++ b/lib/refrepo/valid/oar-properties.rb @@ -1,19 +1,7 @@ -#!/usr/bin/ruby # coding: utf-8 -require 'pp' -require 'erb' -require 'fileutils' -require 'pathname' -require 'json' -require 'time' -require 'yaml' -require 'set' -require 'hashdiff' -require 'optparse' require 'net/ssh' -require 'open-uri' -require 'refrepo/utils' +require 'hashdiff' # propriétés ignorées IGNORED_PROPERTIES=%w{chassis chunks thread} -- GitLab