Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
grid5000
reference-repository
Commits
2c9b9c02
Commit
2c9b9c02
authored
Nov 17, 2018
by
Lucas Nussbaum
Browse files
[dev] simplify requires
parent
7f891c3f
Changes
22
Hide whitespace changes
Inline
Side-by-side
lib/refrepo.rb
View file @
2c9b9c02
# 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'
lib/refrepo/gen/oar-properties.rb
View file @
2c9b9c02
#!/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
...
...
lib/refrepo/gen/puppet/bindg5k.rb
View file @
2c9b9c02
# 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
...
...
lib/refrepo/gen/puppet/conmang5k.rb
View file @
2c9b9c02
# 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
...
...
lib/refrepo/gen/puppet/dhcpg5k.rb
View file @
2c9b9c02
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"]
...
...
lib/refrepo/gen/puppet/kadeployg5k.rb
View file @
2c9b9c02
require
'pp'
require
'erb'
require
'pathname'
require
'optparse'
require
'refrepo/input_loader'
require
'refrepo/hash/hash'
# Compute cluster prefix
...
...
lib/refrepo/gen/puppet/kavlang5k.rb
View file @
2c9b9c02
# !!! 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
)
...
...
lib/refrepo/gen/puppet/lanpowerg5k.rb
View file @
2c9b9c02
# 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
)
...
...
lib/refrepo/gen/reference-api.rb
View file @
2c9b9c02
#!/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'
...
...
lib/refrepo/gen/wiki/generators/hardware.rb
View file @
2c9b9c02
# 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
...
...
lib/refrepo/gen/wiki/generators/oar_properties.rb
View file @
2c9b9c02
# 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
...
...
lib/refrepo/gen/wiki/generators/site_hardware.rb
View file @
2c9b9c02
# coding: utf-8
$LOAD_PATH
.
unshift
(
File
.
expand_path
(
File
.
join
(
File
.
dirname
(
__FILE__
),
'lib'
)))
require
'refrepo/gen/wiki/wiki_generator'
class
SiteHardwareGenerator
<
WikiGenerator
...
...
lib/refrepo/gen/wiki/generators/site_network.rb
View file @
2c9b9c02
# 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
...
...
lib/refrepo/gen/wiki/mw_utils.rb
View file @
2c9b9c02
require
'pp'
require
'open-uri'
require
'uri'
require
'net/http'
require
'net/https'
require
'mediawiki_api'
#Adding method to mediawiki_api client
...
...
lib/refrepo/gen/wiki/wiki_generator.rb
View file @
2c9b9c02
# 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
...
...
lib/refrepo/input_loader.rb
View file @
2c9b9c02
# 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__
)))
...
...
lib/refrepo/valid/homogeneity.rb
View file @
2c9b9c02
#!/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
...
...
lib/refrepo/valid/input/duplicates.rb
View file @
2c9b9c02
#!/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
)
...
...
lib/refrepo/valid/input/lib/schema_validator.rb
View file @
2c9b9c02
...
...
@@ -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
...
...
lib/refrepo/valid/input/schema.rb
View file @
2c9b9c02
#!/usr/bin/ruby
require
'fileutils'
require
'pathname'
require
'refrepo/input_loader'
require_relative
"./lib/schema_validator"
def
run_validator
(
uid
,
data
,
schema
)
...
...
Prev
1
2
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment