diff --git a/lib/refrepo/accesses.rb b/lib/refrepo/accesses.rb index 065d692a63a802935c673b5cb2f406f432afca86..0e4a5cf0603d08c1112e7710d506ce4fa4ca8528 100644 --- a/lib/refrepo/accesses.rb +++ b/lib/refrepo/accesses.rb @@ -232,7 +232,7 @@ def all_nodesets nodesets = [] site_data_hierarchy['sites'].each do |_site, site_details| site_details.fetch('clusters', {}).each do |_cluster, cluster_details| - next unless cluster_details['queues'].include?('production') + next unless cluster_details['queues'].include?('abaca') || cluster_details['queues'].include?('production') nodesets.concat(cluster_details['nodes'].map { |_, node_details| node_details['nodeset'] }) end diff --git a/lib/refrepo/gen/oar-properties.rb b/lib/refrepo/gen/oar-properties.rb index 4de58b9da782b4798a99f37eed762c8c6bcbe428..3218f6ccc70ee866ed42c99c0b0ad35504409ab7 100644 --- a/lib/refrepo/gen/oar-properties.rb +++ b/lib/refrepo/gen/oar-properties.rb @@ -502,11 +502,11 @@ property_exist 'diskpath' || oarproperty -a diskpath --varchar end def get_production_property(node) - production = false # default - if node['supported_job_types']&.key?('queues') - production = node['supported_job_types']['queues'].include?('production') + if ['abaca','production'].any? {|n| node.fetch('supported_job_types',{}).fetch('queues',[]).include?(n)} + 'YES' + else + 'NO' end - production == true ? 'YES' : 'NO' end def get_maintenance_property(node) diff --git a/lib/refrepo/gen/puppet/kadeployg5k.rb b/lib/refrepo/gen/puppet/kadeployg5k.rb index ed56a0f2ee9280e9afba9c4a80b4aef09ece16cf..79ff17c151ecc2b165d1c77eb7574a47a6a30dfb 100644 --- a/lib/refrepo/gen/puppet/kadeployg5k.rb +++ b/lib/refrepo/gen/puppet/kadeployg5k.rb @@ -70,8 +70,8 @@ def generate_puppet_kadeployg5k(options) defaults = conf['defaults'] overrides = conf[site_uid][cluster_uid] - if overrides.nil? and ! (cluster['queues'].include?('default') or cluster['queues'].include?('production')) - puts "Warning: #{cluster_uid} has no kadeployg5k#{suffix} config, and isn't in default or production queue." + if overrides.nil? and ! (cluster['queues'].include?('default') or cluster['queues'].include?('abaca') or cluster['queues'].include?('production')) + puts "Warning: #{cluster_uid} has no kadeployg5k#{suffix} config, and isn't in default or abaca queue." puts "Warning: Skipping #{cluster_uid} configuration." next elsif overrides.nil? diff --git a/lib/refrepo/gen/reference-api.rb b/lib/refrepo/gen/reference-api.rb index 0117cd8c2d44393b61ec17e6266ef30501118217..c938e46e488fa82feaafdc6b4d50d341ea41fdde 100644 --- a/lib/refrepo/gen/reference-api.rb +++ b/lib/refrepo/gen/reference-api.rb @@ -191,7 +191,10 @@ def generate_reference_api next if node['status'] == "retired" node.delete("status") - + queues = node['supported_job_types']['queues'] || [] + queues << 'production' if queues.include?('abaca') && !queues.include?('production') + queues << 'abaca' if queues.include?('production') && !queues.include?('abaca') + queues.sort! # Convert hashes to arrays node["storage_devices"] = node["storage_devices"].sort_by{ |_sd, v| v['id'] }.map { |a| a[1] } diff --git a/lib/refrepo/gen/wiki/generators/site_hardware.rb b/lib/refrepo/gen/wiki/generators/site_hardware.rb index 1666cc84e54568452aa387030f3ddbf040f3628d..204aa5628720c1573a81f987215c54a92f433ae4 100644 --- a/lib/refrepo/gen/wiki/generators/site_hardware.rb +++ b/lib/refrepo/gen/wiki/generators/site_hardware.rb @@ -193,7 +193,7 @@ class SiteHardwareGenerator < WikiGenerator cluster_nodes = cluster_hash.keys.flatten.count queue = cluster_hash.map { |_k, v| v['queue']}.first access_conditions = [] - if queue == 'production' + if queue == 'production' || queue == 'abaca' access_conditions << "<b>[[Grid5000:UsagePolicy#Rules_for_the_production_queue|abaca]]</b> queue" elsif queue != '' access_conditions << "<b>#{queue}</b> queue" @@ -223,7 +223,7 @@ class SiteHardwareGenerator < WikiGenerator def self.get_queue_drawgantt_url(site, queue) url = "https://intranet.grid5000.fr/oar/#{site.capitalize}/" - if (queue == 'production') + if (queue == 'production' || queue == 'abaca') url += "drawgantt-svg-prod/" #elsif (queue == 'testing') # url += "drawgantt-svg/?filter=with%20testing" # Here we miss a filter "only testing" @@ -277,7 +277,7 @@ class SiteHardwareGenerator < WikiGenerator text_data << "\n'''Reservation example:'''" text_data << reservation_cmd - if queue == 'production' + if queue == 'production' || queue == 'abaca' walltime_breakout_text = "'''Max walltime per nodes:'''\n" nodes = G5K::get_global_hash['sites'][site]['clusters'][cluster_uid]['nodes'] max_walltime_per_node = nodes.map { |node_name,node| diff --git a/lib/refrepo/gen/wiki/generators/status.rb b/lib/refrepo/gen/wiki/generators/status.rb index cb794195559d8557c969535b0a1333b99eff48f9..e993807ae45f52ed833f64e80700b41365d127c9 100644 --- a/lib/refrepo/gen/wiki/generators/status.rb +++ b/lib/refrepo/gen/wiki/generators/status.rb @@ -154,7 +154,7 @@ class StatusGenerator < WikiGenerator def has_queue_production?(site) site_hash = @global_hash["sites"][site] site_hash.fetch("clusters", {}).each_value do |cluster_hash| - if cluster_hash["queues"].include?("production") + if cluster_hash["queues"].include?("abaca") || cluster_hash["queues"].include?("production") return true end end