diff --git a/lib/refrepo/valid/network.rb b/lib/refrepo/valid/network.rb index cee6880c65305be239891869cfa7fcd8e8df7cc5..31004621ed952c64e6e87fc658e1a0b8b403df4d 100644 --- a/lib/refrepo/valid/network.rb +++ b/lib/refrepo/valid/network.rb @@ -15,12 +15,16 @@ def check_network_description(options) options[:sites].each do |site| puts "Checking #{site}..." - # get list of network equipments and nodes + # get list of network equipments, nodes and server neteqs = [] + servers = [] nodes = [] 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}/servers/*.json").each do |f| + servers << JSON::parse(IO::read(f)) + end Dir::glob("data/grid5000/sites/#{site}/clusters/*/nodes/*.json").each do |f| nodes << JSON::parse(IO::read(f)) end @@ -49,6 +53,16 @@ def check_network_description(options) end end + # we select NFS and group_storage servers + servers.select{|s| s.has_key?('group_storage') || (s.has_key?('alias') && s['alias'].is_a?(Array) && s['alias'].include?('nfs'))}.each do |s| + p s['alias'] + netnodes << { + 'kind' => 'storage', + 'uid' => s['uid'], + 'nickname' => s['alias'].select{|v| v == "nfs" or v.include?('storage')}.join(' ') + } + end + neteqs.each do |eq| netnodes << { 'kind' => eq['kind'], @@ -335,7 +349,7 @@ def generate_dot(netnodes, links, site) "100G" => 2.5, "2x100G" => 3} - colors = {"router" => "indianred", + colors = {"router" => "lightpink", "switch" => "gold", "cluster" => "aquamarine1"}