From f537285524d1f0604a74abbf11b6670d16e77936 Mon Sep 17 00:00:00 2001 From: Jonathan Pastor <jonathancmoa@gmail.com> Date: Fri, 6 Sep 2019 11:29:15 +0200 Subject: [PATCH 01/57] OAR Properties generator: add support for per-core properties (including GPU) --- Gemfile | 2 + Gemfile.lock | 23 + Rakefile | 50 +- lib/refrepo/gen/oar-properties.rb | 996 +++++-- scripts/nvidia-numa-mapper.rb | 71 + tests/oar_properties_spec.rb | 450 +++ .../dump_oar_api_configured_server.json | 2446 +++++++++++++++++ .../dump_oar_api_empty_server.json | 7 + .../load_data_hierarchy_stubbed_data.json | 1 + 9 files changed, 3850 insertions(+), 196 deletions(-) create mode 100755 scripts/nvidia-numa-mapper.rb create mode 100644 tests/oar_properties_spec.rb create mode 100644 tests/stub_oar_properties/dump_oar_api_configured_server.json create mode 100644 tests/stub_oar_properties/dump_oar_api_empty_server.json create mode 100644 tests/stub_oar_properties/load_data_hierarchy_stubbed_data.json diff --git a/Gemfile b/Gemfile index 728910cfe70..c6da111ccad 100644 --- a/Gemfile +++ b/Gemfile @@ -9,3 +9,5 @@ gem "dns-zone" gem "ruby-cute", :require => "cute" gem "peach" gem "restfully" +gem "rspec" +gem "webmock" \ No newline at end of file diff --git a/Gemfile.lock b/Gemfile.lock index 04818a18a7b..f821a002ad9 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -5,6 +5,9 @@ GEM public_suffix (>= 2.0.2, < 4.0) backports (3.15.0) bond (0.4.3) + crack (0.4.3) + safe_yaml (~> 1.0.0) + diff-lcs (1.3) diffy (3.3.0) dns-zone (0.3.1) domain_name (0.5.20190701) @@ -71,14 +74,32 @@ GEM ripl (>= 0.3.0) ripl-short_errors (0.1.0) ripl (>= 0.2.8) + rspec (3.8.0) + rspec-core (~> 3.8.0) + rspec-expectations (~> 3.8.0) + rspec-mocks (~> 3.8.0) + rspec-core (3.8.2) + rspec-support (~> 3.8.0) + rspec-expectations (3.8.4) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.8.0) + rspec-mocks (3.8.1) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.8.0) + rspec-support (3.8.2) ruby-cute (0.12) ipaddress (>= 0.8) json (>= 1.8) net-ssh-multi (>= 1.2) rest-client (>= 1.6) + safe_yaml (1.0.5) unf (0.1.4) unf_ext unf_ext (0.0.7.6) + webmock (3.7.5) + addressable (>= 2.3.6) + crack (>= 0.3.2) + hashdiff (>= 0.4.0, < 2.0.0) PLATFORMS ruby @@ -92,4 +113,6 @@ DEPENDENCIES net-ssh peach restfully + rspec ruby-cute + webmock diff --git a/Rakefile b/Rakefile index 096abbb4240..97bd0a76be6 100644 --- a/Rakefile +++ b/Rakefile @@ -127,29 +127,67 @@ namespace :gen do exit(ret) end - desc "Generate OAR properties -- parameters: [SITE={grenoble,...}] [CLUSTER={yeti,...}] [NODE={dahu-1,...}] DO={diff,print,update} [VERBOSE={0,1,2,3}]" + desc "Generate OAR properties -- parameters: SITE=grenoble CLUSTER={yeti,...} DO={print,table,update,diff} [VERBOSE={0,1,2,3}] [OAR_SERVER=192.168.37.10] [OAR_SERVER_USER=g5kadmin]" task "oar-properties" do + # Manage oar-properties for a given set of Grid'5000 cluster. The task takes the following parameters + # Params: + # +SITE+:: Grid'5000 site (Nantes, Nancy, ...). + # +CLUSTERS+:: a comma separated list of Grid'5000 clusters (econome, ecotype, ...). This argument is optional: + # if no clusters is provided, the script will be run on each cluster of the specified site. + # +Do+:: specify the action to execute: + # - print: computes a mapping (server, cpu, core, gpu) for the given clusters, and shows OAR shell commands + # that would be run on an OAR server to converge to this mapping. This action try to reuse existing OAR + # resource's IDs, by fetching the current state of the OAR database via the OAR REST API (see the + # OAR_API_SERVER and OAR_API_PORT arguments). + # - table: show an ASCII table that illustrates the mapping (server, cpu, core, gpu) computed via action + # "print" + # - update: apply the commands of computed with the "print" task, to a given OAR server (see the OAR_SERVER + # and OAR_SERVER_USER arguments). + # - diff: Compare the mapping (server, cpu, core, gpu) computed with action "print", with the existing mapping + # fetched from the OAR REST API (see the OAR_API_SERVER, OAR_API_PORT). + # +OAR_SERVER+:: IP address fo the OAR server that will serve as a target of the generator. The generator will + # connect via SSH to this server. By default, it targets the OAR server of the Grid'5000 site. + # +OAR_SERVER_USER+:: SSH user that may be used to connect to the OAR server. By default, it targets the OAR server of the Grid'5000 site. + # +OAR_API_SERVER+:: IP address fo the server that hosts the OAR API. The generator will use it to understand the + # existing (server, cpu, core, gpu) mapping. + # +OAR_API_PORT+:: HTTP port used to connect to the REST API + require 'refrepo/gen/oar-properties' options = {} - options[:sites] = ( ENV['SITE'] ? ENV['SITE'].split(',') : G5K_SITES ) + if ENV['CLUSTER'] options[:clusters] = ENV['CLUSTER'].split(',') end - if ENV['NODE'] - options[:nodes] = ENV['NODE'].split(',') + if ENV['SITE'] + options[:site] = ENV['SITE'] + else + puts "You must specify a site." + exit(1) + end + + if not G5K_SITES.include?(options[:site]) + puts "Invalid site: #{options[:site]}" + exit(1) end + if ENV['OAR_SERVER'] options[:ssh] ||= {} options[:ssh][:host] = ENV['OAR_SERVER'] end - options[:diff] = false + if ENV['OAR_SERVER_USER'] + options[:ssh] ||= {} + options[:ssh][:user] = ENV['OAR_SERVER_USER'] + end options[:print] = false + options[:diff] = false options[:update] = false + options[:table] = false if ENV['DO'] ENV['DO'].split(',').each do |t| - options[:diff] = true if t == 'diff' + options[:table] = true if t == 'table' options[:print] = true if t == 'print' options[:update] = true if t == 'update' + options[:diff] = true if t == 'diff' end else puts "You must specify something to do using DO=" diff --git a/lib/refrepo/gen/oar-properties.rb b/lib/refrepo/gen/oar-properties.rb index 95e4aa459e9..7b0cd49098d 100644 --- a/lib/refrepo/gen/oar-properties.rb +++ b/lib/refrepo/gen/oar-properties.rb @@ -9,6 +9,296 @@ class MissingProperty < StandardError; end MiB = 1024**2 +# CPU distribution can be: round-robin | continuous +DEFAULT_CPUSET_MAPPING = "continuous" + +# GPU distribution can be: round-robin | continuous +DEFAULT_GPUSET_MAPPING = "continuous" + +############################################ +# Functions related to the "TABLE" operation +############################################ + +def export_rows_as_formated_line(generated_hierarchy) + # Display header + puts "+#{'-' * 10} + #{'-' * 20} + #{'-' * 5} + #{'-' * 5} + #{'-' * 8} + #{'-' * 4} + #{'-' * 20} + #{'-' * 30} + #{'-' * 30}+" + puts "|#{'cluster'.rjust(10)} | #{'host'.ljust(20)} | #{'cpu'.ljust(5)} | #{'core'.ljust(5)} | #{'cpuset'.ljust(8)} | #{'gpu'.ljust(4)} | #{'gpudevice'.ljust(20)} | #{'cpumodel'.ljust(30)} | #{'gpumodel'.ljust(30)}|" + puts "+#{'-' * 10} + #{'-' * 20} + #{'-' * 5} + #{'-' * 5} + #{'-' * 8} + #{'-' * 4} + #{'-' * 20} + #{'-' * 30} + #{'-' * 30}+" + + oar_rows = generated_hierarchy[:nodes].map{|node| node[:oar_rows]}.flatten + + # Display rows + oar_rows.each do |row| + cluster = row[:cluster].to_s + host = row[:host].to_s + cpu = row[:cpu].to_s + core = row[:core].to_s + cpuset = row[:cpuset].to_s + gpu = row[:gpu].to_s + gpudevice = row[:gpudevice].to_s + cpumodel = row[:cpumodel].to_s + gpumodel = row[:gpumodel].to_s + puts "|#{cluster.rjust(10)} | #{host.ljust(20)} | #{cpu.ljust(5)} | #{core.ljust(5)} | #{cpuset.ljust(8)} | #{gpu.ljust(4)} | #{gpudevice.ljust(20)} | #{cpumodel.ljust(30)} | #{gpumodel.ljust(30)}|" + end + # Display footer + puts "+#{'-' * 10} + #{'-' * 20} + #{'-' * 5} + #{'-' * 5} + #{'-' * 8} + #{'-' * 4} + #{'-' * 20} + #{'-' * 30} + #{'-' * 30}+" +end + +############################################ +# Functions related to the "PRINT" operation +############################################ + +# Generates an ASCII separator +def generate_separators() + command = "echo '================================================================================'" + return command + "\n" +end + +def generate_create_disk_cmd(host, disk) + disk_exist = "disk_exist '#{host}' '#{disk}'" + command = "echo; echo 'Adding disk #{disk} on host #{host}:'\n" + command += "#{disk_exist} && echo '=> disk already exists'\n" + command += "#{disk_exist} || oarnodesetting -a -h '' -p host='#{host}' -p type='disk' -p disk='#{disk}'" + return command + "\n\n" +end + +def generate_set_node_properties_cmd(host, default_properties) + if not default_properties.nil? + return '' if default_properties.size == 0 + command = "echo; echo 'Setting properties for #{host}:'; echo\n" + command += "oarnodesetting --sql \"host='#{host}' and type='default'\" -p " + command += properties_internal(default_properties) + return command + "\n\n" + else + return "echo ; echo 'Not setting properties for #{host}: node is not available in ref-api (retired?)'; echo\n\n" + end +end + +def generate_set_disk_properties_cmd(host, disk, disk_properties) + return '' if disk_properties.size == 0 + command = "echo; echo 'Setting properties for disk #{disk} on host #{host}:'; echo\n" + command += "oarnodesetting --sql \"host='#{host}' and type='disk' and disk='#{disk}'\" -p " + command += disk_properties_internal(disk_properties) + return command + "\n\n" +end + +def generate_create_oar_property_cmd(properties_keys) + command = '' + ignore_keys_list = ignore_default_keys() + properties_keys.each do |key, key_type| + if ignore_keys_list.include?(key) + next + end + if key_type == Fixnum # rubocop:disable Lint/UnifiedInteger + command += "property_exist '#{key}' || oarproperty -a #{key}\n" + elsif key_type == String + command += "property_exist '#{key}' || oarproperty -a #{key} --varchar\n" + else + raise "Error: the type of the '#{key}' property is unknown (Integer/String). Cannot generate the corresponding 'oarproperty' command. You must create this property manually ('oarproperty -a #{key} [--varchar]')" + end + end + return command +end + + +# Generates helper functions: +# - property_exist : check if a property exists +# - node_exist : check if a node exists +# - disk_exist : check if a disk exists +# +# and variables which help to add nex resources: +# - NEXT_AVAILABLE_CPU_ID : the next identifier that can safely be used for a new cpi +# - NEXT_AVAILABLE_CORE_ID : the next identifier that can safely be used for a new core +def generate_oar_commands_header() + return %Q{ +#! /usr/bin/env bash + +set -eu +set -x +set -o pipefail + +echo '================================================================================' + +property_exist () { + [[ $(oarproperty -l | grep -e "^$1$") ]] +} + +node_exist () { + [[ $(oarnodes --sql "host='$1' and type='default'") ]] +} + +disk_exist () { + [[ $(oarnodes --sql "host='$1' and type='disk' and disk='$2'") ]] +} + + +# if [ $(oarnodes -Y | grep " cpu:" | awk '{print $2}' | sort -nr | wc -c) == "0" ]; then +# NEXT_AVAILABLE_CPU_ID=0 +# else +# MAX_CPU_ID=$(oarnodes -Y | grep " cpu:" | awk '{print $2}' | sort -nr | head -n1) +# let "NEXT_AVAILABLE_CPU_ID=MAX_CPU_ID+1" +# fi +# +# if [ $(oarnodes -Y | grep " core:" | awk '{print $2}' | sort -nr | wc -c) == "0" ]; then +# NEXT_AVAILABLE_CORE_ID=0 +# else +# MAX_CORE_ID=$(oarnodes -Y | grep " core:" | awk '{print $2}' | sort -nr | head -n1) +# let "NEXT_AVAILABLE_CORE_ID=MAX_CORE_ID+1" +# fi +} +end + + +# Ensures that all required OAR properties exists. +# OAR properties can be divided in two sets: +# - properties that were previously created by 'oar_resources_add' +# - remaining properties that can be generated from API +def generate_oar_property_creation(site_name, data_hierarchy) + + ############################################# + # Create properties that were previously created + # by 'oar_resources_add' + ############################################## + commands = %Q{ +############################################# +# Create OAR properties that were created by 'oar_resources_add' +############################################# +property_exist 'host' || oarproperty -a host --varchar +property_exist 'cpu' || oarproperty -a cpu +property_exist 'core' || oarproperty -a core +property_exist 'gpudevice' || oarproperty -a gpudevice +property_exist 'gpu' || oarproperty -a gpu +property_exist 'gpu_model' || oarproperty -a gpu_model --varchar + +} + + ############################################# + # Create remaining properties (from API) + ############################################# + commands += %Q{ +############################################# +# Create OAR properties if they don't exist +############################################# + +} + + # Fetch oar properties from ref repo + # global_hash = load_data_hierarchy + global_hash = data_hierarchy + site_properties = get_oar_properties_from_the_ref_repo(global_hash, { + :sites => [site_name] + })[site_name] + property_keys = get_property_keys(site_properties) + + # Generate OAR commands for creating properties + commands += generate_create_oar_property_cmd(property_keys) + + return commands +end + + +# Exports a description of OAR ressources as a bunch of "self contained" OAR +# commands. Basically it does the following: +# (0) * It adds an header containing helper functions and detects the next +# CPU and CORE IDs that could be used by new OAR resources +# (cf "generate_oar_commands_header()") +# (0) * It creates OAR properties if they don't already exist (cf "generate_oar_property_creation()") +# (1) * It iterates over nodes contained in the 'generated_hierarchy' hash-table +# (2) > * It iterates over the oar resources of the node +# (3) > * If the resource already exists, the CPU and CORE associated to the resource is detected +# (4) * The resource is exported as an OAR command +# (5) * If applicable, create/update the storage devices associated to the node +def export_rows_as_oar_command(generated_hierarchy, site_name, site_properties, data_hierarchy) + + result = "" + + # Generate helper functions and detect the next available CPU and CORE IDs for + # non exisiting resources + result += generate_oar_commands_header() + + # Ensure that OAR properties exist before creating/updating OAR resources + result += generate_oar_property_creation(site_name, data_hierarchy) + + # Iterate over nodes of the generated resource hierarchy + generated_hierarchy[:nodes].each do |node| + result += %Q{ + +################################### +# #{node[:fqdn]} +################################### +} + + # Iterate over the resources of the OAR node + node[:oar_rows].each do |oar_ressource_row| + # host = oar_ressource_row[:host].to_s + host = oar_ressource_row[:fqdn].to_s + cpu = oar_ressource_row[:cpu].to_s + core = oar_ressource_row[:core].to_s + cpuset = oar_ressource_row[:cpuset].to_s + gpu = oar_ressource_row[:gpu].to_s + gpudevice = oar_ressource_row[:gpudevice].to_s + gpumodel = oar_ressource_row[:gpumodel].to_s + gpudevicepath = oar_ressource_row[:gpudevicepath].to_s + resource_id = oar_ressource_row[:resource_id] + + if resource_id == -1 or resource_id.nil? + # Add the resource to the OAR DB + if gpu == '' + result += "oarnodesetting -a -h '#{host}' -p host='#{host}' -p cpu=#{cpu} -p core=#{core} -p cpuset=#{cpuset}\n" + else + result += "oarnodesetting -a -h '#{host}' -p host='#{host}' -p cpu=#{cpu} -p core=#{core} -p cpuset=#{cpuset} -p gpu=#{gpu} -p gpu_model='#{gpumodel}' -p gpudevice=#{gpudevice} # This GPU is mapped on #{gpudevicepath}\n" + end + else + # Update the resource + if gpu == '' + result += "oarnodesetting --sql \"host='#{host}' AND resource_id='#{resource_id}' AND type='default'\" -p cpu=#{cpu} -p core=#{core} -p cpuset=#{cpuset}\n" + else + result += "oarnodesetting --sql \"host='#{host}' AND resource_id='#{resource_id}' AND type='default'\" -p cpu=#{cpu} -p core=#{core} -p cpuset=#{cpuset} -p gpu=#{gpu} -p gpu_model='#{gpumodel}' -p gpudevice=#{gpudevice} # This GPU is mapped on #{gpudevicepath}\n" + end + end + end + + # Set the OAR properties of the OAR node + result += generate_set_node_properties_cmd(node[:fqdn], node[:default_description]) + + # Iterate over storage devices + node[:description]["storage_devices"].select{|v| v.key?("reservation") and v["reservation"]}.each do |storage_device| + # As <storage_device> is an Array, where the first element is the device name (i.e. sda, sdb, ...), + # and the second element is a dictionnary containing information about the storage device, + # thus two variables are created: + # - <storage_device_name> : variable that contains the device name (sda, sdb, ...) + # - <storage_device_name_with_hostname> : variable that will be the ID of the storage. It follows this + # pattern : "sda1.ecotype-48" + storage_device_name = storage_device["device"] + storage_device_name_with_hostname = "#{storage_device_name}.#{node[:name]}" + + # Retried the site propertie that corresponds to this storage device + storage_device_oar_properties_tuple = site_properties["disk"].select { |keys| keys.include?(storage_device_name_with_hostname) }.first + + if storage_device_oar_properties_tuple.nil? or storage_device_oar_properties_tuple.size < 2 + raise "Error: could not find a site properties for disk #{storage_device_name_with_hostname}" + end + storage_device_oar_properties = storage_device_oar_properties_tuple[1] + + result += generate_separators() + + # Ensure that the storage device exists + result += generate_create_disk_cmd(node[:fqdn], storage_device_name_with_hostname) + + # Set the OAR properties associated to this storage device + result += generate_set_disk_properties_cmd(node[:fqdn], storage_device_name_with_hostname, storage_device_oar_properties) + end + + result += generate_separators() + end + + return result +end + +############################################ +# Functions related to the "DIFF" operation +############################################ + def get_ids(host) node_uid, site_uid, grid_uid, _tdl = host.split('.') cluster_uid, node_num = node_uid.split('-') @@ -189,6 +479,40 @@ def get_maintenance_property(node) return maintenance end +# Return a list of properties as a hash: { property1 => String, property2 => Fixnum, ... } +# We detect the type of the property (Fixnum/String) by looking at the existing values +def get_property_keys(properties) + properties_keys = {} + properties.each do |type, type_properties| + properties_keys.merge!(get_property_keys_internal(type, type_properties)) + end + return properties_keys +end + +def properties_internal(properties) + str = properties + .to_a + .select{|k, v| not ignore_default_keys.include? k} + .map do |(k, v)| + v = "YES" if v == true + v = "NO" if v == false + !v.nil? ? "#{k}=#{v.inspect.gsub("'", "\\'").gsub("\"", "'")}" : nil + end.compact.join(' -p ') + return str +end + +def disk_properties_internal(properties) + str = properties + .to_a + .select{|k, v| not v.nil? and not v==""} + .map do |(k, v)| + v = "YES" if v == true + v = "NO" if v == false + !v.nil? ? "#{k}=#{v.inspect.gsub("'", "\\'").gsub("\"", "'")}" : nil + end.compact.join(' -p ') + return str +end + # Returns the expected properties of the reservable disks. These # properties are then compared with the values in OAR database, to # generate a diff. @@ -270,12 +594,19 @@ def get_oar_data(site_uid, filename, options) puts "Reading OAR resources properties from file #{filename}" if options[:verbose] oarnodes = YAML.load(File.open(filename, 'rb') { |f| f.read }) else - api_uri = URI.parse('https://api.grid5000.fr/stable/sites/' + site_uid + '/internal/oarapi/resources/details.json?limit=999999') + + if options[:api][:uri] and not options[:api][:uri].include? "api.grid5000.fr" + api_uri = URI.parse(options[:api][:uri]+'/oarapi/resources/details.json?limit=999999') + else + api_uri = URI.parse('https://api.grid5000.fr/stable/sites/' + site_uid + '/internal/oarapi/resources/details.json?limit=999999') + end # Download the OAR properties from the OAR API (through G5K API) puts "Downloading resources properties from #{api_uri} ..." if options[:verbose] - http = Net::HTTP.new(api_uri.host, Net::HTTP.https_default_port) - http.use_ssl = true + http = Net::HTTP.new(api_uri.host, api_uri.port) + if api_uri.scheme == "https" + http.use_ssl = true + end request = Net::HTTP::Get.new(api_uri.request_uri, {'User-Agent' => 'reference-repository/gen/oar-properties'}) # For outside g5k network access @@ -299,16 +630,6 @@ def get_oar_data(site_uid, filename, options) return oarnodes end -# Return a list of properties as a hash: { property1 => String, property2 => Fixnum, ... } -# We detect the type of the property (Fixnum/String) by looking at the existing values -def get_property_keys(properties) - properties_keys = {} - properties.each do |type, type_properties| - properties_keys.merge!(get_property_keys_internal(type, type_properties)) - end - return properties_keys -end - def get_property_keys_internal(_type, type_properties) properties_keys = {} type_properties.each do |key, node_properties| @@ -397,8 +718,12 @@ def ignore_default_keys() "besteffort", "chunks", "comment", # TODO - "core", - "cpu", + "core", # This property was created by 'oar_resources_add' + "cpu", # This property was created by 'oar_resources_add' + "host", # This property was created by 'oar_resources_add' + "gpudevice", # New property taken into account by the new generator + "gpu_model", # New property taken into account by the new generator + "gpu", # New property taken into account by the new generator "cpuset", "desktop_computing", "deploy", @@ -406,7 +731,6 @@ def ignore_default_keys() "expiry_date", "finaud_decision", "grub", - "host", # TODO "jobs", # This property exists when a job is running "last_available_upto", "last_job_date", @@ -448,61 +772,6 @@ def ignore_keys() return ignore_default_keys() + ignore_disk_keys() end -def oarcmd_script_header() - return <<EOF -#! /usr/bin/env bash - -set -eu -set -o pipefail - -EOF -end - -def oarcmd_create_helper_functions() - return <<EOF -property_exist () { - [[ $(oarproperty -l | grep -e "^$1$") ]] -} - -node_exist () { - [[ $(oarnodes --sql "host='$1' and type='default'") ]] -} - -disk_exist () { - [[ $(oarnodes --sql "host='$1' and type='disk' and disk='$2'") ]] -} - -EOF -end - -def oarcmd_separator - return "echo '" + '=' * 80 + "'\n\n" -end - -def oarcmd_create_properties(properties_keys) - command = '' - properties_keys.each do |key, key_type| - if key_type == Fixnum # rubocop:disable Lint/UnifiedInteger - command += "property_exist '#{key}' || oarproperty -a #{key}\n" - elsif key_type == String - command += "property_exist '#{key}' || oarproperty -a #{key} --varchar\n" - else - raise "Error: the type of the '#{key}' property is unknown (Integer/String). Cannot generate the corresponding 'oarproperty' command. You must create this property manually ('oarproperty -a #{key} [--varchar]')" - end - end - return command -end - -def oarcmd_create_node(host, default_properties, node_hash) - id = get_ids(host) - node_exist = "node_exist '#{host}'" - command = "echo; echo 'Adding host #{host}:'\n" - command += "#{node_exist} && echo '=> host already exists'\n" - command += "#{node_exist} || oar_resources_add -a --hosts 1 --host0 #{id['node_num']} --host-prefix #{id['cluster_uid']}- --host-suffix .#{id['site_uid']}.#{id['grid_uid']}.fr --cpus #{node_hash['architecture']['nb_procs']} --cores #{default_properties['cpucore']}" - command += ' | bash' - return command + "\n\n" -end - def oarcmd_set_node_properties(host, default_properties) return '' if default_properties.size == 0 command = "echo; echo 'Setting properties for #{host}:'; echo\n" @@ -511,54 +780,52 @@ def oarcmd_set_node_properties(host, default_properties) return command + "\n\n" end -def properties_internal(properties) - str = properties.to_a.map do |(k, v)| - v = "YES" if v == true - v = "NO" if v == false - !v.nil? ? "#{k}=#{v.inspect.gsub("'", "\\'").gsub("\"", "'")}" : nil - end.compact.join(' -p ') - return str -end - -def oarcmd_create_disk(host, disk) - disk_exist = "disk_exist '#{host}' '#{disk}'" - command = "echo; echo 'Adding disk #{disk} on host #{host}:'\n" - command += "#{disk_exist} && echo '=> disk already exists'\n" - command += "#{disk_exist} || oarnodesetting -a -h '' -p host='#{host}' -p network_address='' -p type='disk' -p disk='#{disk}'" - return command + "\n\n" -end - -def oarcmd_set_disk_properties(host, disk, disk_properties) - return '' if disk_properties.size == 0 - command = "echo; echo 'Setting properties for disk #{disk} on host #{host}:'; echo\n" - command += "oarnodesetting --sql \"host='#{host}' and type='disk' and disk='#{disk}'\" -p " - command += properties_internal(disk_properties) - return command + "\n\n" +def get_oar_resources_from_oar(options) + properties = {} + sites = options[:sites] + diff = options[:diff] + sites.each do |site_uid| + filename = diff.is_a?(String) ? diff.gsub('%s', site_uid) : nil + properties[site_uid] = {} + properties[site_uid]['resources'] = get_oar_data(site_uid, filename, options) + end + # for debugging + if ENV['FAKE_EMPTY_SITE'] + properties.keys.each do |site| + properties[site]['resources'] = [] + end + end + return properties end # sudo exec -def ssh_exec(cmds, options, site_uid) +def run_commands_via_ssh(cmds, options, verbose=true) # The following is equivalent to : "cat cmds | bash" - #res = "" - c = Net::SSH.start(options[:ssh][:host].gsub('%s', site_uid), options[:ssh][:user]) + res = "" + c = Net::SSH.start(options[:ssh][:host], options[:ssh][:user]) c.open_channel { |channel| channel.exec('sudo bash') { |ch, success| # stdout channel.on_data { |ch2, data| - puts data #if options[:verbose] # ssh cmd output + if verbose + puts data #if options[:verbose] # ssh cmd output + end + res += data } # stderr channel.on_extended_data do |ch2, type, data| - puts data + if verbose + puts data #if options[:verbose] # ssh cmd output + end + res += data end - cmds.each { |cmd| - channel.send_data cmd - } + channel.send_data cmds channel.eof! } } c.loop + return res end # Get the properties of each node @@ -586,22 +853,10 @@ def get_oar_properties_from_oar(options) return properties end -# Main program -# properties['ref'] = properties from the reference-repo -# properties['oar'] = properties from the OAR server -# properties['diff'] = diff between "ref" and "oar" - -def generate_oar_properties(options) - options[:api] = {} - conf = RefRepo::Utils.get_api_config - options[:api][:user] = conf['username'] - options[:api][:pwd] = conf['password'] - options[:ssh] ||= {} - options[:ssh][:user] = 'g5kadmin' - options[:ssh][:host] ||= 'oar.%s.g5kadmin' - ret = true - global_hash = load_data_hierarchy +def do_diff(options, generated_hierarchy, data_hierarchy) + # global_hash = load_data_hierarchy + global_hash = data_hierarchy properties = {} properties['ref'] = get_oar_properties_from_the_ref_repo(global_hash, options) properties['oar'] = get_oar_properties_from_oar(options) @@ -612,6 +867,7 @@ def generate_oar_properties(options) 'oar' => {}, 'diff' => {} } + options[:sites].each do |site_uid| properties_keys['ref'][site_uid] = get_property_keys(properties['ref'][site_uid]) end @@ -728,102 +984,462 @@ def generate_oar_properties(options) ret = false unless options[:update] || options[:print] end puts "Skipped retired nodes: #{skipped_nodes}" if skipped_nodes.any? + + + # Check that CPUSETs on the OAR server are consistent with what would have been generated + oar_resources = get_oar_resources_from_oar(options) + + fix_cmds = "" + + options[:clusters].each do |cluster| + + generated_rows_for_this_cluster = generated_hierarchy[:nodes] + .map{|node| node[:oar_rows]} + .flatten + .select{|r| r[:cluster] == cluster} + + site_resources = oar_resources[site_uid]["resources"] + cluster_resources = site_resources.select{|x| x["cluster"] == cluster} + default_cluster_resources = cluster_resources.select{|r| r["type"] == "default"} + + + if generated_rows_for_this_cluster.length > 0 + # Check that OAR resources are associated with the right cpu, core and cpuset + generated_rows_for_this_cluster.each do |row| + corresponding_resource = default_cluster_resources.select{|r| r["id"] == row[:resource_id]} + if corresponding_resource.length > 0 + + {:cpu => "cpu", :core => "core", :cpuset => "cpuset", :gpu => "gpu", :gpudevice => "gpudevice"}.each do |key, value| + if row[key].to_s != corresponding_resource[0][value].to_s and not (key == :gpu and row[key].nil? and corresponding_resource[0][value] == 0) + puts "Error: resource #{corresponding_resource[0]["id"]} is associated to #{value.upcase} (#{corresponding_resource[0][value]}), while I computed that it should be associated to #{row[key]}" + fix_cmds += %Q{ +oarnodesetting --sql "resource_id='#{corresponding_resource[0]["id"]}' AND type='default'" -p #{value}=#{row[key]}} + end + end + else + # If resource_id is not equal to -1, then the generator is working on a resource that should exist, + # however it cannot be found : the generator reports an error to the operator + if row[:resource_id] != -1 + puts "Error: could not find ressource with ID=#{row[:resource_id]}" + end + end + end + end + end + + if not fix_cmds.empty? + puts "" + puts "################################################" + puts "# You may execute the following commands to fix " + puts "# some resources of the OAR database" + puts "################################################" + puts fix_cmds + end + end # if options[:diff] end +end + - # Build and execute commands - if options[:print] || options[:update] - skipped_nodes = [] unless options[:diff] - opt = options[:diff] ? 'diff' : 'ref' +def extract_clusters_description(clusters, site_name, options, data_hierarchy, site_properties) - properties[opt].each do |site_uid, site_properties| - options[:print].is_a?(String) ? o = File.open(options[:print].gsub('%s', site_uid), 'w') : o = $stdout.dup + # This function works as follow: + # (1) Initialization + # (a) Load the local data contained in YAML input files + # (b) Handle the program arguments (detects which site and which clusters + # are targeted), and what action is requested + # (c) Fetch the OAR properties of the requested site + # (2) Generate an OAR node hierarchy + # (a) Iterate over cluster > nodes > cpus > cores + # (b) Detect existing resource_ids and {CPU, CORE, CPUSET, GPU}'s IDs + # (c) [if cluster with GPU] detects the existing mapping GPU <-> CPU in the cluster + # (d) Associate a cpuset to each core + # (e) [if cluster with GPU] Associate a gpuset to each core - ssh_cmd = [] - cmd = [] - cmd << oarcmd_script_header - cmd << oarcmd_separator - # Create helper functions - cmd << oarcmd_create_helper_functions - cmd << oarcmd_separator + ############################################ + # (1) Initialization + ############################################ - # Make sure the host property is created (for a new site), - # because it is needed by the node_exist helper function - cmd << "property_exist host || oarproperty -a host --varchar\n\n" + oar_resources = get_oar_resources_from_oar(options) + + generated_hierarchy = { + :nodes => [] + } - # Create properties keys - properties_keys[opt][site_uid].delete_if { |k, _v| ignore_default_keys.include?(k) } - unless properties_keys[opt][site_uid].empty? - cmd << oarcmd_create_properties(properties_keys[opt][site_uid]) + "\n" - cmd << oarcmd_separator + ############################################ + # (2) Generate an OAR node hierarchy + ############################################ + + site_resources = oar_resources[site_name]["resources"].select{|r| r["type"] == "default"} + + next_rsc_ids = { + "cpu" => site_resources.length > 0 ? site_resources.map{|r| r["cpu"]}.max : 0, + "core" => site_resources.length > 0 ? site_resources.map{|r| r["core"]}.max : 0, + "gpu" => site_resources.length > 0 ? site_resources.map{|r| r["gpu"]}.select{|x| not x.nil?}.max : 0 + } + + newly_allocated_resources = { + "cpu" => [], + "core" =>[], + "gpu" => [] + } + + # Some existing cluster have GPUs, but no GPU ID has been allocated to them + if next_rsc_ids["gpu"].nil? + next_rsc_ids["gpu"] = 0 + end + + ############################################ + # (2-a) Iterate over clusters. (rest: servers, cpus, cores) + ############################################ + + clusters.sort.each do |cluster_name| + + cpu_idx = 0 + core_idx = 0 + + cluster_resources = site_resources.select{|r| r["cluster"] == cluster_name} + + cluster_desc_from_input_files = data_hierarchy['sites'][site_name]['clusters'][cluster_name] + first_node = cluster_desc_from_input_files['nodes'].first[1] + + # Some clusters such as graphite have a different organisation: + # for example, graphite-1 is organised as follow: + # 1st resource => cpu: 665, core: 1903 + # 2nd resource => cpu: 666, core: 1904 + # 3rd resource => cpu: 665, core: 1905 + # 4th resource => cpu: 666, core: 1906 + # ... + # + # To cope with such cases and ensure an homogeneous processing a "is_quirk_cluster" variable is set to true. + is_quirk_cluster = false + + node_count = cluster_desc_from_input_files['nodes'].length + + cpu_count = first_node['architecture']['nb_procs'] + core_count = first_node['architecture']['nb_cores'] / cpu_count + gpu_count = first_node.key?("gpu_devices") ? first_node["gpu_devices"].length : 0 + + cpu_model = "#{first_node['processor']['model']} #{first_node['processor']['version']}" + cpuset_mapping = first_node.key?("cpuset_mapping") ? first_node["cpuset_mapping"] : DEFAULT_CPUSET_MAPPING + # Detect how 'GPUSETs' are distributed over CPUs/GPUs of servers of this cluster + gpuset_mapping = DEFAULT_GPUSET_MAPPING + + ############################################ + # (2-b) Detect existing resource_ids and {CPU, CORE, CPUSET, GPU}'s IDs + ############################################ + + # Detect if the cluster is new, or if it is already known by OAR + is_a_new_cluster = cluster_resources.select{|x| x["cluster"] == cluster_name}.length == 0 + + # <phys_rsc_map> is a hash that centralises variables that will be used for managing IDs of CPUs, COREs, GPUs of + # the cluster that is going to be updated. <phys_rsc_map> is useful to detect situations where the current number + # of resources associated to a cluster does not correspond to the needs of the cluster. + phys_rsc_map = { + "cpu" => { + :current_ids => [], + :per_server_count => first_node['architecture']['nb_procs'], + :per_cluster_count => node_count * cpu_count + }, + "core" => { + :current_ids => [], + :per_server_count => first_node['architecture']['nb_cores'] / cpu_count, + :per_cluster_count => node_count * cpu_count * core_count + }, + "gpu" => { + :current_ids => [], + :per_server_count => first_node.key?("gpu_devices") ? first_node["gpu_devices"].length : 0, + :per_cluster_count => node_count * gpu_count + }, + } + + # For each physical ressource, we prepare a list of IDs: + # a) if the cluster is new: the IDs is a list of number in [max_resource_id, max_resource_id + cluster_resource_count] + # a) if the cluster is not new: the IDs is the list of existing resources + phys_rsc_map.each do |physical_resource, variables| + if is_a_new_cluster + variables[:current_ids] = [*next_rsc_ids[physical_resource]+1..next_rsc_ids[physical_resource]+variables[:per_cluster_count]] + next_rsc_ids[physical_resource] = variables[:per_server_count] > 0 ? variables[:current_ids].max : next_rsc_ids[physical_resource] + else + variables[:current_ids] = cluster_resources.map{|r| r[physical_resource]}.select{|x| not x.nil?}.uniq end + end - # Build and output node commands - site_properties['default'].each_filtered_node_uid(options[:clusters], options[:nodes]) do |node_uid, node_properties| - cluster_uid = node_uid.split('-')[0] - node_address = [node_uid, site_uid, 'grid5000.fr'].join('.') + if is_a_new_cluster + oar_resource_ids = phys_rsc_map["core"][:current_ids].map{|r| -1} + else + oar_resource_ids = cluster_resources.map{|r| r["id"]}.uniq + if oar_resource_ids != cluster_resources.sort_by {|r| [ r["cpu"], r["core"]] }.map{|r| r["id"]} + is_quirk_cluster = true + end + end - if node_properties['state'] == 'Dead' - # Do not log node skipping twice if we just did a diff - skipped_nodes << node_uid unless options[:diff] - next - end + phys_rsc_map.each do |physical_resource, variables| + # Try to fix a bad allocation of physical resources. There is two main cases: + # case 1) We detect too many resources: it likely means than a rsc of another cluster has been mis-associated to + # this cluster. A simple fix is to sort <RESOURCES> of the cluster according to their number of occurence in + # the cluster's properties, and keep only the N <RESOURCES> that appears the most frequently, where N is equal + # to node_count * count(RESOURCES) + # case 2) We don't have enough RESOURCES: it likely means that a same rsc has been associated to different + # properties, and that a "gap" should exist in RESOURCES IDs (.i.e some rsc IDs are available). We fill the + # missing RESOURCES with a) available RESOURCES in the site, and then b) new RESOURCES + + phys_rsc_ids = variables[:current_ids] + expected_phys_rsc_count = variables[:per_cluster_count] + + if phys_rsc_ids.length != expected_phys_rsc_count + raise "#{physical_resource} has an unexpected number of resources (current:#{phys_rsc_ids.length} vs expected:#{expected_phys_rsc_count})" + end - # Create new nodes - if opt == 'ref' || properties['oar'][site_uid]['default'][node_uid].nil? - node_hash = global_hash['sites'][site_uid]['clusters'][cluster_uid]['nodes'][node_uid] - cmd << oarcmd_create_node(node_address, node_properties, node_hash) - end + variables[:current_ids] = phys_rsc_ids + end - # Update properties - unless node_properties.empty? - cmd << oarcmd_set_node_properties(node_address, node_properties) - cmd << oarcmd_separator - end - ssh_cmd += cmd if options[:update] - o.write(cmd.join('')) if options[:print] - cmd = [] + # Some cluster (econome) have attributed resources according to the "alpha-numerical" order of nodes + # ([1, 11, 12, ..., 3] instead of [1, 2, 3, 4, ...]). Here we preserve to order of existing nodes of the cluster + if is_a_new_cluster + nodes_names = (1..node_count).map {|i| {:name => "#{cluster_name}-#{i}", :fqdn => "#{cluster_name}-#{i}.#{site_name}.grid5000.fr"}} + else + nodes_names = cluster_resources.map{|r| r["host"]}.map{|fqdn| {:fqdn => fqdn, :name => fqdn.split(".")[0]}}.uniq + end + + ############################################ + # Suite of (2-a): Iterate over nodes of the cluster. (rest: cpus, cores) + ############################################ + + (1..node_count).each do |node_num| + + # node_index0 starts at 0 + node_index0 = node_num -1 + + name = nodes_names[node_index0][:name] + fqdn = nodes_names[node_index0][:fqdn] + + node_description = cluster_desc_from_input_files["nodes"][name] + + node_description_default_properties = site_properties["default"][name] + + # Detect GPU configuration of nodes + if node_description.key? "gpu_devices" + gpus = node_description["gpu_devices"] + else + gpus = [] end - # Build and output disk commands - site_properties['disk'].each_filtered_node_uid(options[:clusters], options[:nodes]) do |key, disk_properties| - # As an example, key can be equal to 'grimoire-1' for default resources or - # ['grimoire-1', 'sdb.grimoire-1'] for disk resources (disk sdb of grimoire-1) - node_uid, disk = key - host = [node_uid, site_uid, 'grid5000.fr'].join('.') + # Assign to each GPU of a node, a "local_id" property which is between 0 and "gpu_count_per_node". This 'local_id' + # property will be used to assign a unique local gpuset to each GPU. + gpu_idx = 0 + gpus.map do |v| + v[1]['local_id'] = gpu_idx + gpu_idx += 1 + end - next if skipped_nodes.include?(node_uid) + if cpuset_mapping == 'continuous' + cpuset = 0 + end - # Create a new disk - if opt == 'ref' || properties['oar'][site_uid]['disk'][key].nil? - cmd << oarcmd_create_disk(host, disk) - end + generated_node_description = { + :name => name, + :fqdn => fqdn, + :cluster_name => cluster_name, + :site_name => site_name, + :description => node_description, + :oar_rows => [], + :disks => [], + :gpus => gpus, + :default_description => node_description_default_properties + } + + ############################################ + # Suite of (2-a): Iterate over CPUs of the server. (rest: cores) + ############################################ + (1..phys_rsc_map["cpu"][:per_server_count]).each do |cpu_num| + + # cpu_index0 starts at 0 + cpu_index0 = cpu_num - 1 - # Update the disk properties - unless disk_properties.empty? - cmd << oarcmd_set_disk_properties(host, disk, disk_properties) - cmd << oarcmd_separator + ############################################ + # (2-c) [if cluster with GPU] detects the existing mapping GPU <-> CPU in the cluster + ############################################ + numa_gpus = [] + if node_description.key? "gpu_devices" + numa_gpus = node_description["gpu_devices"].map {|v| v[1]}.select {|v| v['cpu_affinity'] == cpu_index0} end - ssh_cmd += cmd if options[:update] - o.write(cmd.join('')) if options[:print] - cmd = [] - end - o.close + ############################################ + # Suite of (2-a): Iterate over CORES of the CPU + ############################################ + (1..phys_rsc_map["core"][:per_server_count]).each do |core_num| + + # core_index0 starts at 0 + core_index0 = core_num - 1 + + # Compute cpu and core ID + oar_resource_id = oar_resource_ids[core_idx] + if not is_quirk_cluster + cpu_id = phys_rsc_map["cpu"][:current_ids][cpu_idx] + core_id = phys_rsc_map["core"][:current_ids][core_idx] + else + current_resource = cluster_resources.select{|r| r["id"] == oar_resource_id}[0] + cpu_id = current_resource["cpu"] + core_id = current_resource["core"] + end + + # Prepare an Hash that represents a single OAR resource. Few + # keys are initialized with empty values. + row = { + :cluster => cluster_name, + :host => name, + :cpu => cpu_id, + :core => core_id, + :cpuset => nil, + :gpu => nil, + :gpudevice => nil, + :gpudevicepath => nil, + :cpumodel => nil, + :gpumodel => nil, + :oar_properties => nil, + :fqdn => fqdn, + :resource_id => oar_resource_id, + } + + ############################################ + # (2-d) Associate a cpuset to each core + ############################################ + if cpuset_mapping == 'continuous' + row[:cpuset] = cpuset + else + # CPUSETs starts at 0 + row[:cpuset] = cpu_index0 + core_index0 * phys_rsc_map["cpu"][:per_server_count] + end + + row[:cpumodel] = cpu_model + + ############################################ + # (2-e) [if cluster with GPU] Associate a gpuset to each core + ############################################ + if not numa_gpus.empty? + if gpuset_mapping == 'continuous' + gpu_idx = core_index0 / (phys_rsc_map["core"][:per_server_count] / numa_gpus.length) + else + gpu_idx = core_index0 % numa_gpus.length + end + + selected_gpu = numa_gpus[gpu_idx] + if selected_gpu.nil? + next + end - # Execute commands - if options[:update] - printf 'Apply changes to the OAR server ' + options[:ssh][:host].gsub('%s', site_uid) + ' ? (y/N) ' - prompt = STDIN.gets.chomp - ssh_exec(ssh_cmd, options, site_uid) if prompt.downcase == 'y' + row[:gpu] = phys_rsc_map["gpu"][:current_ids][node_index0 * phys_rsc_map["gpu"][:per_server_count] + selected_gpu['local_id']] + row[:gpudevice] = selected_gpu['local_id'] + row[:gpudevicepath] = selected_gpu['device'] + row[:gpumodel] = selected_gpu['model'] + end + + core_idx += 1 + + if cpuset_mapping == 'continuous' + cpuset += 1 + end + + generated_node_description[:oar_rows].push(row) + end + cpu_idx += 1 end - end # site loop - if skipped_nodes.any? - puts "Skipped retired nodes: #{skipped_nodes}" unless options[:diff] + generated_hierarchy[:nodes].push(generated_node_description) end - end # if options[:print] || options[:update] + end + return generated_hierarchy +end + +############################################ +# MAIN function +############################################ + +# This function is called from RAKE and is in charge of +# - printing OAR commands to +# > add a new cluster +# > update and existing cluster +# - execute these commands on an OAR server + +def generate_oar_properties(options) + + options[:api] ||= {} + conf = RefRepo::Utils.get_api_config + options[:api][:user] = conf['username'] + options[:api][:pwd] = conf['password'] + options[:api][:uri] = conf['uri'] + options[:ssh] ||= {} + options[:ssh][:user] ||= 'g5kadmin' + options[:ssh][:host] ||= 'oar.%s.g5kadmin' + options[:sites] = [options[:site]] # for compatibility with other generators + + ############################################ + # Fetch: + # 1) hierarchy from YAML files + # 2) generated data from load_data_hierarchy + # 3) oar properties from the reference repository + ############################################ + + data_hierarchy = load_data_hierarchy + + site_name = options[:site] + + # If no cluster is given, then the clusters are the cluster of the given site + if not options.key? :clusters or options[:clusters].length == 0 + if data_hierarchy['sites'].key? site_name + clusters = data_hierarchy['sites'][site_name]['clusters'].keys + options[:clusters] = clusters + else + raise("The provided site does not exist : I can't detect clusters") + end + else + clusters = options[:clusters] + end + + + site_properties = get_oar_properties_from_the_ref_repo(data_hierarchy, { + :sites => [site_name] + })[site_name] + + ############################################ + # Generate information about the clusters + ############################################ + + generated_hierarchy = extract_clusters_description(clusters, + site_name, + options, + data_hierarchy, + site_properties) + + ############################################ + # Output generated information + ############################################ + + # DO=table + if options.key? :table and options[:table] + export_rows_as_formated_line(generated_hierarchy) + end + + # DO=print + if options.key? :print and options[:print] + cmds = export_rows_as_oar_command(generated_hierarchy, site_name, site_properties, data_hierarchy) + puts(cmds) + end + + # Do=Diff + if options.key? :diff and options[:diff] + do_diff(options, generated_hierarchy, data_hierarchy) + end + + # Do=update + if options[:update] + printf 'Apply changes to the OAR server ' + options[:ssh][:host].gsub('%s', site_name) + ' ? (y/N) ' + prompt = STDIN.gets.chomp + cmds = export_rows_as_oar_command(generated_hierarchy, site_name, site_properties, data_hierarchy) + run_commands_via_ssh(cmds, options) if prompt.downcase == 'y' + end - return ret + return 0 end diff --git a/scripts/nvidia-numa-mapper.rb b/scripts/nvidia-numa-mapper.rb new file mode 100755 index 00000000000..1472eb835e5 --- /dev/null +++ b/scripts/nvidia-numa-mapper.rb @@ -0,0 +1,71 @@ +#!/usr/bin/env ruby +require 'open3' +require 'json' + +NVIDIA_DRIVER_MAJOR_MODE = 195 + +def detect_numa_node(complete_pci_bus_id) + cmd = "cat /sys/class/pci_bus/" + complete_pci_bus_id + "/device/numa_node " + numa_node = nil + Open3.popen2(cmd) do |stdin, stdout, wait_thr| + stdout.each do | line | + numa_node = line.strip + end + end + return numa_node +end + +def detect_gpu_file_device(minor_number) + cmd = "ls -lha /dev/nvidia*" + device_file_path = nil + Open3.popen2(cmd) do |stdin, stdout, wait_thr| + stdout.each do | line | + if line =~ /#{NVIDIA_DRIVER_MAJOR_MODE},\s+#{minor_number}/ + device_file_path = /\/dev.*/.match(line).to_s + end + end + end + return device_file_path +end + +def fetch_nvdia_cards_info() + cmd = "nvidia-smi -q" + result = [] + Open3.popen2(cmd) do |stdin, stdout, wait_thr| + minor_number = nil + complete_pci_bus_id = nil + + stdout.each do |line| + if line.include? "Minor Number" + minor_number = line.split(":")[1].strip + elsif line.include? "Bus Id" + line_parts = line.split(":").map(&lambda {|x| x.strip}) + prefix_bus = line_parts[1].strip + if prefix_bus.to_i == 0 + prefix_bus = "0000" + end + + bus_id = line_parts[2].strip + complete_pci_bus_id = prefix_bus + ":" + bus_id + end + + if not minor_number.nil? and not complete_pci_bus_id.nil? + numa_node = detect_numa_node(complete_pci_bus_id) + gpu_file_device = detect_gpu_file_device(minor_number) + gpu_info = { + :minor_number => minor_number, + :complete_pci_bus_id => complete_pci_bus_id, + :numa_node => numa_node, + :gpu_file_device => gpu_file_device + } + result.push(gpu_info) + minor_number = nil + complete_pci_bus_id = nil + end + end + end + return result +end + +cards_info = fetch_nvdia_cards_info() +puts cards_info.to_json diff --git a/tests/oar_properties_spec.rb b/tests/oar_properties_spec.rb new file mode 100644 index 00000000000..776dd10cb1a --- /dev/null +++ b/tests/oar_properties_spec.rb @@ -0,0 +1,450 @@ +require 'rspec' +require 'webmock/rspec' + +$LOAD_PATH.unshift(File.expand_path(File.join(File.dirname(__FILE__), '../lib'))) +require 'refrepo' +require 'refrepo/gen/oar-properties' + +WebMock.disable_net_connect!(allow_localhost: true) + +conf = RefRepo::Utils.get_api_config + +def load_stub_file_content(stub_filename) + if not File.exist?("stub_oar_properties/#{stub_filename}") + raise("Cannot find #{stub_filename} in 'stub_oar_properties/'") + end + file = File.open("stub_oar_properties/#{stub_filename}", "r") + lines = IO.read(file) + file.close() + return lines +end + +# This code comes from https://gist.github.com/herrphon/2d2ebbf23c86a10aa955 +# and enables to capture all output made on stdout and stderr by a block of code +def capture(&block) + begin + $stdout = StringIO.new + $stderr = StringIO.new + yield + result = {} + result[:stdout] = $stdout.string + result[:stderr] = $stderr.string + ensure + $stdout = STDOUT + $stderr = STDERR + end + result +end + +stubbed_addresses = [ + "#{conf["uri"]}", + "#{conf["uri"]}/oarapi/resources/details.json?limit=999999", +] + + +def str_block_to_regexp(str) + str1 = str.gsub("|", "\\\\|") + str2 = str1.gsub("+", "\\\\+") + return Regexp.new str2 +end + +describe 'Oar properties generator' do + + context 'interracting with an empty OAR server' do + before do + stubbed_api_response = load_stub_file_content("dump_oar_api_empty_server.json") + stubbed_addresses.each do |stubbed_address| + stub_request(:get, stubbed_address). + with( + headers: { + 'Accept'=>'*/*', + }). + to_return(status: 200, body: stubbed_api_response, headers: {}) + end + + # Overload the 'load_data_hierarchy' to simulate the addition of a fake site in the input files + def load_data_hierarchy + json_str = load_stub_file_content("load_data_hierarchy_stubbed_data.json") + return JSON.parse(json_str) + end + end + + it 'should generate correctly a table of nodes' do + + uri = URI(conf["uri"]) + + response = Net::HTTP.get(uri) + + expect(response).to be_an_instance_of(String) + + options = { + :table => true, + :print => false, + :update => false, + :diff => false, + :site => "fakesite", + :clusters => ["clustera"] + } + + expected_header = <<-TXT ++---------- + -------------------- + ----- + ----- + -------- + ---- + -------------------- + ------------------------------ + ------------------------------+ +| cluster | host | cpu | core | cpuset | gpu | gpudevice | cpumodel | gpumodel | ++---------- + -------------------- + ----- + ----- + -------- + ---- + -------------------- + ------------------------------ + ------------------------------+ +TXT + + expected_clustera1_desc = <<-TXT +| clustera | clustera-1 | 1 | 1 | 0 | 1 | 0 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clustera | clustera-1 | 1 | 2 | 1 | 1 | 0 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clustera | clustera-1 | 1 | 3 | 2 | 1 | 0 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clustera | clustera-1 | 1 | 4 | 3 | 1 | 0 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clustera | clustera-1 | 1 | 5 | 4 | 2 | 1 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clustera | clustera-1 | 1 | 6 | 5 | 2 | 1 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +TXT + + expected_clustera2_desc = <<-TXT +| clustera | clustera-2 | 4 | 26 | 9 | 7 | 2 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clustera | clustera-2 | 4 | 27 | 10 | 7 | 2 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clustera | clustera-2 | 4 | 28 | 11 | 7 | 2 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clustera | clustera-2 | 4 | 29 | 12 | 8 | 3 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clustera | clustera-2 | 4 | 30 | 13 | 8 | 3 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clustera | clustera-2 | 4 | 31 | 14 | 8 | 3 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clustera | clustera-2 | 4 | 32 | 15 | 8 | 3 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +TXT + + generator_output = capture do + generate_oar_properties(options) + end + + expect(generator_output[:stdout]).to include(expected_header) + expect(generator_output[:stdout]).to include(expected_clustera1_desc) + expect(generator_output[:stdout]).to include(expected_clustera2_desc) + end + + it 'should generate correctly all the commands to update OAR' do + + uri = URI(conf["uri"]) + + response = Net::HTTP.get(uri) + + expect(response).to be_an_instance_of(String) + + options = { + :table => false, + :print => true, + :update => false, + :diff => false, + :site => "fakesite", + :clusters => ["clustera"] + } + + expected_header = <<-TXT +############################################# +# Create OAR properties that were created by 'oar_resources_add' +############################################# +property_exist 'host' || oarproperty -a host --varchar +property_exist 'cpu' || oarproperty -a cpu +property_exist 'core' || oarproperty -a core +property_exist 'gpudevice' || oarproperty -a gpudevice +property_exist 'gpu' || oarproperty -a gpu +property_exist 'gpu_model' || oarproperty -a gpu_model --varchar +TXT + + expected_clustera1_cmds = <<-TXT +################################### +# clustera-1.fakesite.grid5000.fr +################################### +oarnodesetting -a -h 'clustera-1.fakesite.grid5000.fr' -p host='clustera-1.fakesite.grid5000.fr' -p cpu=1 -p core=1 -p cpuset=0 -p gpu=1 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0 +oarnodesetting -a -h 'clustera-1.fakesite.grid5000.fr' -p host='clustera-1.fakesite.grid5000.fr' -p cpu=1 -p core=2 -p cpuset=1 -p gpu=1 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0 +oarnodesetting -a -h 'clustera-1.fakesite.grid5000.fr' -p host='clustera-1.fakesite.grid5000.fr' -p cpu=1 -p core=3 -p cpuset=2 -p gpu=1 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0 +TXT + + expected_clustera2_cmds = <<-TXT +oarnodesetting -a -h 'clustera-2.fakesite.grid5000.fr' -p host='clustera-2.fakesite.grid5000.fr' -p cpu=4 -p core=29 -p cpuset=12 -p gpu=8 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=3 # This GPU is mapped on /dev/nvidia3 +oarnodesetting -a -h 'clustera-2.fakesite.grid5000.fr' -p host='clustera-2.fakesite.grid5000.fr' -p cpu=4 -p core=30 -p cpuset=13 -p gpu=8 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=3 # This GPU is mapped on /dev/nvidia3 +oarnodesetting -a -h 'clustera-2.fakesite.grid5000.fr' -p host='clustera-2.fakesite.grid5000.fr' -p cpu=4 -p core=31 -p cpuset=14 -p gpu=8 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=3 # This GPU is mapped on /dev/nvidia3 +oarnodesetting -a -h 'clustera-2.fakesite.grid5000.fr' -p host='clustera-2.fakesite.grid5000.fr' -p cpu=4 -p core=32 -p cpuset=15 -p gpu=8 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=3 # This GPU is mapped on /dev/nvidia3 +TXT + expected_clustera3_cmds = <<-TXT +oarnodesetting --sql "host='clustera-2.fakesite.grid5000.fr' and type='default'" -p ip='172.16.64.2' -p cluster='clustera' -p nodemodel='Dell PowerEdge T640' -p switch='gw-fakesite' -p virtual='ivt' -p cpuarch='x86_64' -p cpucore=8 -p cputype='Intel Xeon Silver 4110' -p cpufreq='2.1' -p disktype='SATA' -p eth_count=1 -p eth_rate=10 -p ib_count=0 -p ib_rate=0 -p ib='NO' -p opa_count=0 -p opa_rate=0 -p opa='NO' -p myri_count=0 -p myri_rate=0 -p myri='NO' -p memcore=8192 -p memcpu=65536 -p memnode=131072 -p gpu_count=4 -p mic='NO' -p wattmeter='MULTIPLE' -p cluster_priority=201906 -p max_walltime=86400 -p production='YES' -p maintenance='NO' -p disk_reservation_count=0 +TXT + + generator_output = capture do + generate_oar_properties(options) + end + + expect(generator_output[:stdout]).to include(expected_header) + expect(generator_output[:stdout]).to include(expected_clustera1_cmds) + expect(generator_output[:stdout]).to include(expected_clustera2_cmds) + expect(generator_output[:stdout]).to include(expected_clustera3_cmds) + end + + it 'should generate correctly a diff with the OAR server' do + + uri = URI(conf["uri"]) + + response = Net::HTTP.get(uri) + + expect(response).to be_an_instance_of(String) + + options = { + :table => false, + :print => false, + :update => false, + :diff => true, + :site => "fakesite", + :clusters => ["clustera"], + :verbose => 2 + } + + expected_clustera1_diff = <<-TXT + clustera-1: new node ! + ["+", "cluster", "clustera"] + ["+", "cluster_priority", 201906] + ["+", "cpuarch", "x86_64"] + ["+", "cpucore", 8] + ["+", "cpufreq", "2.1"] + ["+", "cputype", "Intel Xeon Silver 4110"] + ["+", "disk_reservation_count", 0] + ["+", "disktype", "SATA"] + ["+", "eth_count", 1] + ["+", "eth_rate", 10] + ["+", "gpu_count", 4] + ["+", "ib", "NO"] + ["+", "ib_count", 0] + ["+", "ib_rate", 0] + ["+", "ip", "172.16.64.1"] + ["+", "maintenance", "NO"] + ["+", "max_walltime", 86400] + ["+", "memcore", 8192] + ["+", "memcpu", 65536] + ["+", "memnode", 131072] + ["+", "mic", "NO"] + ["+", "myri", "NO"] + ["+", "myri_count", 0] + ["+", "myri_rate", 0] + ["+", "nodemodel", "Dell PowerEdge T640"] + ["+", "opa", "NO"] + ["+", "opa_count", 0] + ["+", "opa_rate", 0] + ["+", "production", "YES"] + ["+", "switch", "gw-fakesite"] + ["+", "virtual", "ivt"] + ["+", "wattmeter", "MULTIPLE"] +TXT + + expected_clustera2_diff = <<-TXT + clustera-2: new node ! + ["+", "cluster", "clustera"] + ["+", "cluster_priority", 201906] + ["+", "cpuarch", "x86_64"] + ["+", "cpucore", 8] + ["+", "cpufreq", "2.1"] + ["+", "cputype", "Intel Xeon Silver 4110"] + ["+", "disk_reservation_count", 0] + ["+", "disktype", "SATA"] + ["+", "eth_count", 1] + ["+", "eth_rate", 10] + ["+", "gpu_count", 4] + ["+", "ib", "NO"] + ["+", "ib_count", 0] + ["+", "ib_rate", 0] + ["+", "ip", "172.16.64.2"] + ["+", "maintenance", "NO"] + ["+", "max_walltime", 86400] + ["+", "memcore", 8192] + ["+", "memcpu", 65536] + ["+", "memnode", 131072] + ["+", "mic", "NO"] + ["+", "myri", "NO"] + ["+", "myri_count", 0] + ["+", "myri_rate", 0] + ["+", "nodemodel", "Dell PowerEdge T640"] + ["+", "opa", "NO"] + ["+", "opa_count", 0] + ["+", "opa_rate", 0] + ["+", "production", "YES"] + ["+", "switch", "gw-fakesite"] + ["+", "virtual", "ivt"] + ["+", "wattmeter", "MULTIPLE"] +TXT + + generator_output = capture do + generate_oar_properties(options) + end + + expect(generator_output[:stdout]).to include(expected_clustera1_diff) + expect(generator_output[:stdout]).to include(expected_clustera2_diff) + end + end + + + + context 'OAR server with data' do + before do + stubbed_api_response = load_stub_file_content("dump_oar_api_configured_server.json") + stubbed_addresses.each do |stubbed_address| + stub_request(:get, stubbed_address). + with( + headers: { + 'Accept'=>'*/*', + }). + to_return(status: 200, body: stubbed_api_response, headers: {}) + end + + # Overload the 'load_data_hierarchy' to simulate the addition of a fake site in the input files + def load_data_hierarchy + json_str = load_stub_file_content("load_data_hierarchy_stubbed_data.json") + return JSON.parse(json_str) + end + end + + it 'should generate correctly a table of nodes' do + + uri = URI(conf["uri"]) + + response = Net::HTTP.get(uri) + + expect(response).to be_an_instance_of(String) + + options = { + :table => true, + :print => false, + :update => false, + :diff => false, + :site => "fakesite", + :clusters => ["clustera"] + } + + expected_header = <<-TXT ++---------- + -------------------- + ----- + ----- + -------- + ---- + -------------------- + ------------------------------ + ------------------------------+ +| cluster | host | cpu | core | cpuset | gpu | gpudevice | cpumodel | gpumodel | ++---------- + -------------------- + ----- + ----- + -------- + ---- + -------------------- + ------------------------------ + ------------------------------+ + TXT + + expected_clustera1_desc = <<-TXT +| clustera | clustera-1 | 1 | 1 | 0 | 1 | 0 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clustera | clustera-1 | 1 | 2 | 1 | 1 | 0 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clustera | clustera-1 | 1 | 3 | 2 | 1 | 0 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clustera | clustera-1 | 1 | 4 | 3 | 1 | 0 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clustera | clustera-1 | 1 | 5 | 4 | 2 | 1 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clustera | clustera-1 | 1 | 6 | 5 | 2 | 1 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | + TXT + + expected_clustera2_desc = <<-TXT +| clustera | clustera-2 | 4 | 26 | 9 | 7 | 2 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clustera | clustera-2 | 4 | 27 | 10 | 7 | 2 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clustera | clustera-2 | 4 | 28 | 11 | 7 | 2 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clustera | clustera-2 | 4 | 29 | 12 | 8 | 3 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clustera | clustera-2 | 4 | 30 | 13 | 8 | 3 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clustera | clustera-2 | 4 | 31 | 14 | 8 | 3 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clustera | clustera-2 | 4 | 32 | 15 | 8 | 3 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | + TXT + + generator_output = capture do + generate_oar_properties(options) + end + + expect(generator_output[:stdout]).to include(expected_header) + expect(generator_output[:stdout]).to include(expected_clustera1_desc) + expect(generator_output[:stdout]).to include(expected_clustera2_desc) + end + + it 'should generate correctly all the commands to update OAR' do + + uri = URI(conf["uri"]) + + response = Net::HTTP.get(uri) + + expect(response).to be_an_instance_of(String) + + options = { + :table => false, + :print => true, + :update => false, + :diff => false, + :site => "fakesite", + :clusters => ["clustera"] + } + + expected_header = <<-TXT +############################################# +# Create OAR properties that were created by 'oar_resources_add' +############################################# +property_exist 'host' || oarproperty -a host --varchar +property_exist 'cpu' || oarproperty -a cpu +property_exist 'core' || oarproperty -a core +property_exist 'gpudevice' || oarproperty -a gpudevice +property_exist 'gpu' || oarproperty -a gpu +property_exist 'gpu_model' || oarproperty -a gpu_model --varchar + TXT + + expected_clustera1_cmds = <<-TXT +################################### +# clustera-1.fakesite.grid5000.fr +################################### +oarnodesetting --sql "host='clustera-1.fakesite.grid5000.fr' AND resource_id='1' AND type='default'" -p cpu=1 -p core=1 -p cpuset=0 -p gpu=1 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0 +oarnodesetting --sql "host='clustera-1.fakesite.grid5000.fr' AND resource_id='2' AND type='default'" -p cpu=1 -p core=2 -p cpuset=1 -p gpu=1 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0 +oarnodesetting --sql "host='clustera-1.fakesite.grid5000.fr' AND resource_id='3' AND type='default'" -p cpu=1 -p core=3 -p cpuset=2 -p gpu=1 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0 +oarnodesetting --sql "host='clustera-1.fakesite.grid5000.fr' AND resource_id='4' AND type='default'" -p cpu=1 -p core=4 -p cpuset=3 -p gpu=1 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0 + TXT + + expected_clustera2_cmds = <<-TXT +################################### +# clustera-2.fakesite.grid5000.fr +################################### +oarnodesetting --sql "host='clustera-2.fakesite.grid5000.fr' AND resource_id='17' AND type='default'" -p cpu=3 -p core=17 -p cpuset=0 -p gpu=5 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0 +oarnodesetting --sql "host='clustera-2.fakesite.grid5000.fr' AND resource_id='18' AND type='default'" -p cpu=3 -p core=18 -p cpuset=1 -p gpu=5 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0 +oarnodesetting --sql "host='clustera-2.fakesite.grid5000.fr' AND resource_id='19' AND type='default'" -p cpu=3 -p core=19 -p cpuset=2 -p gpu=5 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0 +oarnodesetting --sql "host='clustera-2.fakesite.grid5000.fr' AND resource_id='20' AND type='default'" -p cpu=3 -p core=20 -p cpuset=3 -p gpu=5 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0 +oarnodesetting --sql "host='clustera-2.fakesite.grid5000.fr' AND resource_id='21' AND type='default'" -p cpu=3 -p core=21 -p cpuset=4 -p gpu=6 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=1 # This GPU is mapped on /dev/nvidia1 + TXT + + expected_clustera3_cmds = <<-TXT +oarnodesetting --sql "host='clustera-2.fakesite.grid5000.fr' and type='default'" -p ip='172.16.64.2' -p cluster='clustera' -p nodemodel='Dell PowerEdge T640' -p switch='gw-fakesite' -p virtual='ivt' -p cpuarch='x86_64' -p cpucore=8 -p cputype='Intel Xeon Silver 4110' -p cpufreq='2.1' -p disktype='SATA' -p eth_count=1 -p eth_rate=10 -p ib_count=0 -p ib_rate=0 -p ib='NO' -p opa_count=0 -p opa_rate=0 -p opa='NO' -p myri_count=0 -p myri_rate=0 -p myri='NO' -p memcore=8192 -p memcpu=65536 -p memnode=131072 -p gpu_count=4 -p mic='NO' -p wattmeter='MULTIPLE' -p cluster_priority=201906 -p max_walltime=86400 -p production='YES' -p maintenance='NO' -p disk_reservation_count=0 + TXT + + generator_output = capture do + generate_oar_properties(options) + end + + expect(generator_output[:stdout]).to include(expected_header) + expect(generator_output[:stdout]).to include(expected_clustera1_cmds) + expect(generator_output[:stdout]).to include(expected_clustera2_cmds) + expect(generator_output[:stdout]).to include(expected_clustera3_cmds) + end + + it 'should generate correctly a diff with the OAR server' do + + uri = URI(conf["uri"]) + + response = Net::HTTP.get(uri) + + expect(response).to be_an_instance_of(String) + + options = { + :table => false, + :print => false, + :update => false, + :diff => true, + :site => "fakesite", + :clusters => ["clustera"], + :verbose => 2 + } + + expected_clustera1_diff = <<-TXT + clustera-1: OK +TXT + + expected_clustera2_diff = <<-TXT + clustera-2: OK +TXT + + generator_output = capture do + generate_oar_properties(options) + end + + expect(generator_output[:stdout]).to include(expected_clustera1_diff) + expect(generator_output[:stdout]).to include(expected_clustera2_diff) + end + end +end \ No newline at end of file diff --git a/tests/stub_oar_properties/dump_oar_api_configured_server.json b/tests/stub_oar_properties/dump_oar_api_configured_server.json new file mode 100644 index 00000000000..0d7ee55d893 --- /dev/null +++ b/tests/stub_oar_properties/dump_oar_api_configured_server.json @@ -0,0 +1,2446 @@ +{ + "offset" : 0, + "api_timestamp" : 1568902577, + "items" : [ + { + "finaud_decision" : "NO", + "last_available_upto" : 0, + "cpucore" : 8, + "scheduler_priority" : 0, + "api_timestamp" : 1568902577, + "myri_rate" : 0, + "expiry_date" : 0, + "nodemodel" : "Dell PowerEdge T640", + "disktype" : "SATA", + "cluster" : "clustera", + "state" : "Alive", + "gpu" : 1, + "besteffort" : "YES", + "ib_rate" : 0, + "available_upto" : 2147483647, + "cpuset" : 0, + "links" : [ + { + "title" : "node", + "href" : "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "rel" : "member" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/1" + }, + { + "href" : "//oarapi/resources/1/jobs", + "title" : "jobs", + "rel" : "collection" + } + ], + "production" : "YES", + "type" : "default", + "opa_count" : 0, + "id" : 1, + "opa_rate" : 0, + "desktop_computing" : "NO", + "memnode" : 131072, + "opa" : "NO", + "eth_rate" : 10, + "last_job_date" : 0, + "wattmeter" : "MULTIPLE", + "next_finaud_decision" : "NO", + "host" : "clustera-1.fakesite.grid5000.fr", + "cpuarch" : "x86_64", + "gpudevice" : 0, + "next_state" : "UnChanged", + "maintenance" : "NO", + "gpu_count" : 4, + "cluster_priority" : 201906, + "ib_count" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "mic" : "NO", + "switch" : "gw-fakesite", + "eth_count" : 1, + "drain" : "NO", + "cpu" : 1, + "cputype" : "Intel Xeon Silver 4110", + "virtual" : "ivt", + "cpufreq" : "2.1", + "memcore" : 8192, + "deploy" : "NO", + "memcpu" : 65536, + "myri_count" : 0, + "ip" : "172.16.64.1", + "core" : 1, + "myri" : "NO", + "max_walltime" : 86400, + "network_address" : "clustera-1.fakesite.grid5000.fr", + "state_num" : 1, + "ib" : "NO", + "disk_reservation_count" : 0, + "suspended_jobs" : "NO" + }, + { + "last_job_date" : 0, + "eth_rate" : 10, + "opa" : "NO", + "memnode" : 131072, + "desktop_computing" : "NO", + "opa_rate" : 0, + "id" : 2, + "opa_count" : 0, + "type" : "default", + "production" : "YES", + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "href" : "//oarapi/resources/2", + "rel" : "self" + }, + { + "title" : "jobs", + "href" : "//oarapi/resources/2/jobs", + "rel" : "collection" + } + ], + "cpuset" : 1, + "available_upto" : 2147483647, + "ib_rate" : 0, + "besteffort" : "YES", + "gpu" : 1, + "state" : "Alive", + "disktype" : "SATA", + "cluster" : "clustera", + "expiry_date" : 0, + "nodemodel" : "Dell PowerEdge T640", + "myri_rate" : 0, + "api_timestamp" : 1568902577, + "cpucore" : 8, + "scheduler_priority" : 0, + "last_available_upto" : 0, + "finaud_decision" : "NO", + "suspended_jobs" : "NO", + "disk_reservation_count" : 0, + "ib" : "NO", + "network_address" : "clustera-1.fakesite.grid5000.fr", + "state_num" : 1, + "max_walltime" : 86400, + "myri" : "NO", + "core" : 2, + "myri_count" : 0, + "ip" : "172.16.64.1", + "memcpu" : 65536, + "deploy" : "NO", + "cpufreq" : "2.1", + "memcore" : 8192, + "virtual" : "ivt", + "cputype" : "Intel Xeon Silver 4110", + "cpu" : 1, + "drain" : "NO", + "eth_count" : 1, + "switch" : "gw-fakesite", + "mic" : "NO", + "gpu_model" : "GeForce RTX 2080 Ti", + "ib_count" : 0, + "cluster_priority" : 201906, + "gpu_count" : 4, + "maintenance" : "NO", + "next_state" : "UnChanged", + "gpudevice" : 0, + "cpuarch" : "x86_64", + "host" : "clustera-1.fakesite.grid5000.fr", + "next_finaud_decision" : "NO", + "wattmeter" : "MULTIPLE" + }, + { + "myri" : "NO", + "max_walltime" : 86400, + "myri_count" : 0, + "core" : 3, + "ip" : "172.16.64.1", + "suspended_jobs" : "NO", + "disk_reservation_count" : 0, + "ib" : "NO", + "network_address" : "clustera-1.fakesite.grid5000.fr", + "state_num" : 1, + "cputype" : "Intel Xeon Silver 4110", + "virtual" : "ivt", + "cpu" : 1, + "drain" : "NO", + "memcpu" : 65536, + "deploy" : "NO", + "memcore" : 8192, + "cpufreq" : "2.1", + "mic" : "NO", + "gpu_model" : "GeForce RTX 2080 Ti", + "ib_count" : 0, + "eth_count" : 1, + "switch" : "gw-fakesite", + "gpudevice" : 0, + "cpuarch" : "x86_64", + "host" : "clustera-1.fakesite.grid5000.fr", + "next_finaud_decision" : "NO", + "wattmeter" : "MULTIPLE", + "cluster_priority" : 201906, + "gpu_count" : 4, + "maintenance" : "NO", + "next_state" : "UnChanged", + "memnode" : 131072, + "desktop_computing" : "NO", + "opa_rate" : 0, + "last_job_date" : 0, + "eth_rate" : 10, + "opa" : "NO", + "cpuset" : 2, + "links" : [ + { + "title" : "node", + "href" : "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "rel" : "member" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/3" + }, + { + "title" : "jobs", + "href" : "//oarapi/resources/3/jobs", + "rel" : "collection" + } + ], + "available_upto" : 2147483647, + "ib_rate" : 0, + "besteffort" : "YES", + "opa_count" : 0, + "id" : 3, + "type" : "default", + "production" : "YES", + "expiry_date" : 0, + "nodemodel" : "Dell PowerEdge T640", + "gpu" : 1, + "state" : "Alive", + "cluster" : "clustera", + "disktype" : "SATA", + "last_available_upto" : 0, + "finaud_decision" : "NO", + "myri_rate" : 0, + "api_timestamp" : 1568902577, + "cpucore" : 8, + "scheduler_priority" : 0 + }, + { + "cpu" : 1, + "virtual" : "ivt", + "cputype" : "Intel Xeon Silver 4110", + "drain" : "NO", + "memcpu" : 65536, + "memcore" : 8192, + "cpufreq" : "2.1", + "deploy" : "NO", + "max_walltime" : 86400, + "myri" : "NO", + "ip" : "172.16.64.1", + "myri_count" : 0, + "core" : 4, + "ib" : "NO", + "disk_reservation_count" : 0, + "suspended_jobs" : "NO", + "network_address" : "clustera-1.fakesite.grid5000.fr", + "state_num" : 1, + "host" : "clustera-1.fakesite.grid5000.fr", + "cpuarch" : "x86_64", + "gpudevice" : 0, + "wattmeter" : "MULTIPLE", + "next_finaud_decision" : "NO", + "maintenance" : "NO", + "cluster_priority" : 201906, + "gpu_count" : 4, + "next_state" : "UnChanged", + "mic" : "NO", + "ib_count" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "eth_count" : 1, + "switch" : "gw-fakesite", + "available_upto" : 2147483647, + "links" : [ + { + "title" : "node", + "href" : "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "rel" : "member" + }, + { + "href" : "//oarapi/resources/4", + "rel" : "self" + }, + { + "href" : "//oarapi/resources/4/jobs", + "title" : "jobs", + "rel" : "collection" + } + ], + "cpuset" : 3, + "besteffort" : "YES", + "ib_rate" : 0, + "id" : 4, + "opa_count" : 0, + "production" : "YES", + "type" : "default", + "desktop_computing" : "NO", + "memnode" : 131072, + "opa_rate" : 0, + "last_job_date" : 0, + "eth_rate" : 10, + "opa" : "NO", + "last_available_upto" : 0, + "finaud_decision" : "NO", + "api_timestamp" : 1568902577, + "myri_rate" : 0, + "scheduler_priority" : 0, + "cpucore" : 8, + "expiry_date" : 0, + "nodemodel" : "Dell PowerEdge T640", + "gpu" : 1, + "disktype" : "SATA", + "cluster" : "clustera", + "state" : "Alive" + }, + { + "opa" : "NO", + "eth_rate" : 10, + "last_job_date" : 0, + "opa_rate" : 0, + "memnode" : 131072, + "desktop_computing" : "NO", + "type" : "default", + "production" : "YES", + "opa_count" : 0, + "id" : 5, + "ib_rate" : 0, + "besteffort" : "YES", + "links" : [ + { + "rel" : "member", + "href" : "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title" : "node" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/5" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/5/jobs" + } + ], + "cpuset" : 4, + "available_upto" : 2147483647, + "state" : "Alive", + "cluster" : "clustera", + "disktype" : "SATA", + "gpu" : 2, + "nodemodel" : "Dell PowerEdge T640", + "expiry_date" : 0, + "cpucore" : 8, + "scheduler_priority" : 0, + "myri_rate" : 0, + "api_timestamp" : 1568902577, + "finaud_decision" : "NO", + "last_available_upto" : 0, + "state_num" : 1, + "network_address" : "clustera-1.fakesite.grid5000.fr", + "suspended_jobs" : "NO", + "ib" : "NO", + "disk_reservation_count" : 0, + "myri_count" : 0, + "ip" : "172.16.64.1", + "core" : 5, + "myri" : "NO", + "max_walltime" : 86400, + "deploy" : "NO", + "memcore" : 8192, + "cpufreq" : "2.1", + "memcpu" : 65536, + "drain" : "NO", + "cputype" : "Intel Xeon Silver 4110", + "virtual" : "ivt", + "cpu" : 1, + "switch" : "gw-fakesite", + "eth_count" : 1, + "gpu_model" : "GeForce RTX 2080 Ti", + "ib_count" : 0, + "mic" : "NO", + "next_state" : "UnChanged", + "cluster_priority" : 201906, + "gpu_count" : 4, + "maintenance" : "NO", + "next_finaud_decision" : "NO", + "wattmeter" : "MULTIPLE", + "gpudevice" : 1, + "cpuarch" : "x86_64", + "host" : "clustera-1.fakesite.grid5000.fr" + }, + { + "opa_count" : 0, + "id" : 6, + "type" : "default", + "production" : "YES", + "links" : [ + { + "rel" : "member", + "href" : "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title" : "node" + }, + { + "href" : "//oarapi/resources/6", + "rel" : "self" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/6/jobs" + } + ], + "cpuset" : 5, + "available_upto" : 2147483647, + "ib_rate" : 0, + "besteffort" : "YES", + "last_job_date" : 0, + "eth_rate" : 10, + "opa" : "NO", + "memnode" : 131072, + "desktop_computing" : "NO", + "opa_rate" : 0, + "myri_rate" : 0, + "api_timestamp" : 1568902577, + "scheduler_priority" : 0, + "cpucore" : 8, + "last_available_upto" : 0, + "finaud_decision" : "NO", + "gpu" : 2, + "state" : "Alive", + "disktype" : "SATA", + "cluster" : "clustera", + "expiry_date" : 0, + "nodemodel" : "Dell PowerEdge T640", + "memcpu" : 65536, + "deploy" : "NO", + "cpufreq" : "2.1", + "memcore" : 8192, + "virtual" : "ivt", + "cputype" : "Intel Xeon Silver 4110", + "cpu" : 1, + "drain" : "NO", + "suspended_jobs" : "NO", + "disk_reservation_count" : 0, + "ib" : "NO", + "state_num" : 1, + "network_address" : "clustera-1.fakesite.grid5000.fr", + "myri" : "NO", + "max_walltime" : 86400, + "myri_count" : 0, + "ip" : "172.16.64.1", + "core" : 6, + "gpu_count" : 4, + "cluster_priority" : 201906, + "maintenance" : "NO", + "next_state" : "UnChanged", + "gpudevice" : 1, + "host" : "clustera-1.fakesite.grid5000.fr", + "cpuarch" : "x86_64", + "wattmeter" : "MULTIPLE", + "next_finaud_decision" : "NO", + "eth_count" : 1, + "switch" : "gw-fakesite", + "mic" : "NO", + "gpu_model" : "GeForce RTX 2080 Ti", + "ib_count" : 0 + }, + { + "nodemodel" : "Dell PowerEdge T640", + "expiry_date" : 0, + "gpu" : 2, + "cluster" : "clustera", + "disktype" : "SATA", + "state" : "Alive", + "last_available_upto" : 0, + "finaud_decision" : "NO", + "api_timestamp" : 1568902577, + "myri_rate" : 0, + "scheduler_priority" : 0, + "cpucore" : 8, + "desktop_computing" : "NO", + "memnode" : 131072, + "opa_rate" : 0, + "last_job_date" : 0, + "opa" : "NO", + "eth_rate" : 10, + "available_upto" : 2147483647, + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "href" : "//oarapi/resources/7", + "rel" : "self" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/7/jobs" + } + ], + "cpuset" : 6, + "besteffort" : "YES", + "ib_rate" : 0, + "opa_count" : 0, + "id" : 7, + "production" : "YES", + "type" : "default", + "mic" : "NO", + "ib_count" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "eth_count" : 1, + "switch" : "gw-fakesite", + "cpuarch" : "x86_64", + "host" : "clustera-1.fakesite.grid5000.fr", + "gpudevice" : 1, + "next_finaud_decision" : "NO", + "wattmeter" : "MULTIPLE", + "maintenance" : "NO", + "gpu_count" : 4, + "cluster_priority" : 201906, + "next_state" : "UnChanged", + "max_walltime" : 86400, + "myri" : "NO", + "myri_count" : 0, + "core" : 7, + "ip" : "172.16.64.1", + "disk_reservation_count" : 0, + "ib" : "NO", + "suspended_jobs" : "NO", + "network_address" : "clustera-1.fakesite.grid5000.fr", + "state_num" : 1, + "cpu" : 1, + "cputype" : "Intel Xeon Silver 4110", + "virtual" : "ivt", + "drain" : "NO", + "memcpu" : 65536, + "memcore" : 8192, + "cpufreq" : "2.1", + "deploy" : "NO" + }, + { + "api_timestamp" : 1568902577, + "myri_rate" : 0, + "scheduler_priority" : 0, + "cpucore" : 8, + "last_available_upto" : 0, + "finaud_decision" : "NO", + "gpu" : 2, + "disktype" : "SATA", + "cluster" : "clustera", + "state" : "Alive", + "nodemodel" : "Dell PowerEdge T640", + "expiry_date" : 0, + "id" : 8, + "opa_count" : 0, + "production" : "YES", + "type" : "default", + "available_upto" : 2147483647, + "cpuset" : 7, + "links" : [ + { + "rel" : "member", + "href" : "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title" : "node" + }, + { + "href" : "//oarapi/resources/8", + "rel" : "self" + }, + { + "rel" : "collection", + "href" : "//oarapi/resources/8/jobs", + "title" : "jobs" + } + ], + "besteffort" : "YES", + "ib_rate" : 0, + "last_job_date" : 0, + "opa" : "NO", + "eth_rate" : 10, + "desktop_computing" : "NO", + "memnode" : 131072, + "opa_rate" : 0, + "maintenance" : "NO", + "gpu_count" : 4, + "cluster_priority" : 201906, + "next_state" : "UnChanged", + "host" : "clustera-1.fakesite.grid5000.fr", + "cpuarch" : "x86_64", + "gpudevice" : 1, + "next_finaud_decision" : "NO", + "wattmeter" : "MULTIPLE", + "eth_count" : 1, + "switch" : "gw-fakesite", + "mic" : "NO", + "ib_count" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "memcpu" : 65536, + "cpufreq" : "2.1", + "memcore" : 8192, + "deploy" : "NO", + "cpu" : 1, + "virtual" : "ivt", + "cputype" : "Intel Xeon Silver 4110", + "drain" : "NO", + "ib" : "NO", + "disk_reservation_count" : 0, + "suspended_jobs" : "NO", + "state_num" : 1, + "network_address" : "clustera-1.fakesite.grid5000.fr", + "myri" : "NO", + "max_walltime" : 86400, + "core" : 8, + "myri_count" : 0, + "ip" : "172.16.64.1" + }, + { + "finaud_decision" : "NO", + "last_available_upto" : 0, + "scheduler_priority" : 0, + "cpucore" : 8, + "api_timestamp" : 1568902577, + "myri_rate" : 0, + "expiry_date" : 0, + "nodemodel" : "Dell PowerEdge T640", + "disktype" : "SATA", + "cluster" : "clustera", + "state" : "Alive", + "gpu" : 3, + "besteffort" : "YES", + "ib_rate" : 0, + "available_upto" : 2147483647, + "links" : [ + { + "rel" : "member", + "href" : "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title" : "node" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/9" + }, + { + "rel" : "collection", + "href" : "//oarapi/resources/9/jobs", + "title" : "jobs" + } + ], + "cpuset" : 8, + "production" : "YES", + "type" : "default", + "id" : 9, + "opa_count" : 0, + "opa_rate" : 0, + "desktop_computing" : "NO", + "memnode" : 131072, + "opa" : "NO", + "eth_rate" : 10, + "last_job_date" : 0, + "wattmeter" : "MULTIPLE", + "next_finaud_decision" : "NO", + "cpuarch" : "x86_64", + "host" : "clustera-1.fakesite.grid5000.fr", + "gpudevice" : 2, + "next_state" : "UnChanged", + "maintenance" : "NO", + "gpu_count" : 4, + "cluster_priority" : 201906, + "ib_count" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "mic" : "NO", + "switch" : "gw-fakesite", + "eth_count" : 1, + "drain" : "NO", + "cpu" : 2, + "virtual" : "ivt", + "cputype" : "Intel Xeon Silver 4110", + "memcore" : 8192, + "cpufreq" : "2.1", + "deploy" : "NO", + "memcpu" : 65536, + "myri_count" : 0, + "core" : 9, + "ip" : "172.16.64.1", + "myri" : "NO", + "max_walltime" : 86400, + "network_address" : "clustera-1.fakesite.grid5000.fr", + "state_num" : 1, + "ib" : "NO", + "disk_reservation_count" : 0, + "suspended_jobs" : "NO" + }, + { + "drain" : "NO", + "cpu" : 2, + "virtual" : "ivt", + "cputype" : "Intel Xeon Silver 4110", + "cpufreq" : "2.1", + "memcore" : 8192, + "deploy" : "NO", + "memcpu" : 65536, + "myri_count" : 0, + "core" : 10, + "ip" : "172.16.64.1", + "max_walltime" : 86400, + "myri" : "NO", + "network_address" : "clustera-1.fakesite.grid5000.fr", + "state_num" : 1, + "ib" : "NO", + "disk_reservation_count" : 0, + "suspended_jobs" : "NO", + "next_finaud_decision" : "NO", + "wattmeter" : "MULTIPLE", + "cpuarch" : "x86_64", + "host" : "clustera-1.fakesite.grid5000.fr", + "gpudevice" : 2, + "next_state" : "UnChanged", + "maintenance" : "NO", + "cluster_priority" : 201906, + "gpu_count" : 4, + "ib_count" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "mic" : "NO", + "switch" : "gw-fakesite", + "eth_count" : 1, + "besteffort" : "YES", + "ib_rate" : 0, + "available_upto" : 2147483647, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "href" : "//oarapi/resources/10", + "rel" : "self" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/10/jobs" + } + ], + "cpuset" : 9, + "production" : "YES", + "type" : "default", + "id" : 10, + "opa_count" : 0, + "opa_rate" : 0, + "desktop_computing" : "NO", + "memnode" : 131072, + "eth_rate" : 10, + "opa" : "NO", + "last_job_date" : 0, + "finaud_decision" : "NO", + "last_available_upto" : 0, + "cpucore" : 8, + "scheduler_priority" : 0, + "api_timestamp" : 1568902577, + "myri_rate" : 0, + "nodemodel" : "Dell PowerEdge T640", + "expiry_date" : 0, + "cluster" : "clustera", + "disktype" : "SATA", + "state" : "Alive", + "gpu" : 3 + }, + { + "cpu" : 2, + "virtual" : "ivt", + "cputype" : "Intel Xeon Silver 4110", + "drain" : "NO", + "memcpu" : 65536, + "cpufreq" : "2.1", + "memcore" : 8192, + "deploy" : "NO", + "myri" : "NO", + "max_walltime" : 86400, + "core" : 11, + "myri_count" : 0, + "ip" : "172.16.64.1", + "ib" : "NO", + "disk_reservation_count" : 0, + "suspended_jobs" : "NO", + "state_num" : 1, + "network_address" : "clustera-1.fakesite.grid5000.fr", + "cpuarch" : "x86_64", + "host" : "clustera-1.fakesite.grid5000.fr", + "gpudevice" : 2, + "next_finaud_decision" : "NO", + "wattmeter" : "MULTIPLE", + "maintenance" : "NO", + "gpu_count" : 4, + "cluster_priority" : 201906, + "next_state" : "UnChanged", + "mic" : "NO", + "ib_count" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "eth_count" : 1, + "switch" : "gw-fakesite", + "available_upto" : 2147483647, + "cpuset" : 10, + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "href" : "//oarapi/resources/11", + "rel" : "self" + }, + { + "title" : "jobs", + "href" : "//oarapi/resources/11/jobs", + "rel" : "collection" + } + ], + "besteffort" : "YES", + "ib_rate" : 0, + "id" : 11, + "opa_count" : 0, + "production" : "YES", + "type" : "default", + "desktop_computing" : "NO", + "memnode" : 131072, + "opa_rate" : 0, + "last_job_date" : 0, + "eth_rate" : 10, + "opa" : "NO", + "last_available_upto" : 0, + "finaud_decision" : "NO", + "api_timestamp" : 1568902577, + "myri_rate" : 0, + "scheduler_priority" : 0, + "cpucore" : 8, + "expiry_date" : 0, + "nodemodel" : "Dell PowerEdge T640", + "gpu" : 3, + "disktype" : "SATA", + "cluster" : "clustera", + "state" : "Alive" + }, + { + "next_state" : "UnChanged", + "maintenance" : "NO", + "cluster_priority" : 201906, + "gpu_count" : 4, + "wattmeter" : "MULTIPLE", + "next_finaud_decision" : "NO", + "host" : "clustera-1.fakesite.grid5000.fr", + "cpuarch" : "x86_64", + "gpudevice" : 2, + "switch" : "gw-fakesite", + "eth_count" : 1, + "ib_count" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "mic" : "NO", + "cpufreq" : "2.1", + "memcore" : 8192, + "deploy" : "NO", + "memcpu" : 65536, + "drain" : "NO", + "cpu" : 2, + "virtual" : "ivt", + "cputype" : "Intel Xeon Silver 4110", + "state_num" : 1, + "network_address" : "clustera-1.fakesite.grid5000.fr", + "ib" : "NO", + "disk_reservation_count" : 0, + "suspended_jobs" : "NO", + "myri_count" : 0, + "ip" : "172.16.64.1", + "core" : 12, + "myri" : "NO", + "max_walltime" : 86400, + "scheduler_priority" : 0, + "cpucore" : 8, + "api_timestamp" : 1568902577, + "myri_rate" : 0, + "finaud_decision" : "NO", + "last_available_upto" : 0, + "cluster" : "clustera", + "disktype" : "SATA", + "state" : "Alive", + "gpu" : 3, + "expiry_date" : 0, + "nodemodel" : "Dell PowerEdge T640", + "production" : "YES", + "type" : "default", + "opa_count" : 0, + "id" : 12, + "besteffort" : "YES", + "ib_rate" : 0, + "available_upto" : 2147483647, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "href" : "//oarapi/resources/12", + "rel" : "self" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/12/jobs" + } + ], + "cpuset" : 11, + "opa" : "NO", + "eth_rate" : 10, + "last_job_date" : 0, + "opa_rate" : 0, + "desktop_computing" : "NO", + "memnode" : 131072 + }, + { + "core" : 13, + "myri_count" : 0, + "ip" : "172.16.64.1", + "myri" : "NO", + "max_walltime" : 86400, + "network_address" : "clustera-1.fakesite.grid5000.fr", + "state_num" : 1, + "suspended_jobs" : "NO", + "ib" : "NO", + "disk_reservation_count" : 0, + "drain" : "NO", + "cputype" : "Intel Xeon Silver 4110", + "virtual" : "ivt", + "cpu" : 2, + "deploy" : "NO", + "memcore" : 8192, + "cpufreq" : "2.1", + "memcpu" : 65536, + "gpu_model" : "GeForce RTX 2080 Ti", + "ib_count" : 0, + "mic" : "NO", + "switch" : "gw-fakesite", + "eth_count" : 1, + "next_finaud_decision" : "NO", + "wattmeter" : "MULTIPLE", + "gpudevice" : 3, + "cpuarch" : "x86_64", + "host" : "clustera-1.fakesite.grid5000.fr", + "next_state" : "UnChanged", + "gpu_count" : 4, + "cluster_priority" : 201906, + "maintenance" : "NO", + "opa_rate" : 0, + "memnode" : 131072, + "desktop_computing" : "NO", + "opa" : "NO", + "eth_rate" : 10, + "last_job_date" : 0, + "ib_rate" : 0, + "besteffort" : "YES", + "cpuset" : 12, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/13" + }, + { + "href" : "//oarapi/resources/13/jobs", + "title" : "jobs", + "rel" : "collection" + } + ], + "available_upto" : 2147483647, + "type" : "default", + "production" : "YES", + "id" : 13, + "opa_count" : 0, + "expiry_date" : 0, + "nodemodel" : "Dell PowerEdge T640", + "state" : "Alive", + "cluster" : "clustera", + "disktype" : "SATA", + "gpu" : 4, + "finaud_decision" : "NO", + "last_available_upto" : 0, + "scheduler_priority" : 0, + "cpucore" : 8, + "myri_rate" : 0, + "api_timestamp" : 1568902577 + }, + { + "finaud_decision" : "NO", + "last_available_upto" : 0, + "cpucore" : 8, + "scheduler_priority" : 0, + "api_timestamp" : 1568902577, + "myri_rate" : 0, + "expiry_date" : 0, + "nodemodel" : "Dell PowerEdge T640", + "disktype" : "SATA", + "cluster" : "clustera", + "state" : "Alive", + "gpu" : 4, + "besteffort" : "YES", + "ib_rate" : 0, + "available_upto" : 2147483647, + "cpuset" : 13, + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/14" + }, + { + "rel" : "collection", + "href" : "//oarapi/resources/14/jobs", + "title" : "jobs" + } + ], + "production" : "YES", + "type" : "default", + "id" : 14, + "opa_count" : 0, + "opa_rate" : 0, + "desktop_computing" : "NO", + "memnode" : 131072, + "eth_rate" : 10, + "opa" : "NO", + "last_job_date" : 0, + "wattmeter" : "MULTIPLE", + "next_finaud_decision" : "NO", + "host" : "clustera-1.fakesite.grid5000.fr", + "cpuarch" : "x86_64", + "gpudevice" : 3, + "next_state" : "UnChanged", + "maintenance" : "NO", + "cluster_priority" : 201906, + "gpu_count" : 4, + "ib_count" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "mic" : "NO", + "switch" : "gw-fakesite", + "eth_count" : 1, + "drain" : "NO", + "cpu" : 2, + "cputype" : "Intel Xeon Silver 4110", + "virtual" : "ivt", + "memcore" : 8192, + "cpufreq" : "2.1", + "deploy" : "NO", + "memcpu" : 65536, + "myri_count" : 0, + "ip" : "172.16.64.1", + "core" : 14, + "max_walltime" : 86400, + "myri" : "NO", + "state_num" : 1, + "network_address" : "clustera-1.fakesite.grid5000.fr", + "ib" : "NO", + "disk_reservation_count" : 0, + "suspended_jobs" : "NO" + }, + { + "memcpu" : 65536, + "cpufreq" : "2.1", + "memcore" : 8192, + "deploy" : "NO", + "cpu" : 2, + "virtual" : "ivt", + "cputype" : "Intel Xeon Silver 4110", + "drain" : "NO", + "disk_reservation_count" : 0, + "ib" : "NO", + "suspended_jobs" : "NO", + "state_num" : 1, + "network_address" : "clustera-1.fakesite.grid5000.fr", + "max_walltime" : 86400, + "myri" : "NO", + "myri_count" : 0, + "core" : 15, + "ip" : "172.16.64.1", + "maintenance" : "NO", + "gpu_count" : 4, + "cluster_priority" : 201906, + "next_state" : "UnChanged", + "cpuarch" : "x86_64", + "host" : "clustera-1.fakesite.grid5000.fr", + "gpudevice" : 3, + "next_finaud_decision" : "NO", + "wattmeter" : "MULTIPLE", + "eth_count" : 1, + "switch" : "gw-fakesite", + "mic" : "NO", + "ib_count" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "opa_count" : 0, + "id" : 15, + "production" : "YES", + "type" : "default", + "available_upto" : 2147483647, + "cpuset" : 14, + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/15" + }, + { + "href" : "//oarapi/resources/15/jobs", + "title" : "jobs", + "rel" : "collection" + } + ], + "besteffort" : "YES", + "ib_rate" : 0, + "last_job_date" : 0, + "opa" : "NO", + "eth_rate" : 10, + "desktop_computing" : "NO", + "memnode" : 131072, + "opa_rate" : 0, + "api_timestamp" : 1568902577, + "myri_rate" : 0, + "cpucore" : 8, + "scheduler_priority" : 0, + "last_available_upto" : 0, + "finaud_decision" : "NO", + "gpu" : 4, + "cluster" : "clustera", + "disktype" : "SATA", + "state" : "Alive", + "nodemodel" : "Dell PowerEdge T640", + "expiry_date" : 0 + }, + { + "last_available_upto" : 0, + "finaud_decision" : "NO", + "myri_rate" : 0, + "api_timestamp" : 1568902577, + "scheduler_priority" : 0, + "cpucore" : 8, + "expiry_date" : 0, + "nodemodel" : "Dell PowerEdge T640", + "gpu" : 4, + "state" : "Alive", + "cluster" : "clustera", + "disktype" : "SATA", + "cpuset" : 15, + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "href" : "//oarapi/resources/16", + "rel" : "self" + }, + { + "href" : "//oarapi/resources/16/jobs", + "title" : "jobs", + "rel" : "collection" + } + ], + "available_upto" : 2147483647, + "ib_rate" : 0, + "besteffort" : "YES", + "opa_count" : 0, + "id" : 16, + "type" : "default", + "production" : "YES", + "memnode" : 131072, + "desktop_computing" : "NO", + "opa_rate" : 0, + "last_job_date" : 0, + "eth_rate" : 10, + "opa" : "NO", + "gpudevice" : 3, + "cpuarch" : "x86_64", + "host" : "clustera-1.fakesite.grid5000.fr", + "wattmeter" : "MULTIPLE", + "next_finaud_decision" : "NO", + "cluster_priority" : 201906, + "gpu_count" : 4, + "maintenance" : "NO", + "next_state" : "UnChanged", + "mic" : "NO", + "gpu_model" : "GeForce RTX 2080 Ti", + "ib_count" : 0, + "eth_count" : 1, + "switch" : "gw-fakesite", + "cputype" : "Intel Xeon Silver 4110", + "virtual" : "ivt", + "cpu" : 2, + "drain" : "NO", + "memcpu" : 65536, + "deploy" : "NO", + "cpufreq" : "2.1", + "memcore" : 8192, + "myri" : "NO", + "max_walltime" : 86400, + "myri_count" : 0, + "ip" : "172.16.64.1", + "core" : 16, + "suspended_jobs" : "NO", + "disk_reservation_count" : 0, + "ib" : "NO", + "network_address" : "clustera-1.fakesite.grid5000.fr", + "state_num" : 1 + }, + { + "host" : "clustera-2.fakesite.grid5000.fr", + "cpuarch" : "x86_64", + "gpudevice" : 0, + "next_finaud_decision" : "NO", + "wattmeter" : "MULTIPLE", + "maintenance" : "NO", + "cluster_priority" : 201906, + "gpu_count" : 4, + "next_state" : "UnChanged", + "mic" : "NO", + "ib_count" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "eth_count" : 1, + "switch" : "gw-fakesite", + "cpu" : 3, + "cputype" : "Intel Xeon Silver 4110", + "virtual" : "ivt", + "drain" : "NO", + "memcpu" : 65536, + "cpufreq" : "2.1", + "memcore" : 8192, + "deploy" : "NO", + "myri" : "NO", + "max_walltime" : 86400, + "myri_count" : 0, + "core" : 17, + "ip" : "172.16.64.2", + "disk_reservation_count" : 0, + "ib" : "NO", + "suspended_jobs" : "NO", + "state_num" : 1, + "network_address" : "clustera-2.fakesite.grid5000.fr", + "last_available_upto" : 0, + "finaud_decision" : "NO", + "api_timestamp" : 1568902577, + "myri_rate" : 0, + "scheduler_priority" : 0, + "cpucore" : 8, + "nodemodel" : "Dell PowerEdge T640", + "expiry_date" : 0, + "gpu" : 5, + "disktype" : "SATA", + "cluster" : "clustera", + "state" : "Alive", + "available_upto" : 2147483647, + "links" : [ + { + "title" : "node", + "href" : "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel" : "member" + }, + { + "href" : "//oarapi/resources/17", + "rel" : "self" + }, + { + "title" : "jobs", + "href" : "//oarapi/resources/17/jobs", + "rel" : "collection" + } + ], + "cpuset" : 0, + "besteffort" : "YES", + "ib_rate" : 0, + "opa_count" : 0, + "id" : 17, + "production" : "YES", + "type" : "default", + "desktop_computing" : "NO", + "memnode" : 131072, + "opa_rate" : 0, + "last_job_date" : 0, + "eth_rate" : 10, + "opa" : "NO" + }, + { + "max_walltime" : 86400, + "myri" : "NO", + "myri_count" : 0, + "ip" : "172.16.64.2", + "core" : 18, + "ib" : "NO", + "disk_reservation_count" : 0, + "suspended_jobs" : "NO", + "state_num" : 1, + "network_address" : "clustera-2.fakesite.grid5000.fr", + "cpu" : 3, + "cputype" : "Intel Xeon Silver 4110", + "virtual" : "ivt", + "drain" : "NO", + "memcpu" : 65536, + "cpufreq" : "2.1", + "memcore" : 8192, + "deploy" : "NO", + "mic" : "NO", + "ib_count" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "eth_count" : 1, + "switch" : "gw-fakesite", + "cpuarch" : "x86_64", + "host" : "clustera-2.fakesite.grid5000.fr", + "gpudevice" : 0, + "wattmeter" : "MULTIPLE", + "next_finaud_decision" : "NO", + "maintenance" : "NO", + "cluster_priority" : 201906, + "gpu_count" : 4, + "next_state" : "UnChanged", + "desktop_computing" : "NO", + "memnode" : 131072, + "opa_rate" : 0, + "last_job_date" : 0, + "eth_rate" : 10, + "opa" : "NO", + "available_upto" : 2147483647, + "cpuset" : 1, + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "href" : "//oarapi/resources/18", + "rel" : "self" + }, + { + "href" : "//oarapi/resources/18/jobs", + "title" : "jobs", + "rel" : "collection" + } + ], + "besteffort" : "YES", + "ib_rate" : 0, + "opa_count" : 0, + "id" : 18, + "production" : "YES", + "type" : "default", + "expiry_date" : 0, + "nodemodel" : "Dell PowerEdge T640", + "gpu" : 5, + "cluster" : "clustera", + "disktype" : "SATA", + "state" : "Alive", + "last_available_upto" : 0, + "finaud_decision" : "NO", + "api_timestamp" : 1568902577, + "myri_rate" : 0, + "cpucore" : 8, + "scheduler_priority" : 0 + }, + { + "eth_rate" : 10, + "opa" : "NO", + "last_job_date" : 0, + "opa_rate" : 0, + "memnode" : 131072, + "desktop_computing" : "NO", + "type" : "default", + "production" : "YES", + "opa_count" : 0, + "id" : 19, + "ib_rate" : 0, + "besteffort" : "YES", + "cpuset" : 2, + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/19" + }, + { + "href" : "//oarapi/resources/19/jobs", + "title" : "jobs", + "rel" : "collection" + } + ], + "available_upto" : 2147483647, + "state" : "Alive", + "disktype" : "SATA", + "cluster" : "clustera", + "gpu" : 5, + "expiry_date" : 0, + "nodemodel" : "Dell PowerEdge T640", + "cpucore" : 8, + "scheduler_priority" : 0, + "myri_rate" : 0, + "api_timestamp" : 1568902577, + "finaud_decision" : "NO", + "last_available_upto" : 0, + "network_address" : "clustera-2.fakesite.grid5000.fr", + "state_num" : 1, + "suspended_jobs" : "NO", + "disk_reservation_count" : 0, + "ib" : "NO", + "myri_count" : 0, + "ip" : "172.16.64.2", + "core" : 19, + "max_walltime" : 86400, + "myri" : "NO", + "deploy" : "NO", + "cpufreq" : "2.1", + "memcore" : 8192, + "memcpu" : 65536, + "drain" : "NO", + "virtual" : "ivt", + "cputype" : "Intel Xeon Silver 4110", + "cpu" : 3, + "switch" : "gw-fakesite", + "eth_count" : 1, + "gpu_model" : "GeForce RTX 2080 Ti", + "ib_count" : 0, + "mic" : "NO", + "next_state" : "UnChanged", + "cluster_priority" : 201906, + "gpu_count" : 4, + "maintenance" : "NO", + "next_finaud_decision" : "NO", + "wattmeter" : "MULTIPLE", + "gpudevice" : 0, + "host" : "clustera-2.fakesite.grid5000.fr", + "cpuarch" : "x86_64" + }, + { + "state" : "Alive", + "disktype" : "SATA", + "cluster" : "clustera", + "gpu" : 5, + "nodemodel" : "Dell PowerEdge T640", + "expiry_date" : 0, + "scheduler_priority" : 0, + "cpucore" : 8, + "myri_rate" : 0, + "api_timestamp" : 1568902577, + "finaud_decision" : "NO", + "last_available_upto" : 0, + "opa" : "NO", + "eth_rate" : 10, + "last_job_date" : 0, + "opa_rate" : 0, + "memnode" : 131072, + "desktop_computing" : "NO", + "type" : "default", + "production" : "YES", + "id" : 20, + "opa_count" : 0, + "ib_rate" : 0, + "besteffort" : "YES", + "links" : [ + { + "title" : "node", + "href" : "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel" : "member" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/20" + }, + { + "href" : "//oarapi/resources/20/jobs", + "title" : "jobs", + "rel" : "collection" + } + ], + "cpuset" : 3, + "available_upto" : 2147483647, + "switch" : "gw-fakesite", + "eth_count" : 1, + "gpu_model" : "GeForce RTX 2080 Ti", + "ib_count" : 0, + "mic" : "NO", + "next_state" : "UnChanged", + "gpu_count" : 4, + "cluster_priority" : 201906, + "maintenance" : "NO", + "next_finaud_decision" : "NO", + "wattmeter" : "MULTIPLE", + "gpudevice" : 0, + "cpuarch" : "x86_64", + "host" : "clustera-2.fakesite.grid5000.fr", + "network_address" : "clustera-2.fakesite.grid5000.fr", + "state_num" : 1, + "suspended_jobs" : "NO", + "disk_reservation_count" : 0, + "ib" : "NO", + "myri_count" : 0, + "core" : 20, + "ip" : "172.16.64.2", + "max_walltime" : 86400, + "myri" : "NO", + "deploy" : "NO", + "cpufreq" : "2.1", + "memcore" : 8192, + "memcpu" : 65536, + "drain" : "NO", + "cputype" : "Intel Xeon Silver 4110", + "virtual" : "ivt", + "cpu" : 3 + }, + { + "cluster_priority" : 201906, + "gpu_count" : 4, + "maintenance" : "NO", + "next_state" : "UnChanged", + "gpudevice" : 1, + "cpuarch" : "x86_64", + "host" : "clustera-2.fakesite.grid5000.fr", + "next_finaud_decision" : "NO", + "wattmeter" : "MULTIPLE", + "eth_count" : 1, + "switch" : "gw-fakesite", + "mic" : "NO", + "gpu_model" : "GeForce RTX 2080 Ti", + "ib_count" : 0, + "memcpu" : 65536, + "deploy" : "NO", + "memcore" : 8192, + "cpufreq" : "2.1", + "cputype" : "Intel Xeon Silver 4110", + "virtual" : "ivt", + "cpu" : 3, + "drain" : "NO", + "suspended_jobs" : "NO", + "disk_reservation_count" : 0, + "ib" : "NO", + "network_address" : "clustera-2.fakesite.grid5000.fr", + "state_num" : 1, + "myri" : "NO", + "max_walltime" : 86400, + "myri_count" : 0, + "core" : 21, + "ip" : "172.16.64.2", + "myri_rate" : 0, + "api_timestamp" : 1568902577, + "scheduler_priority" : 0, + "cpucore" : 8, + "last_available_upto" : 0, + "finaud_decision" : "NO", + "gpu" : 6, + "state" : "Alive", + "disktype" : "SATA", + "cluster" : "clustera", + "nodemodel" : "Dell PowerEdge T640", + "expiry_date" : 0, + "opa_count" : 0, + "id" : 21, + "type" : "default", + "production" : "YES", + "cpuset" : 4, + "links" : [ + { + "title" : "node", + "href" : "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel" : "member" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/21" + }, + { + "rel" : "collection", + "href" : "//oarapi/resources/21/jobs", + "title" : "jobs" + } + ], + "available_upto" : 2147483647, + "ib_rate" : 0, + "besteffort" : "YES", + "last_job_date" : 0, + "opa" : "NO", + "eth_rate" : 10, + "memnode" : 131072, + "desktop_computing" : "NO", + "opa_rate" : 0 + }, + { + "opa_count" : 0, + "id" : 22, + "type" : "default", + "production" : "YES", + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/22" + }, + { + "title" : "jobs", + "href" : "//oarapi/resources/22/jobs", + "rel" : "collection" + } + ], + "cpuset" : 5, + "available_upto" : 2147483647, + "ib_rate" : 0, + "besteffort" : "YES", + "last_job_date" : 0, + "eth_rate" : 10, + "opa" : "NO", + "memnode" : 131072, + "desktop_computing" : "NO", + "opa_rate" : 0, + "myri_rate" : 0, + "api_timestamp" : 1568902577, + "scheduler_priority" : 0, + "cpucore" : 8, + "last_available_upto" : 0, + "finaud_decision" : "NO", + "gpu" : 6, + "state" : "Alive", + "disktype" : "SATA", + "cluster" : "clustera", + "nodemodel" : "Dell PowerEdge T640", + "expiry_date" : 0, + "memcpu" : 65536, + "deploy" : "NO", + "cpufreq" : "2.1", + "memcore" : 8192, + "virtual" : "ivt", + "cputype" : "Intel Xeon Silver 4110", + "cpu" : 3, + "drain" : "NO", + "suspended_jobs" : "NO", + "disk_reservation_count" : 0, + "ib" : "NO", + "state_num" : 1, + "network_address" : "clustera-2.fakesite.grid5000.fr", + "max_walltime" : 86400, + "myri" : "NO", + "core" : 22, + "myri_count" : 0, + "ip" : "172.16.64.2", + "gpu_count" : 4, + "cluster_priority" : 201906, + "maintenance" : "NO", + "next_state" : "UnChanged", + "gpudevice" : 1, + "cpuarch" : "x86_64", + "host" : "clustera-2.fakesite.grid5000.fr", + "next_finaud_decision" : "NO", + "wattmeter" : "MULTIPLE", + "eth_count" : 1, + "switch" : "gw-fakesite", + "mic" : "NO", + "gpu_model" : "GeForce RTX 2080 Ti", + "ib_count" : 0 + }, + { + "gpudevice" : 1, + "cpuarch" : "x86_64", + "host" : "clustera-2.fakesite.grid5000.fr", + "wattmeter" : "MULTIPLE", + "next_finaud_decision" : "NO", + "gpu_count" : 4, + "cluster_priority" : 201906, + "maintenance" : "NO", + "next_state" : "UnChanged", + "mic" : "NO", + "gpu_model" : "GeForce RTX 2080 Ti", + "ib_count" : 0, + "eth_count" : 1, + "switch" : "gw-fakesite", + "cputype" : "Intel Xeon Silver 4110", + "virtual" : "ivt", + "cpu" : 3, + "drain" : "NO", + "memcpu" : 65536, + "deploy" : "NO", + "memcore" : 8192, + "cpufreq" : "2.1", + "max_walltime" : 86400, + "myri" : "NO", + "ip" : "172.16.64.2", + "myri_count" : 0, + "core" : 23, + "suspended_jobs" : "NO", + "disk_reservation_count" : 0, + "ib" : "NO", + "state_num" : 1, + "network_address" : "clustera-2.fakesite.grid5000.fr", + "last_available_upto" : 0, + "finaud_decision" : "NO", + "myri_rate" : 0, + "api_timestamp" : 1568902577, + "scheduler_priority" : 0, + "cpucore" : 8, + "expiry_date" : 0, + "nodemodel" : "Dell PowerEdge T640", + "gpu" : 6, + "state" : "Alive", + "disktype" : "SATA", + "cluster" : "clustera", + "links" : [ + { + "title" : "node", + "href" : "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel" : "member" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/23" + }, + { + "rel" : "collection", + "href" : "//oarapi/resources/23/jobs", + "title" : "jobs" + } + ], + "cpuset" : 6, + "available_upto" : 2147483647, + "ib_rate" : 0, + "besteffort" : "YES", + "id" : 23, + "opa_count" : 0, + "type" : "default", + "production" : "YES", + "memnode" : 131072, + "desktop_computing" : "NO", + "opa_rate" : 0, + "last_job_date" : 0, + "eth_rate" : 10, + "opa" : "NO" + }, + { + "mic" : "NO", + "ib_count" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "eth_count" : 1, + "switch" : "gw-fakesite", + "host" : "clustera-2.fakesite.grid5000.fr", + "cpuarch" : "x86_64", + "gpudevice" : 1, + "wattmeter" : "MULTIPLE", + "next_finaud_decision" : "NO", + "maintenance" : "NO", + "gpu_count" : 4, + "cluster_priority" : 201906, + "next_state" : "UnChanged", + "myri" : "NO", + "max_walltime" : 86400, + "myri_count" : 0, + "ip" : "172.16.64.2", + "core" : 24, + "disk_reservation_count" : 0, + "ib" : "NO", + "suspended_jobs" : "NO", + "state_num" : 1, + "network_address" : "clustera-2.fakesite.grid5000.fr", + "cpu" : 3, + "virtual" : "ivt", + "cputype" : "Intel Xeon Silver 4110", + "drain" : "NO", + "memcpu" : 65536, + "memcore" : 8192, + "cpufreq" : "2.1", + "deploy" : "NO", + "expiry_date" : 0, + "nodemodel" : "Dell PowerEdge T640", + "gpu" : 6, + "cluster" : "clustera", + "disktype" : "SATA", + "state" : "Alive", + "last_available_upto" : 0, + "finaud_decision" : "NO", + "api_timestamp" : 1568902577, + "myri_rate" : 0, + "cpucore" : 8, + "scheduler_priority" : 0, + "desktop_computing" : "NO", + "memnode" : 131072, + "opa_rate" : 0, + "last_job_date" : 0, + "opa" : "NO", + "eth_rate" : 10, + "available_upto" : 2147483647, + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "href" : "//oarapi/resources/24", + "rel" : "self" + }, + { + "rel" : "collection", + "href" : "//oarapi/resources/24/jobs", + "title" : "jobs" + } + ], + "cpuset" : 7, + "besteffort" : "YES", + "ib_rate" : 0, + "opa_count" : 0, + "id" : 24, + "production" : "YES", + "type" : "default" + }, + { + "next_finaud_decision" : "NO", + "wattmeter" : "MULTIPLE", + "gpudevice" : 2, + "host" : "clustera-2.fakesite.grid5000.fr", + "cpuarch" : "x86_64", + "next_state" : "UnChanged", + "gpu_count" : 4, + "cluster_priority" : 201906, + "maintenance" : "NO", + "gpu_model" : "GeForce RTX 2080 Ti", + "ib_count" : 0, + "mic" : "NO", + "switch" : "gw-fakesite", + "eth_count" : 1, + "drain" : "NO", + "virtual" : "ivt", + "cputype" : "Intel Xeon Silver 4110", + "cpu" : 4, + "deploy" : "NO", + "cpufreq" : "2.1", + "memcore" : 8192, + "memcpu" : 65536, + "myri_count" : 0, + "ip" : "172.16.64.2", + "core" : 25, + "myri" : "NO", + "max_walltime" : 86400, + "state_num" : 1, + "network_address" : "clustera-2.fakesite.grid5000.fr", + "suspended_jobs" : "NO", + "disk_reservation_count" : 0, + "ib" : "NO", + "finaud_decision" : "NO", + "last_available_upto" : 0, + "cpucore" : 8, + "scheduler_priority" : 0, + "myri_rate" : 0, + "api_timestamp" : 1568902577, + "expiry_date" : 0, + "nodemodel" : "Dell PowerEdge T640", + "state" : "Alive", + "cluster" : "clustera", + "disktype" : "SATA", + "gpu" : 7, + "ib_rate" : 0, + "besteffort" : "YES", + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "href" : "//oarapi/resources/25", + "rel" : "self" + }, + { + "href" : "//oarapi/resources/25/jobs", + "title" : "jobs", + "rel" : "collection" + } + ], + "cpuset" : 8, + "available_upto" : 2147483647, + "type" : "default", + "production" : "YES", + "opa_count" : 0, + "id" : 25, + "opa_rate" : 0, + "memnode" : 131072, + "desktop_computing" : "NO", + "opa" : "NO", + "eth_rate" : 10, + "last_job_date" : 0 + }, + { + "id" : 26, + "opa_count" : 0, + "type" : "default", + "production" : "YES", + "cpuset" : 9, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "href" : "//oarapi/resources/26", + "rel" : "self" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/26/jobs" + } + ], + "available_upto" : 2147483647, + "ib_rate" : 0, + "besteffort" : "YES", + "last_job_date" : 0, + "eth_rate" : 10, + "opa" : "NO", + "memnode" : 131072, + "desktop_computing" : "NO", + "opa_rate" : 0, + "myri_rate" : 0, + "api_timestamp" : 1568902577, + "cpucore" : 8, + "scheduler_priority" : 0, + "last_available_upto" : 0, + "finaud_decision" : "NO", + "gpu" : 7, + "state" : "Alive", + "cluster" : "clustera", + "disktype" : "SATA", + "nodemodel" : "Dell PowerEdge T640", + "expiry_date" : 0, + "memcpu" : 65536, + "deploy" : "NO", + "memcore" : 8192, + "cpufreq" : "2.1", + "cputype" : "Intel Xeon Silver 4110", + "virtual" : "ivt", + "cpu" : 4, + "drain" : "NO", + "suspended_jobs" : "NO", + "disk_reservation_count" : 0, + "ib" : "NO", + "network_address" : "clustera-2.fakesite.grid5000.fr", + "state_num" : 1, + "max_walltime" : 86400, + "myri" : "NO", + "core" : 26, + "myri_count" : 0, + "ip" : "172.16.64.2", + "gpu_count" : 4, + "cluster_priority" : 201906, + "maintenance" : "NO", + "next_state" : "UnChanged", + "gpudevice" : 2, + "cpuarch" : "x86_64", + "host" : "clustera-2.fakesite.grid5000.fr", + "next_finaud_decision" : "NO", + "wattmeter" : "MULTIPLE", + "eth_count" : 1, + "switch" : "gw-fakesite", + "mic" : "NO", + "gpu_model" : "GeForce RTX 2080 Ti", + "ib_count" : 0 + }, + { + "opa_rate" : 0, + "memnode" : 131072, + "desktop_computing" : "NO", + "eth_rate" : 10, + "opa" : "NO", + "last_job_date" : 0, + "ib_rate" : 0, + "besteffort" : "YES", + "links" : [ + { + "rel" : "member", + "href" : "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "title" : "node" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/27" + }, + { + "href" : "//oarapi/resources/27/jobs", + "title" : "jobs", + "rel" : "collection" + } + ], + "cpuset" : 10, + "available_upto" : 2147483647, + "type" : "default", + "production" : "YES", + "opa_count" : 0, + "id" : 27, + "nodemodel" : "Dell PowerEdge T640", + "expiry_date" : 0, + "state" : "Alive", + "disktype" : "SATA", + "cluster" : "clustera", + "gpu" : 7, + "finaud_decision" : "NO", + "last_available_upto" : 0, + "cpucore" : 8, + "scheduler_priority" : 0, + "myri_rate" : 0, + "api_timestamp" : 1568902577, + "core" : 27, + "myri_count" : 0, + "ip" : "172.16.64.2", + "myri" : "NO", + "max_walltime" : 86400, + "network_address" : "clustera-2.fakesite.grid5000.fr", + "state_num" : 1, + "suspended_jobs" : "NO", + "ib" : "NO", + "disk_reservation_count" : 0, + "drain" : "NO", + "cputype" : "Intel Xeon Silver 4110", + "virtual" : "ivt", + "cpu" : 4, + "deploy" : "NO", + "memcore" : 8192, + "cpufreq" : "2.1", + "memcpu" : 65536, + "gpu_model" : "GeForce RTX 2080 Ti", + "ib_count" : 0, + "mic" : "NO", + "switch" : "gw-fakesite", + "eth_count" : 1, + "wattmeter" : "MULTIPLE", + "next_finaud_decision" : "NO", + "gpudevice" : 2, + "cpuarch" : "x86_64", + "host" : "clustera-2.fakesite.grid5000.fr", + "next_state" : "UnChanged", + "gpu_count" : 4, + "cluster_priority" : 201906, + "maintenance" : "NO" + }, + { + "next_state" : "UnChanged", + "maintenance" : "NO", + "cluster_priority" : 201906, + "gpu_count" : 4, + "next_finaud_decision" : "NO", + "wattmeter" : "MULTIPLE", + "cpuarch" : "x86_64", + "host" : "clustera-2.fakesite.grid5000.fr", + "gpudevice" : 2, + "switch" : "gw-fakesite", + "eth_count" : 1, + "ib_count" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "mic" : "NO", + "cpufreq" : "2.1", + "memcore" : 8192, + "deploy" : "NO", + "memcpu" : 65536, + "drain" : "NO", + "cpu" : 4, + "virtual" : "ivt", + "cputype" : "Intel Xeon Silver 4110", + "state_num" : 1, + "network_address" : "clustera-2.fakesite.grid5000.fr", + "disk_reservation_count" : 0, + "ib" : "NO", + "suspended_jobs" : "NO", + "core" : 28, + "myri_count" : 0, + "ip" : "172.16.64.2", + "max_walltime" : 86400, + "myri" : "NO", + "cpucore" : 8, + "scheduler_priority" : 0, + "api_timestamp" : 1568902577, + "myri_rate" : 0, + "finaud_decision" : "NO", + "last_available_upto" : 0, + "cluster" : "clustera", + "disktype" : "SATA", + "state" : "Alive", + "gpu" : 7, + "expiry_date" : 0, + "nodemodel" : "Dell PowerEdge T640", + "production" : "YES", + "type" : "default", + "opa_count" : 0, + "id" : 28, + "besteffort" : "YES", + "ib_rate" : 0, + "available_upto" : 2147483647, + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "href" : "//oarapi/resources/28", + "rel" : "self" + }, + { + "rel" : "collection", + "href" : "//oarapi/resources/28/jobs", + "title" : "jobs" + } + ], + "cpuset" : 11, + "eth_rate" : 10, + "opa" : "NO", + "last_job_date" : 0, + "opa_rate" : 0, + "desktop_computing" : "NO", + "memnode" : 131072 + }, + { + "drain" : "NO", + "cpu" : 4, + "virtual" : "ivt", + "cputype" : "Intel Xeon Silver 4110", + "memcore" : 8192, + "cpufreq" : "2.1", + "deploy" : "NO", + "memcpu" : 65536, + "core" : 29, + "myri_count" : 0, + "ip" : "172.16.64.2", + "myri" : "NO", + "max_walltime" : 86400, + "state_num" : 1, + "network_address" : "clustera-2.fakesite.grid5000.fr", + "disk_reservation_count" : 0, + "ib" : "NO", + "suspended_jobs" : "NO", + "wattmeter" : "MULTIPLE", + "next_finaud_decision" : "NO", + "host" : "clustera-2.fakesite.grid5000.fr", + "cpuarch" : "x86_64", + "gpudevice" : 3, + "next_state" : "UnChanged", + "maintenance" : "NO", + "cluster_priority" : 201906, + "gpu_count" : 4, + "ib_count" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "mic" : "NO", + "switch" : "gw-fakesite", + "eth_count" : 1, + "besteffort" : "YES", + "ib_rate" : 0, + "available_upto" : 2147483647, + "links" : [ + { + "rel" : "member", + "href" : "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "title" : "node" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/29" + }, + { + "rel" : "collection", + "href" : "//oarapi/resources/29/jobs", + "title" : "jobs" + } + ], + "cpuset" : 12, + "production" : "YES", + "type" : "default", + "id" : 29, + "opa_count" : 0, + "opa_rate" : 0, + "desktop_computing" : "NO", + "memnode" : 131072, + "eth_rate" : 10, + "opa" : "NO", + "last_job_date" : 0, + "finaud_decision" : "NO", + "last_available_upto" : 0, + "cpucore" : 8, + "scheduler_priority" : 0, + "api_timestamp" : 1568902577, + "myri_rate" : 0, + "nodemodel" : "Dell PowerEdge T640", + "expiry_date" : 0, + "disktype" : "SATA", + "cluster" : "clustera", + "state" : "Alive", + "gpu" : 8 + }, + { + "gpu" : 8, + "state" : "Alive", + "cluster" : "clustera", + "disktype" : "SATA", + "expiry_date" : 0, + "nodemodel" : "Dell PowerEdge T640", + "myri_rate" : 0, + "api_timestamp" : 1568902577, + "cpucore" : 8, + "scheduler_priority" : 0, + "last_available_upto" : 0, + "finaud_decision" : "NO", + "last_job_date" : 0, + "opa" : "NO", + "eth_rate" : 10, + "memnode" : 131072, + "desktop_computing" : "NO", + "opa_rate" : 0, + "id" : 30, + "opa_count" : 0, + "type" : "default", + "production" : "YES", + "links" : [ + { + "title" : "node", + "href" : "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel" : "member" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/30" + }, + { + "title" : "jobs", + "href" : "//oarapi/resources/30/jobs", + "rel" : "collection" + } + ], + "cpuset" : 13, + "available_upto" : 2147483647, + "ib_rate" : 0, + "besteffort" : "YES", + "eth_count" : 1, + "switch" : "gw-fakesite", + "mic" : "NO", + "gpu_model" : "GeForce RTX 2080 Ti", + "ib_count" : 0, + "gpu_count" : 4, + "cluster_priority" : 201906, + "maintenance" : "NO", + "next_state" : "UnChanged", + "gpudevice" : 3, + "cpuarch" : "x86_64", + "host" : "clustera-2.fakesite.grid5000.fr", + "wattmeter" : "MULTIPLE", + "next_finaud_decision" : "NO", + "suspended_jobs" : "NO", + "ib" : "NO", + "disk_reservation_count" : 0, + "network_address" : "clustera-2.fakesite.grid5000.fr", + "state_num" : 1, + "max_walltime" : 86400, + "myri" : "NO", + "myri_count" : 0, + "core" : 30, + "ip" : "172.16.64.2", + "memcpu" : 65536, + "deploy" : "NO", + "memcore" : 8192, + "cpufreq" : "2.1", + "cputype" : "Intel Xeon Silver 4110", + "virtual" : "ivt", + "cpu" : 4, + "drain" : "NO" + }, + { + "drain" : "NO", + "cputype" : "Intel Xeon Silver 4110", + "virtual" : "ivt", + "cpu" : 4, + "deploy" : "NO", + "cpufreq" : "2.1", + "memcore" : 8192, + "memcpu" : 65536, + "myri_count" : 0, + "ip" : "172.16.64.2", + "core" : 31, + "max_walltime" : 86400, + "myri" : "NO", + "state_num" : 1, + "network_address" : "clustera-2.fakesite.grid5000.fr", + "suspended_jobs" : "NO", + "disk_reservation_count" : 0, + "ib" : "NO", + "next_finaud_decision" : "NO", + "wattmeter" : "MULTIPLE", + "gpudevice" : 3, + "host" : "clustera-2.fakesite.grid5000.fr", + "cpuarch" : "x86_64", + "next_state" : "UnChanged", + "gpu_count" : 4, + "cluster_priority" : 201906, + "maintenance" : "NO", + "gpu_model" : "GeForce RTX 2080 Ti", + "ib_count" : 0, + "mic" : "NO", + "switch" : "gw-fakesite", + "eth_count" : 1, + "ib_rate" : 0, + "besteffort" : "YES", + "cpuset" : 14, + "links" : [ + { + "title" : "node", + "href" : "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel" : "member" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/31" + }, + { + "href" : "//oarapi/resources/31/jobs", + "title" : "jobs", + "rel" : "collection" + } + ], + "available_upto" : 2147483647, + "type" : "default", + "production" : "YES", + "opa_count" : 0, + "id" : 31, + "opa_rate" : 0, + "memnode" : 131072, + "desktop_computing" : "NO", + "eth_rate" : 10, + "opa" : "NO", + "last_job_date" : 0, + "finaud_decision" : "NO", + "last_available_upto" : 0, + "cpucore" : 8, + "scheduler_priority" : 0, + "myri_rate" : 0, + "api_timestamp" : 1568902577, + "expiry_date" : 0, + "nodemodel" : "Dell PowerEdge T640", + "state" : "Alive", + "cluster" : "clustera", + "disktype" : "SATA", + "gpu" : 8 + }, + { + "switch" : "gw-fakesite", + "eth_count" : 1, + "ib_count" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "mic" : "NO", + "next_state" : "UnChanged", + "maintenance" : "NO", + "cluster_priority" : 201906, + "gpu_count" : 4, + "wattmeter" : "MULTIPLE", + "next_finaud_decision" : "NO", + "cpuarch" : "x86_64", + "host" : "clustera-2.fakesite.grid5000.fr", + "gpudevice" : 3, + "network_address" : "clustera-2.fakesite.grid5000.fr", + "state_num" : 1, + "ib" : "NO", + "disk_reservation_count" : 0, + "suspended_jobs" : "NO", + "myri_count" : 0, + "core" : 32, + "ip" : "172.16.64.2", + "max_walltime" : 86400, + "myri" : "NO", + "cpufreq" : "2.1", + "memcore" : 8192, + "deploy" : "NO", + "memcpu" : 65536, + "drain" : "NO", + "cpu" : 4, + "virtual" : "ivt", + "cputype" : "Intel Xeon Silver 4110", + "cluster" : "clustera", + "disktype" : "SATA", + "state" : "Alive", + "gpu" : 8, + "nodemodel" : "Dell PowerEdge T640", + "expiry_date" : 0, + "scheduler_priority" : 0, + "cpucore" : 8, + "api_timestamp" : 1568902577, + "myri_rate" : 0, + "finaud_decision" : "NO", + "last_available_upto" : 0, + "opa" : "NO", + "eth_rate" : 10, + "last_job_date" : 0, + "opa_rate" : 0, + "desktop_computing" : "NO", + "memnode" : 131072, + "production" : "YES", + "type" : "default", + "opa_count" : 0, + "id" : 32, + "besteffort" : "YES", + "ib_rate" : 0, + "available_upto" : 2147483647, + "cpuset" : 15, + "links" : [ + { + "rel" : "member", + "href" : "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "title" : "node" + }, + { + "href" : "//oarapi/resources/32", + "rel" : "self" + }, + { + "rel" : "collection", + "href" : "//oarapi/resources/32/jobs", + "title" : "jobs" + } + ] + } + ], + "total" : 32, + "links" : [ + { + "href" : "//oarapi/resources/details.json?limit=999999&offset=0", + "rel" : "self" + } + ] +} + diff --git a/tests/stub_oar_properties/dump_oar_api_empty_server.json b/tests/stub_oar_properties/dump_oar_api_empty_server.json new file mode 100644 index 00000000000..315507912cc --- /dev/null +++ b/tests/stub_oar_properties/dump_oar_api_empty_server.json @@ -0,0 +1,7 @@ +{ + "links" : [], + "total" : 0, + "items" : [], + "offset" : 0 +} + diff --git a/tests/stub_oar_properties/load_data_hierarchy_stubbed_data.json b/tests/stub_oar_properties/load_data_hierarchy_stubbed_data.json new file mode 100644 index 00000000000..ecfee859326 --- /dev/null +++ b/tests/stub_oar_properties/load_data_hierarchy_stubbed_data.json @@ -0,0 +1 @@ +{"sites":{"fakesite":{"clusters":{"clustera":{"nodes":{"clustera-1":{"architecture":{"nb_cores":16,"nb_procs":2,"nb_threads":32,"platform_type":"x86_64"},"bios":{"release_date":"06/14/2019","vendor":"Dell Inc.","version":"2.2.11"},"chassis":{"manufacturer":"Dell Inc.","name":"PowerEdge T640","serial":"FL1CBX2"},"cpuset_mapping":"continuous","gpu":{"gpu":true,"gpu_cores":17408,"gpu_count":4,"gpu_model":"RTX 2080 Ti","gpu_vendor":"Nvidia"},"gpu_devices":{"nvidia0":{"cpu_affinity":0,"device":"/dev/nvidia0","memory":10989000000,"model":"GeForce RTX 2080 Ti","power_default_limit":"250.00 W","vbios_version":"90.02.17.00.B2","vendor":"Nvidia"},"nvidia1":{"cpu_affinity":0,"device":"/dev/nvidia1","memory":10989000000,"model":"GeForce RTX 2080 Ti","power_default_limit":"250.00 W","vbios_version":"90.02.17.00.B2","vendor":"Nvidia"},"nvidia2":{"cpu_affinity":1,"device":"/dev/nvidia2","memory":10989000000,"model":"GeForce RTX 2080 Ti","power_default_limit":"250.00 W","vbios_version":"90.02.0B.40.09","vendor":"Nvidia"},"nvidia3":{"cpu_affinity":1,"device":"/dev/nvidia3","memory":10989000000,"model":"GeForce RTX 2080 Ti","power_default_limit":"250.00 W","vbios_version":"90.02.17.00.B2","vendor":"Nvidia"}},"main_memory":{"ram_size":137438953472},"monitoring":{"wattmeter":"multiple"},"network_adapters":[{"bridged":false,"device":"eth0","driver":"bnxt_en","enabled":false,"firmware_version":"214.0.173/1.9.2 pkg 21.40.20.0","interface":"Ethernet","mac":"f4:02:70:9a:3f:64","management":false,"model":"BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller","mountable":false,"mounted":false,"name":"eno1","vendor":"Broadcom"},{"bridged":false,"device":"eth1","driver":"bnxt_en","enabled":false,"firmware_version":"214.0.173/1.9.2 pkg 21.40.20.0","interface":"Ethernet","mac":"f4:02:70:9a:3f:65","management":false,"model":"BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller","mountable":false,"mounted":false,"name":"eno2d1","vendor":"Broadcom"},{"bridged":true,"device":"eth2","driver":"i40e","enabled":true,"firmware_version":"6.80 0x80003d72 18.8.9","interface":"Ethernet","ip":"172.16.64.1","mac":"f8:f2:1e:60:41:20","management":false,"model":"Ethernet Controller X710 for 10GbE SFP+","mountable":true,"mounted":true,"name":"enp137s0f0","network_address":"clustera-1.fakesite.grid5000.fr","rate":10000000000,"switch":"gw-fakesite","switch_port":"Ethernet6/39","vendor":"Intel"},{"bridged":false,"device":"eth3","driver":"i40e","enabled":false,"firmware_version":"6.80 0x80003d72 18.8.9","interface":"Ethernet","mac":"f8:f2:1e:60:41:21","management":false,"model":"Ethernet Controller X710 for 10GbE SFP+","mountable":false,"mounted":false,"name":"enp137s0f1","vendor":"Intel"},{"device":"bmc","enabled":true,"interface":"Ethernet","ip":"172.17.64.1","mac":"f4:02:70:9a:3f:74","management":true,"mountable":false,"mounted":false,"network_address":"clustera-1-bmc.fakesite.grid5000.fr"}],"operating_system":{"cstate_driver":"intel_idle","cstate_governor":"menu","ht_enabled":true,"pstate_driver":"intel_pstate","pstate_governor":"performance","turboboost_enabled":true},"performance":{"core_flops":17713000000,"node_flops":202670000000},"processor":{"cache_l1":null,"cache_l1d":32768,"cache_l1i":32768,"cache_l2":1048576,"cache_l3":11534336,"clock_speed":2100000000,"ht_capable":true,"instruction_set":"x86-64","microarchitecture":"Skylake","model":"Intel Xeon","other_description":"Intel(R) Xeon(R) Silver 4110 CPU @ 2.10GHz","vendor":"Intel","version":"Silver 4110"},"sensors":{"power":{"available":true,"via":{"api":{"metric":"power"},"pdu":[{"port":1,"uid":"clustera-pdu1"},{"port":1,"uid":"clustera-pdu2"}]}}},"storage_devices":[{"by_id":"/dev/disk/by-id/wwn-0x6f402700aefea00024afe4c307e10af8","by_path":"/dev/disk/by-path/pci-0000:19:00.0-scsi-0:2:0:0","device":"sda","driver":"megaraid_sas","firmware_version":4.29,"interface":"SATA","model":"PERC H330 Adp","size":479559942144,"storage":"SSD","vendor":"Dell (Raid)"}],"supported_job_types":{"besteffort":true,"deploy":true,"max_walltime":86400,"queues":["admin","production"],"virtual":"ivt"},"type":"node","uid":"clustera-1"},"clustera-2":{"architecture":{"nb_cores":16,"nb_procs":2,"nb_threads":32,"platform_type":"x86_64"},"bios":{"release_date":"06/14/2019","vendor":"Dell Inc.","version":"2.2.11"},"chassis":{"manufacturer":"Dell Inc.","name":"PowerEdge T640","serial":"9L1CBX2"},"cpuset_mapping":"continuous","gpu":{"gpu":true,"gpu_cores":17408,"gpu_count":4,"gpu_model":"RTX 2080 Ti","gpu_vendor":"Nvidia"},"gpu_devices":{"nvidia0":{"cpu_affinity":0,"device":"/dev/nvidia0","memory":10989000000,"model":"GeForce RTX 2080 Ti","power_default_limit":"250.00 W","vbios_version":"90.02.17.00.B2","vendor":"Nvidia"},"nvidia1":{"cpu_affinity":0,"device":"/dev/nvidia1","memory":10989000000,"model":"GeForce RTX 2080 Ti","power_default_limit":"250.00 W","vbios_version":"90.02.0B.40.09","vendor":"Nvidia"},"nvidia2":{"cpu_affinity":1,"device":"/dev/nvidia2","memory":10989000000,"model":"GeForce RTX 2080 Ti","power_default_limit":"250.00 W","vbios_version":"90.02.0B.40.09","vendor":"Nvidia"},"nvidia3":{"cpu_affinity":1,"device":"/dev/nvidia3","memory":10989000000,"model":"GeForce RTX 2080 Ti","power_default_limit":"250.00 W","vbios_version":"90.02.17.00.AC","vendor":"Nvidia"}},"main_memory":{"ram_size":137438953472},"monitoring":{"wattmeter":"multiple"},"network_adapters":[{"bridged":false,"device":"eth0","driver":"bnxt_en","enabled":false,"firmware_version":"214.0.173/1.9.2 pkg 21.40.20.0","interface":"Ethernet","mac":"f4:02:70:9a:48:d8","management":false,"model":"BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller","mountable":false,"mounted":false,"name":"eno1","vendor":"Broadcom"},{"bridged":false,"device":"eth1","driver":"bnxt_en","enabled":false,"firmware_version":"214.0.173/1.9.2 pkg 21.40.20.0","interface":"Ethernet","mac":"f4:02:70:9a:48:d9","management":false,"model":"BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller","mountable":false,"mounted":false,"name":"eno2d1","vendor":"Broadcom"},{"bridged":true,"device":"eth2","driver":"i40e","enabled":true,"firmware_version":"6.80 0x80003d72 18.8.9","interface":"Ethernet","ip":"172.16.64.2","mac":"f8:f2:1e:60:3f:a0","management":false,"model":"Ethernet Controller X710 for 10GbE SFP+","mountable":true,"mounted":true,"name":"enp137s0f0","network_address":"clustera-2.fakesite.grid5000.fr","rate":10000000000,"switch":"gw-fakesite","switch_port":"Ethernet6/40","vendor":"Intel"},{"bridged":false,"device":"eth3","driver":"i40e","enabled":false,"firmware_version":"6.80 0x80003d72 18.8.9","interface":"Ethernet","mac":"f8:f2:1e:60:3f:a1","management":false,"model":"Ethernet Controller X710 for 10GbE SFP+","mountable":false,"mounted":false,"name":"enp137s0f1","vendor":"Intel"},{"device":"bmc","enabled":true,"interface":"Ethernet","ip":"172.17.64.2","mac":"f4:02:70:9a:48:e8","management":true,"mountable":false,"mounted":false,"network_address":"clustera-2-bmc.fakesite.grid5000.fr"}],"operating_system":{"cstate_driver":"intel_idle","cstate_governor":"menu","ht_enabled":true,"pstate_driver":"intel_pstate","pstate_governor":"performance","turboboost_enabled":true},"performance":{"core_flops":17713000000,"node_flops":202670000000},"processor":{"cache_l1":null,"cache_l1d":32768,"cache_l1i":32768,"cache_l2":1048576,"cache_l3":11534336,"clock_speed":2100000000,"ht_capable":true,"instruction_set":"x86-64","microarchitecture":"Skylake","model":"Intel Xeon","other_description":"Intel(R) Xeon(R) Silver 4110 CPU @ 2.10GHz","vendor":"Intel","version":"Silver 4110"},"sensors":{"power":{"available":true,"via":{"api":{"metric":"power"},"pdu":[{"port":6,"uid":"clustera-pdu1"},{"port":6,"uid":"clustera-pdu2"}]}}},"storage_devices":[{"by_id":"/dev/disk/by-id/wwn-0x6f402700aeff430024929b4003cd51d0","by_path":"/dev/disk/by-path/pci-0000:19:00.0-scsi-0:2:0:0","device":"sda","driver":"megaraid_sas","firmware_version":4.29,"interface":"SATA","model":"PERC H330 Adp","size":479559942144,"storage":"SSD","vendor":"Dell (Raid)"}],"supported_job_types":{"besteffort":true,"deploy":true,"max_walltime":86400,"queues":["admin","production"],"virtual":"ivt"},"type":"node","uid":"clustera-2"}},"created_at":"Fri, 07 Jun 2019 00:00:00 GMT","kavlan":false,"model":"Dell PowerEdge T640","queues":["admin","production"],"type":"cluster","uid":"clustera"}},"network_equipments":{"gw-fakesite":{"backplane_bps":1280000000000,"kind":"router","linecards":[{},{},{},{},{},{},{"backplane_bps":1280000000000,"kavlan_pattern":"Ethernet%LINECARD%/%PORT%","kind":"node","model":"N9K-X9464PX","ports":[{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{"kind":"node","port":"eth2","uid":"clustera-1"},{"kind":"node","port":"eth2","uid":"clustera-2"}],"rate":10000000000,"snmp_pattern":"Ethernet%LINECARD%/%PORT%"}],"model":"Cisco Nexus 9508","monitoring":{"metric":"power","wattmeter":"multiple"},"sensors":{"network":{"available":true,"resolution":10},"power":{"available":true,"resolution":1,"via":{"pdu":[{"port":8,"uid":"graoully-pdu1"},{"port":8,"uid":"graoully-pdu2"},{"port":8,"uid":"grimoire-pdu1"},{"port":8,"uid":"grimoire-pdu2"}]}}},"site":"fakesite","snmp_community":"public","type":"network_equipment","uid":"gw-fakesite","vlans":{"vlan100":{"addresses":["172.16.79.254"],"administrative":true},"vlan101":{"addresses":["172.17.79.254"]},"vlan500":{"addresses":["192.168.4.14"]},"vlan701":{"addresses":["192.168.192.0/20"],"name":"kavlan-1"},"vlan702":{"addresses":["192.168.208.0/20"],"name":"kavlan-2"},"vlan703":{"addresses":["192.168.224.0/20"],"name":"kavlan-3"},"vlan704":{"addresses":["10.16.0.0/18"],"name":"kavlan-4"},"vlan705":{"addresses":["10.16.64.0/18"],"name":"kavlan-5"},"vlan706":{"addresses":["10.16.128.0/18"],"name":"kavlan-6"},"vlan707":{"addresses":["10.16.192.0/18"],"name":"kavlan-7"},"vlan708":{"addresses":["10.17.0.0/18"],"name":"kavlan-8"},"vlan709":{"addresses":["10.17.64.0/18"],"name":"kavlan-9"},"vlan714":{"addresses":["10.19.192.0/18"],"name":"kavlan-14"}},"warranty":"2020-09-01","weathermap":{}}},"pdus":{"clustera-pdu1":{"ip":"172.17.79.226","mac":"28:29:86:0B:3B:06","model":"AP8653","ports":{"1":"clustera-1","6":"clustera-2"},"sensors":[{"power":{"per_outlets":true,"resolution":1,"snmp":{"available":true,"outlet_prefix_oid":"iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7","total_oids":["iso.3.6.1.4.1.318.1.1.12.1.16.0"],"unit":"W"}}}],"type":"pdu","uid":"clustera-pdu1","vendor":"APC"},"clustera-pdu3":{"ip":"172.17.79.231","mac":"28:29:86:12:27:FF","model":"AP8653","ports":{},"sensors":[{"power":{"per_outlets":true,"resolution":1,"snmp":{"available":true,"outlet_prefix_oid":"iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7","total_oids":["iso.3.6.1.4.1.318.1.1.12.1.16.0"],"unit":"W"}}}],"type":"pdu","uid":"clustera-pdu3","vendor":"APC"},"clustera-pdu2":{"ip":"172.17.79.227","mac":"28:29:86:10:0E:8C","model":"AP8653","ports":{"1":"clustera-1","6":"clustera-2"},"sensors":[{"power":{"per_outlets":true,"resolution":1,"snmp":{"available":true,"outlet_prefix_oid":"iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7","total_oids":["iso.3.6.1.4.1.318.1.1.12.1.16.0"],"unit":"W"}}}],"type":"pdu","uid":"clustera-pdu2","vendor":"APC"},"clustera-pdu4":{"ip":"172.17.79.232","mac":"28:29:86:10:0E:B4","model":"AP8653","ports":{},"sensors":[{"power":{"per_outlets":true,"resolution":1,"snmp":{"available":true,"outlet_prefix_oid":"iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7","total_oids":["iso.3.6.1.4.1.318.1.1.12.1.16.0"],"unit":"W"}}}],"type":"pdu","uid":"clustera-pdu4","vendor":"APC"}},"compilation_server":false,"description":"Grid5000 Fakesite site","email_contact":"support-staff@lists.grid5000.fr","frontend_ip":"172.16.79.101","g5ksubnet":{"gateway":"10.147.255.254","network":"10.144.0.0/14"},"latitude":48.7,"location":"Fakesite, France","longitude":6.2,"name":"Fakesite","production":true,"renater_ip":"192.168.4.14","security_contact":"support-staff@lists.grid5000.fr","storage5k":false,"sys_admin_contact":"support-staff@lists.grid5000.fr","type":"site","uid":"fakesite","user_support_contact":"support-staff@lists.grid5000.fr","virt_ip_range":"10.144.0.0/14","web":"http://www.grid5000.fr/mediawiki/index.php/Fakesite:Home"}},"network_equipments":{"renater-lyon":{"kind":"virtual","linecards":[{"ports":[{"uid":"renater-paris"},{"uid":"renater-sophia"},{"uid":"renater-grenoble"},{"uid":"renater-nantes"},{"kind":"router","site_uid":"lyon","uid":"gw-lyon"}],"rate":10000000000}],"type":"network_equipment","uid":"renater-lyon","weathermap":{}},"renater-grenoble":{"kind":"virtual","linecards":[{"ports":[{"uid":"renater-lyon"},{"kind":"router","site_uid":"grenoble","uid":"gw-grenoble"}],"rate":10000000000}],"type":"network_equipment","uid":"renater-grenoble","weathermap":{}},"renater-nancy":{"kind":"virtual","linecards":[{"ports":[{"uid":"renater-luxembourg"},{"uid":"renater-paris"},{"kind":"router","site_uid":"nancy","uid":"gw-nancy"}],"rate":10000000000}],"type":"network_equipment","uid":"renater-nancy","weathermap":{}},"renater-luxembourg":{"kind":"virtual","linecards":[{"ports":[{"uid":"renater-nancy"},{"kind":"router","site_uid":"luxembourg","uid":"gw-luxembourg"}],"rate":10000000000}],"type":"network_equipment","uid":"renater-luxembourg","weathermap":{}},"renater-sophia":{"kind":"virtual","linecards":[{"ports":[{"uid":"renater-lyon"},{"kind":"router","site_uid":"sophia","uid":"gw-sophia"}],"rate":10000000000}],"type":"network_equipment","uid":"renater-sophia","weathermap":{}},"renater-paris":{"kind":"virtual","linecards":[{"ports":[{"uid":"renater-lille"},{"uid":"renater-lyon"},{"uid":"renater-nancy"}],"rate":10000000000}],"type":"network_equipment","uid":"renater-paris","weathermap":{}},"renater-rennes":{"kind":"virtual","linecards":[{"ports":[{"uid":"renater-nantes"},{"kind":"router","site_uid":"rennes","uid":"gw-rennes"}],"rate":10000000000}],"type":"network_equipment","uid":"renater-rennes","weathermap":{}},"renater-nantes":{"kind":"virtual","linecards":[{"ports":[{"uid":"renater-lyon"},{"uid":"renater-rennes"},{"kind":"router","site_uid":"nantes","uid":"gw-nantes"}],"rate":10000000000}],"type":"network_equipment","uid":"renater-nantes","weathermap":{}},"renater-lille":{"kind":"virtual","linecards":[{"ports":[{"uid":"renater-paris"},{"kind":"router","site_uid":"lille","uid":"gw-lille"}],"rate":10000000000}],"type":"network_equipment","uid":"renater-lille","weathermap":{}}},"type":"grid","uid":"grid5000"} -- GitLab From f05516522d983eea9a243edda867f7420bb7c320 Mon Sep 17 00:00:00 2001 From: Lucas Nussbaum <lucas.nussbaum@loria.fr> Date: Sun, 22 Sep 2019 18:12:19 +0200 Subject: [PATCH 02/57] Add support for running tests from anywhere, not just tests/ --- tests/oar_properties_spec.rb | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tests/oar_properties_spec.rb b/tests/oar_properties_spec.rb index 776dd10cb1a..ad1bffd5317 100644 --- a/tests/oar_properties_spec.rb +++ b/tests/oar_properties_spec.rb @@ -5,15 +5,17 @@ $LOAD_PATH.unshift(File.expand_path(File.join(File.dirname(__FILE__), '../lib')) require 'refrepo' require 'refrepo/gen/oar-properties' +STUBDIR = File.expand_path(File.dirname(__FILE__)) + WebMock.disable_net_connect!(allow_localhost: true) conf = RefRepo::Utils.get_api_config def load_stub_file_content(stub_filename) - if not File.exist?("stub_oar_properties/#{stub_filename}") - raise("Cannot find #{stub_filename} in 'stub_oar_properties/'") + if not File.exist?("#{STUBDIR}/stub_oar_properties/#{stub_filename}") + raise("Cannot find #{stub_filename} in '#{STUBDIR}/stub_oar_properties/'") end - file = File.open("stub_oar_properties/#{stub_filename}", "r") + file = File.open("#{STUBDIR}/stub_oar_properties/#{stub_filename}", "r") lines = IO.read(file) file.close() return lines -- GitLab From eab62e5a97f3aa1827fb5078e63a76908c2e51bc Mon Sep 17 00:00:00 2001 From: Lucas Nussbaum <lucas.nussbaum@loria.fr> Date: Sun, 22 Sep 2019 18:13:11 +0200 Subject: [PATCH 03/57] Add a spec_helper file that loads simplecov to output a coverage report --- .gitignore | 1 + Gemfile | 3 ++- Gemfile.lock | 7 +++++++ tests/oar_properties_spec.rb | 2 ++ tests/spec_helper.rb | 9 +++++++++ 5 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 tests/spec_helper.rb diff --git a/.gitignore b/.gitignore index 288e369e8c2..2d1063449ad 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ bundle .bundle vendor /tmp +coverage diff --git a/Gemfile b/Gemfile index c6da111ccad..5487076341c 100644 --- a/Gemfile +++ b/Gemfile @@ -10,4 +10,5 @@ gem "ruby-cute", :require => "cute" gem "peach" gem "restfully" gem "rspec" -gem "webmock" \ No newline at end of file +gem "webmock" +gem "simplecov" diff --git a/Gemfile.lock b/Gemfile.lock index f821a002ad9..b92256af24d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -10,6 +10,7 @@ GEM diff-lcs (1.3) diffy (3.3.0) dns-zone (0.3.1) + docile (1.3.2) domain_name (0.5.20190701) unf (>= 0.0.5, < 1.0.0) faraday (0.15.4) @@ -93,6 +94,11 @@ GEM net-ssh-multi (>= 1.2) rest-client (>= 1.6) safe_yaml (1.0.5) + simplecov (0.17.1) + docile (~> 1.1) + json (>= 1.8, < 3) + simplecov-html (~> 0.10.0) + simplecov-html (0.10.2) unf (0.1.4) unf_ext unf_ext (0.0.7.6) @@ -115,4 +121,5 @@ DEPENDENCIES restfully rspec ruby-cute + simplecov webmock diff --git a/tests/oar_properties_spec.rb b/tests/oar_properties_spec.rb index ad1bffd5317..0039cb79a1f 100644 --- a/tests/oar_properties_spec.rb +++ b/tests/oar_properties_spec.rb @@ -1,3 +1,5 @@ +$LOAD_PATH.unshift(File.expand_path(File.dirname(__FILE__))) +require 'spec_helper' require 'rspec' require 'webmock/rspec' diff --git a/tests/spec_helper.rb b/tests/spec_helper.rb new file mode 100644 index 00000000000..f0876afe762 --- /dev/null +++ b/tests/spec_helper.rb @@ -0,0 +1,9 @@ +require 'simplecov' + +SimpleCov.start do + add_filter '/tests/' + add_filter '/bundle/' +end +# This outputs the report to your public folder +# You will want to add this to .gitignore +SimpleCov.coverage_dir 'coverage' -- GitLab From 517ccd7f66b8d9dc80c63a89d7b198673d207337 Mon Sep 17 00:00:00 2001 From: Jonathan Pastor <jonathancmoa@gmail.com> Date: Thu, 26 Sep 2019 14:30:37 +0200 Subject: [PATCH 04/57] implement a spec test that tests the oar property generator on a fake cluster with disks --- tests/oar_properties_spec.rb | 509 +- .../dump_oar_api_configured_server.json | 4886 ++++++++--------- ...p_oar_api_configured_server_with_disk.json | 2978 ++++++++++ .../dump_oar_api_empty_server.json | 8 +- .../load_data_hierarchy_stubbed_data.json | 816 ++- ...data_hierarchy_stubbed_data_with_disk.json | 1527 ++++++ 6 files changed, 8275 insertions(+), 2449 deletions(-) create mode 100644 tests/stub_oar_properties/dump_oar_api_configured_server_with_disk.json create mode 100644 tests/stub_oar_properties/load_data_hierarchy_stubbed_data_with_disk.json diff --git a/tests/oar_properties_spec.rb b/tests/oar_properties_spec.rb index 0039cb79a1f..bd766e41b25 100644 --- a/tests/oar_properties_spec.rb +++ b/tests/oar_properties_spec.rb @@ -451,4 +451,511 @@ TXT expect(generator_output[:stdout]).to include(expected_clustera2_diff) end end -end \ No newline at end of file + + context 'interracting with an empty OAR server (cluster with disk)' do + before do + stubbed_api_response = load_stub_file_content("dump_oar_api_empty_server.json") + stubbed_addresses.each do |stubbed_address| + stub_request(:get, stubbed_address). + with( + headers: { + 'Accept'=>'*/*', + }). + to_return(status: 200, body: stubbed_api_response, headers: {}) + end + + # Overload the 'load_data_hierarchy' to simulate the addition of a fake site in the input files + def load_data_hierarchy + json_str = load_stub_file_content("load_data_hierarchy_stubbed_data_with_disk.json") + return JSON.parse(json_str) + end + end + + it 'should generate correctly a table of nodes' do + + uri = URI(conf["uri"]) + + response = Net::HTTP.get(uri) + + expect(response).to be_an_instance_of(String) + + options = { + :table => true, + :print => false, + :update => false, + :diff => false, + :site => "fakesite", + :clusters => ["clusterb"] + } + + expected_header = <<-TXT ++---------- + -------------------- + ----- + ----- + -------- + ---- + -------------------- + ------------------------------ + ------------------------------+ +| cluster | host | cpu | core | cpuset | gpu | gpudevice | cpumodel | gpumodel | ++---------- + -------------------- + ----- + ----- + -------- + ---- + -------------------- + ------------------------------ + ------------------------------+ + TXT + + expected_clusterb1_desc = <<-TXT +| clusterb | clusterb-1 | 1 | 1 | 0 | 1 | 0 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clusterb | clusterb-1 | 1 | 2 | 1 | 1 | 0 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clusterb | clusterb-1 | 1 | 3 | 2 | 1 | 0 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clusterb | clusterb-1 | 1 | 4 | 3 | 1 | 0 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clusterb | clusterb-1 | 1 | 5 | 4 | 2 | 1 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clusterb | clusterb-1 | 1 | 6 | 5 | 2 | 1 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clusterb | clusterb-1 | 1 | 7 | 6 | 2 | 1 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | + TXT + + expected_clusterb2_desc = <<-TXT +| clusterb | clusterb-2 | 3 | 17 | 0 | 5 | 0 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clusterb | clusterb-2 | 3 | 18 | 1 | 5 | 0 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clusterb | clusterb-2 | 3 | 19 | 2 | 5 | 0 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clusterb | clusterb-2 | 3 | 20 | 3 | 5 | 0 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clusterb | clusterb-2 | 3 | 21 | 4 | 6 | 1 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clusterb | clusterb-2 | 3 | 22 | 5 | 6 | 1 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clusterb | clusterb-2 | 3 | 23 | 6 | 6 | 1 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | + TXT + + generator_output = capture do + generate_oar_properties(options) + end + + expect(generator_output[:stdout]).to include(expected_header) + expect(generator_output[:stdout]).to include(expected_clusterb1_desc) + expect(generator_output[:stdout]).to include(expected_clusterb2_desc) + end + + it 'should generate correctly all the commands to update OAR' do + + uri = URI(conf["uri"]) + + response = Net::HTTP.get(uri) + + expect(response).to be_an_instance_of(String) + + options = { + :table => false, + :print => true, + :update => false, + :diff => false, + :site => "fakesite", + :clusters => ["clusterb"] + } + + expected_header = <<-TXT +############################################# +# Create OAR properties that were created by 'oar_resources_add' +############################################# +property_exist 'host' || oarproperty -a host --varchar +property_exist 'cpu' || oarproperty -a cpu +property_exist 'core' || oarproperty -a core +property_exist 'gpudevice' || oarproperty -a gpudevice +property_exist 'gpu' || oarproperty -a gpu +property_exist 'gpu_model' || oarproperty -a gpu_model --varchar +TXT + + expected_clusterb1_cmds = <<-TXT +################################### +# clusterb-1.fakesite.grid5000.fr +################################### +oarnodesetting -a -h 'clusterb-1.fakesite.grid5000.fr' -p host='clusterb-1.fakesite.grid5000.fr' -p cpu=1 -p core=1 -p cpuset=0 -p gpu=1 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0 +oarnodesetting -a -h 'clusterb-1.fakesite.grid5000.fr' -p host='clusterb-1.fakesite.grid5000.fr' -p cpu=1 -p core=2 -p cpuset=1 -p gpu=1 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0 +oarnodesetting -a -h 'clusterb-1.fakesite.grid5000.fr' -p host='clusterb-1.fakesite.grid5000.fr' -p cpu=1 -p core=3 -p cpuset=2 -p gpu=1 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0 +oarnodesetting -a -h 'clusterb-1.fakesite.grid5000.fr' -p host='clusterb-1.fakesite.grid5000.fr' -p cpu=1 -p core=4 -p cpuset=3 -p gpu=1 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0 +TXT + + expected_clusterb2_cmds = <<-TXT +oarnodesetting -a -h 'clusterb-2.fakesite.grid5000.fr' -p host='clusterb-2.fakesite.grid5000.fr' -p cpu=4 -p core=25 -p cpuset=8 -p gpu=7 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=2 # This GPU is mapped on /dev/nvidia2 +oarnodesetting -a -h 'clusterb-2.fakesite.grid5000.fr' -p host='clusterb-2.fakesite.grid5000.fr' -p cpu=4 -p core=26 -p cpuset=9 -p gpu=7 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=2 # This GPU is mapped on /dev/nvidia2 +oarnodesetting -a -h 'clusterb-2.fakesite.grid5000.fr' -p host='clusterb-2.fakesite.grid5000.fr' -p cpu=4 -p core=27 -p cpuset=10 -p gpu=7 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=2 # This GPU is mapped on /dev/nvidia2 +oarnodesetting -a -h 'clusterb-2.fakesite.grid5000.fr' -p host='clusterb-2.fakesite.grid5000.fr' -p cpu=4 -p core=28 -p cpuset=11 -p gpu=7 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=2 # This GPU is mapped on /dev/nvidia2 +oarnodesetting -a -h 'clusterb-2.fakesite.grid5000.fr' -p host='clusterb-2.fakesite.grid5000.fr' -p cpu=4 -p core=29 -p cpuset=12 -p gpu=8 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=3 # This GPU is mapped on /dev/nvidia3 +oarnodesetting -a -h 'clusterb-2.fakesite.grid5000.fr' -p host='clusterb-2.fakesite.grid5000.fr' -p cpu=4 -p core=30 -p cpuset=13 -p gpu=8 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=3 # This GPU is mapped on /dev/nvidia3 +oarnodesetting -a -h 'clusterb-2.fakesite.grid5000.fr' -p host='clusterb-2.fakesite.grid5000.fr' -p cpu=4 -p core=31 -p cpuset=14 -p gpu=8 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=3 # This GPU is mapped on /dev/nvidia3 +oarnodesetting -a -h 'clusterb-2.fakesite.grid5000.fr' -p host='clusterb-2.fakesite.grid5000.fr' -p cpu=4 -p core=32 -p cpuset=15 -p gpu=8 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=3 # This GPU is mapped on /dev/nvidia3 + TXT + + expected_clusterb3_cmds = <<-TXT +oarnodesetting --sql "host='clusterb-2.fakesite.grid5000.fr' and type='default'" -p ip='172.16.64.2' -p cluster='clusterb' -p nodemodel='Dell PowerEdge T640' -p virtual='ivt' -p cpuarch='x86_64' -p cpucore=8 -p cputype='Intel Xeon Silver 4110' -p cpufreq='2.1' -p disktype='SATA' -p eth_count=1 -p eth_rate=10 -p ib_count=0 -p ib_rate=0 -p ib='NO' -p opa_count=0 -p opa_rate=0 -p opa='NO' -p myri_count=0 -p myri_rate=0 -p myri='NO' -p memcore=8192 -p memcpu=65536 -p memnode=131072 -p gpu_count=4 -p mic='NO' -p wattmeter='MULTIPLE' -p cluster_priority=201906 -p max_walltime=86400 -p production='YES' -p maintenance='NO' -p disk_reservation_count=3 + TXT + + expected_clusterb4_cmds = <<-TXT +echo '================================================================================' +echo; echo 'Adding disk sdd.clusterb-2 on host clusterb-2.fakesite.grid5000.fr:' +disk_exist 'clusterb-2.fakesite.grid5000.fr' 'sdd.clusterb-2' && echo '=> disk already exists' +disk_exist 'clusterb-2.fakesite.grid5000.fr' 'sdd.clusterb-2' || oarnodesetting -a -h '' -p host='clusterb-2.fakesite.grid5000.fr' -p type='disk' -p disk='sdd.clusterb-2' + +echo; echo 'Setting properties for disk sdd.clusterb-2 on host clusterb-2.fakesite.grid5000.fr:'; echo +oarnodesetting --sql "host='clusterb-2.fakesite.grid5000.fr' and type='disk' and disk='sdd.clusterb-2'" -p cluster='clusterb' -p host='clusterb-2.fakesite.grid5000.fr' -p available_upto=0 -p deploy='YES' -p production='YES' -p maintenance='NO' -p disk='sdd.clusterb-2' -p diskpath='/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:3:0' -p cpuset=-1 +TXT + + generator_output = capture do + generate_oar_properties(options) + end + + expect(generator_output[:stdout]).to include(expected_header) + expect(generator_output[:stdout]).to include(expected_clusterb1_cmds) + expect(generator_output[:stdout]).to include(expected_clusterb2_cmds) + expect(generator_output[:stdout]).to include(expected_clusterb3_cmds) + expect(generator_output[:stdout]).to include(expected_clusterb4_cmds) + end + + it 'should generate correctly a diff with the OAR server' do + + uri = URI(conf["uri"]) + + response = Net::HTTP.get(uri) + + expect(response).to be_an_instance_of(String) + + options = { + :table => false, + :print => false, + :update => false, + :diff => true, + :site => "fakesite", + :clusters => ["clusterb"], + :verbose => 2 + } + + expected_clusterb1_diff = <<-TXT + clusterb-1: new node ! + ["+", "cluster", "clusterb"] + ["+", "cluster_priority", 201906] + ["+", "cpuarch", "x86_64"] + ["+", "cpucore", 8] + ["+", "cpufreq", "2.1"] + ["+", "cputype", "Intel Xeon Silver 4110"] + ["+", "disk_reservation_count", 3] + ["+", "disktype", "SATA"] + ["+", "eth_count", 1] + ["+", "eth_rate", 10] + ["+", "gpu_count", 4] + ["+", "ib", "NO"] + ["+", "ib_count", 0] + ["+", "ib_rate", 0] + ["+", "ip", "172.16.64.1"] + ["+", "maintenance", "NO"] + ["+", "max_walltime", 86400] + ["+", "memcore", 8192] + ["+", "memcpu", 65536] + ["+", "memnode", 131072] + ["+", "mic", "NO"] + ["+", "myri", "NO"] + ["+", "myri_count", 0] + ["+", "myri_rate", 0] + ["+", "nodemodel", "Dell PowerEdge T640"] + ["+", "opa", "NO"] + ["+", "opa_count", 0] + ["+", "opa_rate", 0] + ["+", "production", "YES"] + ["+", "switch", nil] + ["+", "virtual", "ivt"] + ["+", "wattmeter", "MULTIPLE"] + TXT + + expected_clusterb2_diff = <<-TXT + clusterb-2: new node ! + ["+", "cluster", "clusterb"] + ["+", "cluster_priority", 201906] + ["+", "cpuarch", "x86_64"] + ["+", "cpucore", 8] + ["+", "cpufreq", "2.1"] + ["+", "cputype", "Intel Xeon Silver 4110"] + ["+", "disk_reservation_count", 3] + ["+", "disktype", "SATA"] + ["+", "eth_count", 1] + ["+", "eth_rate", 10] + ["+", "gpu_count", 4] + ["+", "ib", "NO"] + ["+", "ib_count", 0] + ["+", "ib_rate", 0] + ["+", "ip", "172.16.64.2"] + ["+", "maintenance", "NO"] + ["+", "max_walltime", 86400] + ["+", "memcore", 8192] + ["+", "memcpu", 65536] + ["+", "memnode", 131072] + ["+", "mic", "NO"] + ["+", "myri", "NO"] + ["+", "myri_count", 0] + ["+", "myri_rate", 0] + ["+", "nodemodel", "Dell PowerEdge T640"] + ["+", "opa", "NO"] + ["+", "opa_count", 0] + ["+", "opa_rate", 0] + ["+", "production", "YES"] + ["+", "switch", nil] + ["+", "virtual", "ivt"] + ["+", "wattmeter", "MULTIPLE"] + TXT + + expected_clusterb3_diff = <<-TXT + ["clusterb-1", "sdb.clusterb-1"]: new disk ! + ["+", "available_upto", 0] + ["+", "cluster", "clusterb"] + ["+", "cpuset", -1] + ["+", "deploy", "YES"] + ["+", "disk", "sdb.clusterb-1"] + ["+", "diskpath", "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:1:0"] + ["+", "host", "clusterb-1.fakesite.grid5000.fr"] + ["+", "maintenance", "NO"] + ["+", "network_address", ""] + ["+", "production", "YES"] + ["clusterb-1", "sdc.clusterb-1"]: new disk ! + ["+", "available_upto", 0] + ["+", "cluster", "clusterb"] + ["+", "cpuset", -1] + ["+", "deploy", "YES"] + ["+", "disk", "sdc.clusterb-1"] + ["+", "diskpath", "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:2:0"] + ["+", "host", "clusterb-1.fakesite.grid5000.fr"] + ["+", "maintenance", "NO"] + ["+", "network_address", ""] + ["+", "production", "YES"] + ["clusterb-1", "sdd.clusterb-1"]: new disk ! + ["+", "available_upto", 0] + ["+", "cluster", "clusterb"] + ["+", "cpuset", -1] + ["+", "deploy", "YES"] + ["+", "disk", "sdd.clusterb-1"] + ["+", "diskpath", "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:3:0"] + ["+", "host", "clusterb-1.fakesite.grid5000.fr"] + ["+", "maintenance", "NO"] + ["+", "network_address", ""] + ["+", "production", "YES"] + ["clusterb-2", "sdb.clusterb-2"]: new disk ! + ["+", "available_upto", 0] + ["+", "cluster", "clusterb"] + ["+", "cpuset", -1] + ["+", "deploy", "YES"] + ["+", "disk", "sdb.clusterb-2"] + ["+", "diskpath", "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:1:0"] + ["+", "host", "clusterb-2.fakesite.grid5000.fr"] + ["+", "maintenance", "NO"] + ["+", "network_address", ""] + ["+", "production", "YES"] + ["clusterb-2", "sdc.clusterb-2"]: new disk ! + ["+", "available_upto", 0] + ["+", "cluster", "clusterb"] + ["+", "cpuset", -1] + ["+", "deploy", "YES"] + ["+", "disk", "sdc.clusterb-2"] + ["+", "diskpath", "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:2:0"] + ["+", "host", "clusterb-2.fakesite.grid5000.fr"] + ["+", "maintenance", "NO"] + ["+", "network_address", ""] + ["+", "production", "YES"] + ["clusterb-2", "sdd.clusterb-2"]: new disk ! + ["+", "available_upto", 0] + ["+", "cluster", "clusterb"] + ["+", "cpuset", -1] + ["+", "deploy", "YES"] + ["+", "disk", "sdd.clusterb-2"] + ["+", "diskpath", "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:3:0"] + ["+", "host", "clusterb-2.fakesite.grid5000.fr"] + ["+", "maintenance", "NO"] + ["+", "network_address", ""] + ["+", "production", "YES"] + TXT + + generator_output = capture do + generate_oar_properties(options) + end + + expect(generator_output[:stdout]).to include(expected_clusterb1_diff) + expect(generator_output[:stdout]).to include(expected_clusterb2_diff) + expect(generator_output[:stdout]).to include(expected_clusterb3_diff) + end + end + + + + context 'OAR server with data' do + before do + stubbed_api_response = load_stub_file_content("dump_oar_api_configured_server_with_disk.json") + stubbed_addresses.each do |stubbed_address| + stub_request(:get, stubbed_address). + with( + headers: { + 'Accept'=>'*/*', + }). + to_return(status: 200, body: stubbed_api_response, headers: {}) + end + + # Overload the 'load_data_hierarchy' to simulate the addition of a fake site in the input files + def load_data_hierarchy + json_str = load_stub_file_content("load_data_hierarchy_stubbed_data_with_disk.json") + return JSON.parse(json_str) + end + end + + it 'should generate correctly a table of nodes' do + + uri = URI(conf["uri"]) + + response = Net::HTTP.get(uri) + + expect(response).to be_an_instance_of(String) + + options = { + :table => true, + :print => false, + :update => false, + :diff => false, + :site => "fakesite", + :clusters => ["clusterb"] + } + + expected_header = <<-TXT ++---------- + -------------------- + ----- + ----- + -------- + ---- + -------------------- + ------------------------------ + ------------------------------+ +| cluster | host | cpu | core | cpuset | gpu | gpudevice | cpumodel | gpumodel | ++---------- + -------------------- + ----- + ----- + -------- + ---- + -------------------- + ------------------------------ + ------------------------------+ + TXT + + expected_clusterb1_desc = <<-TXT +| clusterb | clusterb-1 | 1 | 1 | 0 | 1 | 0 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clusterb | clusterb-1 | 1 | 2 | 1 | 1 | 0 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clusterb | clusterb-1 | 1 | 3 | 2 | 1 | 0 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clusterb | clusterb-1 | 1 | 4 | 3 | 1 | 0 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clusterb | clusterb-1 | 1 | 5 | 4 | 2 | 1 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clusterb | clusterb-1 | 1 | 6 | 5 | 2 | 1 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | + TXT + + expected_clusterb2_desc = <<-TXT +| clusterb | clusterb-2 | 4 | 26 | 9 | 7 | 2 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clusterb | clusterb-2 | 4 | 27 | 10 | 7 | 2 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clusterb | clusterb-2 | 4 | 28 | 11 | 7 | 2 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clusterb | clusterb-2 | 4 | 29 | 12 | 8 | 3 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clusterb | clusterb-2 | 4 | 30 | 13 | 8 | 3 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clusterb | clusterb-2 | 4 | 31 | 14 | 8 | 3 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clusterb | clusterb-2 | 4 | 32 | 15 | 8 | 3 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | + TXT + + generator_output = capture do + generate_oar_properties(options) + end + + expect(generator_output[:stdout]).to include(expected_header) + expect(generator_output[:stdout]).to include(expected_clusterb1_desc) + expect(generator_output[:stdout]).to include(expected_clusterb2_desc) + end + + it 'should generate correctly all the commands to update OAR' do + + uri = URI(conf["uri"]) + + response = Net::HTTP.get(uri) + + expect(response).to be_an_instance_of(String) + + options = { + :table => false, + :print => true, + :update => false, + :diff => false, + :site => "fakesite", + :clusters => ["clusterb"] + } + + expected_header = <<-TXT +############################################# +# Create OAR properties that were created by 'oar_resources_add' +############################################# +property_exist 'host' || oarproperty -a host --varchar +property_exist 'cpu' || oarproperty -a cpu +property_exist 'core' || oarproperty -a core +property_exist 'gpudevice' || oarproperty -a gpudevice +property_exist 'gpu' || oarproperty -a gpu +property_exist 'gpu_model' || oarproperty -a gpu_model --varchar + TXT + + expected_clusterb1_cmds = <<-TXT +################################### +# clusterb-1.fakesite.grid5000.fr +################################### +oarnodesetting --sql "host='clusterb-1.fakesite.grid5000.fr' AND resource_id='1' AND type='default'" -p cpu=1 -p core=1 -p cpuset=0 -p gpu=1 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0 +oarnodesetting --sql "host='clusterb-1.fakesite.grid5000.fr' AND resource_id='2' AND type='default'" -p cpu=1 -p core=2 -p cpuset=1 -p gpu=1 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0 +oarnodesetting --sql "host='clusterb-1.fakesite.grid5000.fr' AND resource_id='3' AND type='default'" -p cpu=1 -p core=3 -p cpuset=2 -p gpu=1 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0 +oarnodesetting --sql "host='clusterb-1.fakesite.grid5000.fr' AND resource_id='4' AND type='default'" -p cpu=1 -p core=4 -p cpuset=3 -p gpu=1 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0 + TXT + + expected_clusterb2_cmds = <<-TXT +################################### +# clusterb-2.fakesite.grid5000.fr +################################### +oarnodesetting --sql "host='clusterb-2.fakesite.grid5000.fr' AND resource_id='20' AND type='default'" -p cpu=3 -p core=17 -p cpuset=0 -p gpu=5 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0 +oarnodesetting --sql "host='clusterb-2.fakesite.grid5000.fr' AND resource_id='21' AND type='default'" -p cpu=3 -p core=18 -p cpuset=1 -p gpu=5 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0 +oarnodesetting --sql "host='clusterb-2.fakesite.grid5000.fr' AND resource_id='22' AND type='default'" -p cpu=3 -p core=19 -p cpuset=2 -p gpu=5 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0 +oarnodesetting --sql "host='clusterb-2.fakesite.grid5000.fr' AND resource_id='23' AND type='default'" -p cpu=3 -p core=20 -p cpuset=3 -p gpu=5 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0 +oarnodesetting --sql "host='clusterb-2.fakesite.grid5000.fr' AND resource_id='24' AND type='default'" -p cpu=3 -p core=21 -p cpuset=4 -p gpu=6 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=1 # This GPU is mapped on /dev/nvidia1 +oarnodesetting --sql "host='clusterb-2.fakesite.grid5000.fr' AND resource_id='25' AND type='default'" -p cpu=3 -p core=22 -p cpuset=5 -p gpu=6 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=1 # This GPU is mapped on /dev/nvidia1 +oarnodesetting --sql "host='clusterb-2.fakesite.grid5000.fr' AND resource_id='26' AND type='default'" -p cpu=3 -p core=23 -p cpuset=6 -p gpu=6 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=1 # This GPU is mapped on /dev/nvidia1 +oarnodesetting --sql "host='clusterb-2.fakesite.grid5000.fr' AND resource_id='27' AND type='default'" -p cpu=3 -p core=24 -p cpuset=7 -p gpu=6 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=1 # This GPU is mapped on /dev/nvidia1 +oarnodesetting --sql "host='clusterb-2.fakesite.grid5000.fr' AND resource_id='28' AND type='default'" -p cpu=4 -p core=25 -p cpuset=8 -p gpu=7 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=2 # This GPU is mapped on /dev/nvidia2 +oarnodesetting --sql "host='clusterb-2.fakesite.grid5000.fr' AND resource_id='29' AND type='default'" -p cpu=4 -p core=26 -p cpuset=9 -p gpu=7 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=2 # This GPU is mapped on /dev/nvidia2 +oarnodesetting --sql "host='clusterb-2.fakesite.grid5000.fr' AND resource_id='30' AND type='default'" -p cpu=4 -p core=27 -p cpuset=10 -p gpu=7 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=2 # This GPU is mapped on /dev/nvidia2 +oarnodesetting --sql "host='clusterb-2.fakesite.grid5000.fr' AND resource_id='31' AND type='default'" -p cpu=4 -p core=28 -p cpuset=11 -p gpu=7 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=2 # This GPU is mapped on /dev/nvidia2 +oarnodesetting --sql "host='clusterb-2.fakesite.grid5000.fr' AND resource_id='32' AND type='default'" -p cpu=4 -p core=29 -p cpuset=12 -p gpu=8 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=3 # This GPU is mapped on /dev/nvidia3 +oarnodesetting --sql "host='clusterb-2.fakesite.grid5000.fr' AND resource_id='33' AND type='default'" -p cpu=4 -p core=30 -p cpuset=13 -p gpu=8 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=3 # This GPU is mapped on /dev/nvidia3 +oarnodesetting --sql "host='clusterb-2.fakesite.grid5000.fr' AND resource_id='34' AND type='default'" -p cpu=4 -p core=31 -p cpuset=14 -p gpu=8 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=3 # This GPU is mapped on /dev/nvidia3 +oarnodesetting --sql "host='clusterb-2.fakesite.grid5000.fr' AND resource_id='35' AND type='default'" -p cpu=4 -p core=32 -p cpuset=15 -p gpu=8 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=3 # This GPU is mapped on /dev/nvidia3 + TXT + + expected_clusterb3_cmds = <<-TXT +oarnodesetting --sql "host='clusterb-2.fakesite.grid5000.fr' and type='default'" -p ip='172.16.64.2' -p cluster='clusterb' -p nodemodel='Dell PowerEdge T640' -p virtual='ivt' -p cpuarch='x86_64' -p cpucore=8 -p cputype='Intel Xeon Silver 4110' -p cpufreq='2.1' -p disktype='SATA' -p eth_count=1 -p eth_rate=10 -p ib_count=0 -p ib_rate=0 -p ib='NO' -p opa_count=0 -p opa_rate=0 -p opa='NO' -p myri_count=0 -p myri_rate=0 -p myri='NO' -p memcore=8192 -p memcpu=65536 -p memnode=131072 -p gpu_count=4 -p mic='NO' -p wattmeter='MULTIPLE' -p cluster_priority=201906 -p max_walltime=86400 -p production='YES' -p maintenance='NO' -p disk_reservation_count=3 + TXT + + generator_output = capture do + generate_oar_properties(options) + end + + expect(generator_output[:stdout]).to include(expected_header) + expect(generator_output[:stdout]).to include(expected_clusterb1_cmds) + expect(generator_output[:stdout]).to include(expected_clusterb2_cmds) + expect(generator_output[:stdout]).to include(expected_clusterb3_cmds) + end + + it 'should generate correctly a diff with the OAR server' do + + uri = URI(conf["uri"]) + + response = Net::HTTP.get(uri) + + expect(response).to be_an_instance_of(String) + + options = { + :table => false, + :print => false, + :update => false, + :diff => true, + :site => "fakesite", + :clusters => ["clusterb"], + :verbose => 2 + } + + expected_clusterb1_diff = <<-TXT + clusterb-1: OK + TXT + + expected_clusterb2_diff = <<-TXT + clusterb-2: OK + TXT + + expected_clusterb3_diff = <<-TXT + ["clusterb-1", "sdb.clusterb-1"]: OK + ["clusterb-1", "sdc.clusterb-1"]: OK + ["clusterb-1", "sdd.clusterb-1"]: OK + ["clusterb-2", "sdb.clusterb-2"]: OK + ["clusterb-2", "sdc.clusterb-2"]: OK + ["clusterb-2", "sdd.clusterb-2"]: OK + TXT + + generator_output = capture do + generate_oar_properties(options) + end + + expect(generator_output[:stdout]).to include(expected_clusterb1_diff) + expect(generator_output[:stdout]).to include(expected_clusterb2_diff) + expect(generator_output[:stdout]).to include(expected_clusterb3_diff) + end + end +end diff --git a/tests/stub_oar_properties/dump_oar_api_configured_server.json b/tests/stub_oar_properties/dump_oar_api_configured_server.json index 0d7ee55d893..7905b91ef6f 100644 --- a/tests/stub_oar_properties/dump_oar_api_configured_server.json +++ b/tests/stub_oar_properties/dump_oar_api_configured_server.json @@ -1,2446 +1,2446 @@ { - "offset" : 0, - "api_timestamp" : 1568902577, - "items" : [ - { - "finaud_decision" : "NO", - "last_available_upto" : 0, - "cpucore" : 8, - "scheduler_priority" : 0, - "api_timestamp" : 1568902577, - "myri_rate" : 0, - "expiry_date" : 0, - "nodemodel" : "Dell PowerEdge T640", - "disktype" : "SATA", - "cluster" : "clustera", - "state" : "Alive", - "gpu" : 1, - "besteffort" : "YES", - "ib_rate" : 0, - "available_upto" : 2147483647, - "cpuset" : 0, - "links" : [ - { - "title" : "node", - "href" : "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", - "rel" : "member" - }, - { - "rel" : "self", - "href" : "//oarapi/resources/1" - }, - { - "href" : "//oarapi/resources/1/jobs", - "title" : "jobs", - "rel" : "collection" - } - ], - "production" : "YES", - "type" : "default", - "opa_count" : 0, - "id" : 1, - "opa_rate" : 0, - "desktop_computing" : "NO", - "memnode" : 131072, - "opa" : "NO", - "eth_rate" : 10, - "last_job_date" : 0, - "wattmeter" : "MULTIPLE", - "next_finaud_decision" : "NO", - "host" : "clustera-1.fakesite.grid5000.fr", - "cpuarch" : "x86_64", - "gpudevice" : 0, - "next_state" : "UnChanged", - "maintenance" : "NO", - "gpu_count" : 4, - "cluster_priority" : 201906, - "ib_count" : 0, - "gpu_model" : "GeForce RTX 2080 Ti", - "mic" : "NO", - "switch" : "gw-fakesite", - "eth_count" : 1, - "drain" : "NO", - "cpu" : 1, - "cputype" : "Intel Xeon Silver 4110", - "virtual" : "ivt", - "cpufreq" : "2.1", - "memcore" : 8192, - "deploy" : "NO", - "memcpu" : 65536, - "myri_count" : 0, - "ip" : "172.16.64.1", - "core" : 1, - "myri" : "NO", - "max_walltime" : 86400, - "network_address" : "clustera-1.fakesite.grid5000.fr", - "state_num" : 1, - "ib" : "NO", - "disk_reservation_count" : 0, - "suspended_jobs" : "NO" - }, - { - "last_job_date" : 0, - "eth_rate" : 10, - "opa" : "NO", - "memnode" : 131072, - "desktop_computing" : "NO", - "opa_rate" : 0, - "id" : 2, - "opa_count" : 0, - "type" : "default", - "production" : "YES", - "links" : [ - { - "rel" : "member", - "title" : "node", - "href" : "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" - }, - { - "href" : "//oarapi/resources/2", - "rel" : "self" - }, - { - "title" : "jobs", - "href" : "//oarapi/resources/2/jobs", - "rel" : "collection" - } - ], - "cpuset" : 1, - "available_upto" : 2147483647, - "ib_rate" : 0, - "besteffort" : "YES", - "gpu" : 1, - "state" : "Alive", - "disktype" : "SATA", - "cluster" : "clustera", - "expiry_date" : 0, - "nodemodel" : "Dell PowerEdge T640", - "myri_rate" : 0, - "api_timestamp" : 1568902577, - "cpucore" : 8, - "scheduler_priority" : 0, - "last_available_upto" : 0, - "finaud_decision" : "NO", - "suspended_jobs" : "NO", - "disk_reservation_count" : 0, - "ib" : "NO", - "network_address" : "clustera-1.fakesite.grid5000.fr", - "state_num" : 1, - "max_walltime" : 86400, - "myri" : "NO", - "core" : 2, - "myri_count" : 0, - "ip" : "172.16.64.1", - "memcpu" : 65536, - "deploy" : "NO", - "cpufreq" : "2.1", - "memcore" : 8192, - "virtual" : "ivt", - "cputype" : "Intel Xeon Silver 4110", - "cpu" : 1, - "drain" : "NO", - "eth_count" : 1, - "switch" : "gw-fakesite", - "mic" : "NO", - "gpu_model" : "GeForce RTX 2080 Ti", - "ib_count" : 0, - "cluster_priority" : 201906, - "gpu_count" : 4, - "maintenance" : "NO", - "next_state" : "UnChanged", - "gpudevice" : 0, - "cpuarch" : "x86_64", - "host" : "clustera-1.fakesite.grid5000.fr", - "next_finaud_decision" : "NO", - "wattmeter" : "MULTIPLE" - }, - { - "myri" : "NO", - "max_walltime" : 86400, - "myri_count" : 0, - "core" : 3, - "ip" : "172.16.64.1", - "suspended_jobs" : "NO", - "disk_reservation_count" : 0, - "ib" : "NO", - "network_address" : "clustera-1.fakesite.grid5000.fr", - "state_num" : 1, - "cputype" : "Intel Xeon Silver 4110", - "virtual" : "ivt", - "cpu" : 1, - "drain" : "NO", - "memcpu" : 65536, - "deploy" : "NO", - "memcore" : 8192, - "cpufreq" : "2.1", - "mic" : "NO", - "gpu_model" : "GeForce RTX 2080 Ti", - "ib_count" : 0, - "eth_count" : 1, - "switch" : "gw-fakesite", - "gpudevice" : 0, - "cpuarch" : "x86_64", - "host" : "clustera-1.fakesite.grid5000.fr", - "next_finaud_decision" : "NO", - "wattmeter" : "MULTIPLE", - "cluster_priority" : 201906, - "gpu_count" : 4, - "maintenance" : "NO", - "next_state" : "UnChanged", - "memnode" : 131072, - "desktop_computing" : "NO", - "opa_rate" : 0, - "last_job_date" : 0, - "eth_rate" : 10, - "opa" : "NO", - "cpuset" : 2, - "links" : [ - { - "title" : "node", - "href" : "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", - "rel" : "member" - }, - { - "rel" : "self", - "href" : "//oarapi/resources/3" - }, - { - "title" : "jobs", - "href" : "//oarapi/resources/3/jobs", - "rel" : "collection" - } - ], - "available_upto" : 2147483647, - "ib_rate" : 0, - "besteffort" : "YES", - "opa_count" : 0, - "id" : 3, - "type" : "default", - "production" : "YES", - "expiry_date" : 0, - "nodemodel" : "Dell PowerEdge T640", - "gpu" : 1, - "state" : "Alive", - "cluster" : "clustera", - "disktype" : "SATA", - "last_available_upto" : 0, - "finaud_decision" : "NO", - "myri_rate" : 0, - "api_timestamp" : 1568902577, - "cpucore" : 8, - "scheduler_priority" : 0 - }, - { - "cpu" : 1, - "virtual" : "ivt", - "cputype" : "Intel Xeon Silver 4110", - "drain" : "NO", - "memcpu" : 65536, - "memcore" : 8192, - "cpufreq" : "2.1", - "deploy" : "NO", - "max_walltime" : 86400, - "myri" : "NO", - "ip" : "172.16.64.1", - "myri_count" : 0, - "core" : 4, - "ib" : "NO", - "disk_reservation_count" : 0, - "suspended_jobs" : "NO", - "network_address" : "clustera-1.fakesite.grid5000.fr", - "state_num" : 1, - "host" : "clustera-1.fakesite.grid5000.fr", - "cpuarch" : "x86_64", - "gpudevice" : 0, - "wattmeter" : "MULTIPLE", - "next_finaud_decision" : "NO", - "maintenance" : "NO", - "cluster_priority" : 201906, - "gpu_count" : 4, - "next_state" : "UnChanged", - "mic" : "NO", - "ib_count" : 0, - "gpu_model" : "GeForce RTX 2080 Ti", - "eth_count" : 1, - "switch" : "gw-fakesite", - "available_upto" : 2147483647, - "links" : [ - { - "title" : "node", - "href" : "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", - "rel" : "member" - }, - { - "href" : "//oarapi/resources/4", - "rel" : "self" - }, - { - "href" : "//oarapi/resources/4/jobs", - "title" : "jobs", - "rel" : "collection" - } - ], - "cpuset" : 3, - "besteffort" : "YES", - "ib_rate" : 0, - "id" : 4, - "opa_count" : 0, - "production" : "YES", - "type" : "default", - "desktop_computing" : "NO", - "memnode" : 131072, - "opa_rate" : 0, - "last_job_date" : 0, - "eth_rate" : 10, - "opa" : "NO", - "last_available_upto" : 0, - "finaud_decision" : "NO", - "api_timestamp" : 1568902577, - "myri_rate" : 0, - "scheduler_priority" : 0, - "cpucore" : 8, - "expiry_date" : 0, - "nodemodel" : "Dell PowerEdge T640", - "gpu" : 1, - "disktype" : "SATA", - "cluster" : "clustera", - "state" : "Alive" - }, - { - "opa" : "NO", - "eth_rate" : 10, - "last_job_date" : 0, - "opa_rate" : 0, - "memnode" : 131072, - "desktop_computing" : "NO", - "type" : "default", - "production" : "YES", - "opa_count" : 0, - "id" : 5, - "ib_rate" : 0, - "besteffort" : "YES", - "links" : [ - { - "rel" : "member", - "href" : "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", - "title" : "node" - }, - { - "rel" : "self", - "href" : "//oarapi/resources/5" - }, - { - "rel" : "collection", - "title" : "jobs", - "href" : "//oarapi/resources/5/jobs" - } - ], - "cpuset" : 4, - "available_upto" : 2147483647, - "state" : "Alive", - "cluster" : "clustera", - "disktype" : "SATA", - "gpu" : 2, - "nodemodel" : "Dell PowerEdge T640", - "expiry_date" : 0, - "cpucore" : 8, - "scheduler_priority" : 0, - "myri_rate" : 0, - "api_timestamp" : 1568902577, - "finaud_decision" : "NO", - "last_available_upto" : 0, - "state_num" : 1, - "network_address" : "clustera-1.fakesite.grid5000.fr", - "suspended_jobs" : "NO", - "ib" : "NO", - "disk_reservation_count" : 0, - "myri_count" : 0, - "ip" : "172.16.64.1", - "core" : 5, - "myri" : "NO", - "max_walltime" : 86400, - "deploy" : "NO", - "memcore" : 8192, - "cpufreq" : "2.1", - "memcpu" : 65536, - "drain" : "NO", - "cputype" : "Intel Xeon Silver 4110", - "virtual" : "ivt", - "cpu" : 1, - "switch" : "gw-fakesite", - "eth_count" : 1, - "gpu_model" : "GeForce RTX 2080 Ti", - "ib_count" : 0, - "mic" : "NO", - "next_state" : "UnChanged", - "cluster_priority" : 201906, - "gpu_count" : 4, - "maintenance" : "NO", - "next_finaud_decision" : "NO", - "wattmeter" : "MULTIPLE", - "gpudevice" : 1, - "cpuarch" : "x86_64", - "host" : "clustera-1.fakesite.grid5000.fr" - }, - { - "opa_count" : 0, - "id" : 6, - "type" : "default", - "production" : "YES", - "links" : [ - { - "rel" : "member", - "href" : "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", - "title" : "node" - }, - { - "href" : "//oarapi/resources/6", - "rel" : "self" - }, - { - "rel" : "collection", - "title" : "jobs", - "href" : "//oarapi/resources/6/jobs" - } - ], - "cpuset" : 5, - "available_upto" : 2147483647, - "ib_rate" : 0, - "besteffort" : "YES", - "last_job_date" : 0, - "eth_rate" : 10, - "opa" : "NO", - "memnode" : 131072, - "desktop_computing" : "NO", - "opa_rate" : 0, - "myri_rate" : 0, - "api_timestamp" : 1568902577, - "scheduler_priority" : 0, - "cpucore" : 8, - "last_available_upto" : 0, - "finaud_decision" : "NO", - "gpu" : 2, - "state" : "Alive", - "disktype" : "SATA", - "cluster" : "clustera", - "expiry_date" : 0, - "nodemodel" : "Dell PowerEdge T640", - "memcpu" : 65536, - "deploy" : "NO", - "cpufreq" : "2.1", - "memcore" : 8192, - "virtual" : "ivt", - "cputype" : "Intel Xeon Silver 4110", - "cpu" : 1, - "drain" : "NO", - "suspended_jobs" : "NO", - "disk_reservation_count" : 0, - "ib" : "NO", - "state_num" : 1, - "network_address" : "clustera-1.fakesite.grid5000.fr", - "myri" : "NO", - "max_walltime" : 86400, - "myri_count" : 0, - "ip" : "172.16.64.1", - "core" : 6, - "gpu_count" : 4, - "cluster_priority" : 201906, - "maintenance" : "NO", - "next_state" : "UnChanged", - "gpudevice" : 1, - "host" : "clustera-1.fakesite.grid5000.fr", - "cpuarch" : "x86_64", - "wattmeter" : "MULTIPLE", - "next_finaud_decision" : "NO", - "eth_count" : 1, - "switch" : "gw-fakesite", - "mic" : "NO", - "gpu_model" : "GeForce RTX 2080 Ti", - "ib_count" : 0 - }, - { - "nodemodel" : "Dell PowerEdge T640", - "expiry_date" : 0, - "gpu" : 2, - "cluster" : "clustera", - "disktype" : "SATA", - "state" : "Alive", - "last_available_upto" : 0, - "finaud_decision" : "NO", - "api_timestamp" : 1568902577, - "myri_rate" : 0, - "scheduler_priority" : 0, - "cpucore" : 8, - "desktop_computing" : "NO", - "memnode" : 131072, - "opa_rate" : 0, - "last_job_date" : 0, - "opa" : "NO", - "eth_rate" : 10, - "available_upto" : 2147483647, - "links" : [ - { - "rel" : "member", - "title" : "node", - "href" : "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" - }, - { - "href" : "//oarapi/resources/7", - "rel" : "self" - }, - { - "rel" : "collection", - "title" : "jobs", - "href" : "//oarapi/resources/7/jobs" - } - ], - "cpuset" : 6, - "besteffort" : "YES", - "ib_rate" : 0, - "opa_count" : 0, - "id" : 7, - "production" : "YES", - "type" : "default", - "mic" : "NO", - "ib_count" : 0, - "gpu_model" : "GeForce RTX 2080 Ti", - "eth_count" : 1, - "switch" : "gw-fakesite", - "cpuarch" : "x86_64", - "host" : "clustera-1.fakesite.grid5000.fr", - "gpudevice" : 1, - "next_finaud_decision" : "NO", - "wattmeter" : "MULTIPLE", - "maintenance" : "NO", - "gpu_count" : 4, - "cluster_priority" : 201906, - "next_state" : "UnChanged", - "max_walltime" : 86400, - "myri" : "NO", - "myri_count" : 0, - "core" : 7, - "ip" : "172.16.64.1", - "disk_reservation_count" : 0, - "ib" : "NO", - "suspended_jobs" : "NO", - "network_address" : "clustera-1.fakesite.grid5000.fr", - "state_num" : 1, - "cpu" : 1, - "cputype" : "Intel Xeon Silver 4110", - "virtual" : "ivt", - "drain" : "NO", - "memcpu" : 65536, - "memcore" : 8192, - "cpufreq" : "2.1", - "deploy" : "NO" - }, - { - "api_timestamp" : 1568902577, - "myri_rate" : 0, - "scheduler_priority" : 0, - "cpucore" : 8, - "last_available_upto" : 0, - "finaud_decision" : "NO", - "gpu" : 2, - "disktype" : "SATA", - "cluster" : "clustera", - "state" : "Alive", - "nodemodel" : "Dell PowerEdge T640", - "expiry_date" : 0, - "id" : 8, - "opa_count" : 0, - "production" : "YES", - "type" : "default", - "available_upto" : 2147483647, - "cpuset" : 7, - "links" : [ - { - "rel" : "member", - "href" : "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", - "title" : "node" - }, - { - "href" : "//oarapi/resources/8", - "rel" : "self" - }, - { - "rel" : "collection", - "href" : "//oarapi/resources/8/jobs", - "title" : "jobs" - } - ], - "besteffort" : "YES", - "ib_rate" : 0, - "last_job_date" : 0, - "opa" : "NO", - "eth_rate" : 10, - "desktop_computing" : "NO", - "memnode" : 131072, - "opa_rate" : 0, - "maintenance" : "NO", - "gpu_count" : 4, - "cluster_priority" : 201906, - "next_state" : "UnChanged", - "host" : "clustera-1.fakesite.grid5000.fr", - "cpuarch" : "x86_64", - "gpudevice" : 1, - "next_finaud_decision" : "NO", - "wattmeter" : "MULTIPLE", - "eth_count" : 1, - "switch" : "gw-fakesite", - "mic" : "NO", - "ib_count" : 0, - "gpu_model" : "GeForce RTX 2080 Ti", - "memcpu" : 65536, - "cpufreq" : "2.1", - "memcore" : 8192, - "deploy" : "NO", - "cpu" : 1, - "virtual" : "ivt", - "cputype" : "Intel Xeon Silver 4110", - "drain" : "NO", - "ib" : "NO", - "disk_reservation_count" : 0, - "suspended_jobs" : "NO", - "state_num" : 1, - "network_address" : "clustera-1.fakesite.grid5000.fr", - "myri" : "NO", - "max_walltime" : 86400, - "core" : 8, - "myri_count" : 0, - "ip" : "172.16.64.1" - }, - { - "finaud_decision" : "NO", - "last_available_upto" : 0, - "scheduler_priority" : 0, - "cpucore" : 8, - "api_timestamp" : 1568902577, - "myri_rate" : 0, - "expiry_date" : 0, - "nodemodel" : "Dell PowerEdge T640", - "disktype" : "SATA", - "cluster" : "clustera", - "state" : "Alive", - "gpu" : 3, - "besteffort" : "YES", - "ib_rate" : 0, - "available_upto" : 2147483647, - "links" : [ - { - "rel" : "member", - "href" : "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", - "title" : "node" - }, - { - "rel" : "self", - "href" : "//oarapi/resources/9" - }, - { - "rel" : "collection", - "href" : "//oarapi/resources/9/jobs", - "title" : "jobs" - } - ], - "cpuset" : 8, - "production" : "YES", - "type" : "default", - "id" : 9, - "opa_count" : 0, - "opa_rate" : 0, - "desktop_computing" : "NO", - "memnode" : 131072, - "opa" : "NO", - "eth_rate" : 10, - "last_job_date" : 0, - "wattmeter" : "MULTIPLE", - "next_finaud_decision" : "NO", - "cpuarch" : "x86_64", - "host" : "clustera-1.fakesite.grid5000.fr", - "gpudevice" : 2, - "next_state" : "UnChanged", - "maintenance" : "NO", - "gpu_count" : 4, - "cluster_priority" : 201906, - "ib_count" : 0, - "gpu_model" : "GeForce RTX 2080 Ti", - "mic" : "NO", - "switch" : "gw-fakesite", - "eth_count" : 1, - "drain" : "NO", - "cpu" : 2, - "virtual" : "ivt", - "cputype" : "Intel Xeon Silver 4110", - "memcore" : 8192, - "cpufreq" : "2.1", - "deploy" : "NO", - "memcpu" : 65536, - "myri_count" : 0, - "core" : 9, - "ip" : "172.16.64.1", - "myri" : "NO", - "max_walltime" : 86400, - "network_address" : "clustera-1.fakesite.grid5000.fr", - "state_num" : 1, - "ib" : "NO", - "disk_reservation_count" : 0, - "suspended_jobs" : "NO" - }, - { - "drain" : "NO", - "cpu" : 2, - "virtual" : "ivt", - "cputype" : "Intel Xeon Silver 4110", - "cpufreq" : "2.1", - "memcore" : 8192, - "deploy" : "NO", - "memcpu" : 65536, - "myri_count" : 0, - "core" : 10, - "ip" : "172.16.64.1", - "max_walltime" : 86400, - "myri" : "NO", - "network_address" : "clustera-1.fakesite.grid5000.fr", - "state_num" : 1, - "ib" : "NO", - "disk_reservation_count" : 0, - "suspended_jobs" : "NO", - "next_finaud_decision" : "NO", - "wattmeter" : "MULTIPLE", - "cpuarch" : "x86_64", - "host" : "clustera-1.fakesite.grid5000.fr", - "gpudevice" : 2, - "next_state" : "UnChanged", - "maintenance" : "NO", - "cluster_priority" : 201906, - "gpu_count" : 4, - "ib_count" : 0, - "gpu_model" : "GeForce RTX 2080 Ti", - "mic" : "NO", - "switch" : "gw-fakesite", - "eth_count" : 1, - "besteffort" : "YES", - "ib_rate" : 0, - "available_upto" : 2147483647, - "links" : [ - { - "href" : "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", - "title" : "node", - "rel" : "member" - }, - { - "href" : "//oarapi/resources/10", - "rel" : "self" - }, - { - "rel" : "collection", - "title" : "jobs", - "href" : "//oarapi/resources/10/jobs" - } - ], - "cpuset" : 9, - "production" : "YES", - "type" : "default", - "id" : 10, - "opa_count" : 0, - "opa_rate" : 0, - "desktop_computing" : "NO", - "memnode" : 131072, - "eth_rate" : 10, - "opa" : "NO", - "last_job_date" : 0, - "finaud_decision" : "NO", - "last_available_upto" : 0, - "cpucore" : 8, - "scheduler_priority" : 0, - "api_timestamp" : 1568902577, - "myri_rate" : 0, - "nodemodel" : "Dell PowerEdge T640", - "expiry_date" : 0, - "cluster" : "clustera", - "disktype" : "SATA", - "state" : "Alive", - "gpu" : 3 - }, - { - "cpu" : 2, - "virtual" : "ivt", - "cputype" : "Intel Xeon Silver 4110", - "drain" : "NO", - "memcpu" : 65536, - "cpufreq" : "2.1", - "memcore" : 8192, - "deploy" : "NO", - "myri" : "NO", - "max_walltime" : 86400, - "core" : 11, - "myri_count" : 0, - "ip" : "172.16.64.1", - "ib" : "NO", - "disk_reservation_count" : 0, - "suspended_jobs" : "NO", - "state_num" : 1, - "network_address" : "clustera-1.fakesite.grid5000.fr", - "cpuarch" : "x86_64", - "host" : "clustera-1.fakesite.grid5000.fr", - "gpudevice" : 2, - "next_finaud_decision" : "NO", - "wattmeter" : "MULTIPLE", - "maintenance" : "NO", - "gpu_count" : 4, - "cluster_priority" : 201906, - "next_state" : "UnChanged", - "mic" : "NO", - "ib_count" : 0, - "gpu_model" : "GeForce RTX 2080 Ti", - "eth_count" : 1, - "switch" : "gw-fakesite", - "available_upto" : 2147483647, - "cpuset" : 10, - "links" : [ - { - "rel" : "member", - "title" : "node", - "href" : "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" - }, - { - "href" : "//oarapi/resources/11", - "rel" : "self" - }, - { - "title" : "jobs", - "href" : "//oarapi/resources/11/jobs", - "rel" : "collection" - } - ], - "besteffort" : "YES", - "ib_rate" : 0, - "id" : 11, - "opa_count" : 0, - "production" : "YES", - "type" : "default", - "desktop_computing" : "NO", - "memnode" : 131072, - "opa_rate" : 0, - "last_job_date" : 0, - "eth_rate" : 10, - "opa" : "NO", - "last_available_upto" : 0, - "finaud_decision" : "NO", - "api_timestamp" : 1568902577, - "myri_rate" : 0, - "scheduler_priority" : 0, - "cpucore" : 8, - "expiry_date" : 0, - "nodemodel" : "Dell PowerEdge T640", - "gpu" : 3, - "disktype" : "SATA", - "cluster" : "clustera", - "state" : "Alive" - }, - { - "next_state" : "UnChanged", - "maintenance" : "NO", - "cluster_priority" : 201906, - "gpu_count" : 4, - "wattmeter" : "MULTIPLE", - "next_finaud_decision" : "NO", - "host" : "clustera-1.fakesite.grid5000.fr", - "cpuarch" : "x86_64", - "gpudevice" : 2, - "switch" : "gw-fakesite", - "eth_count" : 1, - "ib_count" : 0, - "gpu_model" : "GeForce RTX 2080 Ti", - "mic" : "NO", - "cpufreq" : "2.1", - "memcore" : 8192, - "deploy" : "NO", - "memcpu" : 65536, - "drain" : "NO", - "cpu" : 2, - "virtual" : "ivt", - "cputype" : "Intel Xeon Silver 4110", - "state_num" : 1, - "network_address" : "clustera-1.fakesite.grid5000.fr", - "ib" : "NO", - "disk_reservation_count" : 0, - "suspended_jobs" : "NO", - "myri_count" : 0, - "ip" : "172.16.64.1", - "core" : 12, - "myri" : "NO", - "max_walltime" : 86400, - "scheduler_priority" : 0, - "cpucore" : 8, - "api_timestamp" : 1568902577, - "myri_rate" : 0, - "finaud_decision" : "NO", - "last_available_upto" : 0, - "cluster" : "clustera", - "disktype" : "SATA", - "state" : "Alive", - "gpu" : 3, - "expiry_date" : 0, - "nodemodel" : "Dell PowerEdge T640", - "production" : "YES", - "type" : "default", - "opa_count" : 0, - "id" : 12, - "besteffort" : "YES", - "ib_rate" : 0, - "available_upto" : 2147483647, - "links" : [ - { - "href" : "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", - "title" : "node", - "rel" : "member" - }, - { - "href" : "//oarapi/resources/12", - "rel" : "self" - }, - { - "rel" : "collection", - "title" : "jobs", - "href" : "//oarapi/resources/12/jobs" - } - ], - "cpuset" : 11, - "opa" : "NO", - "eth_rate" : 10, - "last_job_date" : 0, - "opa_rate" : 0, - "desktop_computing" : "NO", - "memnode" : 131072 - }, - { - "core" : 13, - "myri_count" : 0, - "ip" : "172.16.64.1", - "myri" : "NO", - "max_walltime" : 86400, - "network_address" : "clustera-1.fakesite.grid5000.fr", - "state_num" : 1, - "suspended_jobs" : "NO", - "ib" : "NO", - "disk_reservation_count" : 0, - "drain" : "NO", - "cputype" : "Intel Xeon Silver 4110", - "virtual" : "ivt", - "cpu" : 2, - "deploy" : "NO", - "memcore" : 8192, - "cpufreq" : "2.1", - "memcpu" : 65536, - "gpu_model" : "GeForce RTX 2080 Ti", - "ib_count" : 0, - "mic" : "NO", - "switch" : "gw-fakesite", - "eth_count" : 1, - "next_finaud_decision" : "NO", - "wattmeter" : "MULTIPLE", - "gpudevice" : 3, - "cpuarch" : "x86_64", - "host" : "clustera-1.fakesite.grid5000.fr", - "next_state" : "UnChanged", - "gpu_count" : 4, - "cluster_priority" : 201906, - "maintenance" : "NO", - "opa_rate" : 0, - "memnode" : 131072, - "desktop_computing" : "NO", - "opa" : "NO", - "eth_rate" : 10, - "last_job_date" : 0, - "ib_rate" : 0, - "besteffort" : "YES", - "cpuset" : 12, - "links" : [ - { - "href" : "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", - "title" : "node", - "rel" : "member" - }, - { - "rel" : "self", - "href" : "//oarapi/resources/13" - }, - { - "href" : "//oarapi/resources/13/jobs", - "title" : "jobs", - "rel" : "collection" - } - ], - "available_upto" : 2147483647, - "type" : "default", - "production" : "YES", - "id" : 13, - "opa_count" : 0, - "expiry_date" : 0, - "nodemodel" : "Dell PowerEdge T640", - "state" : "Alive", - "cluster" : "clustera", - "disktype" : "SATA", - "gpu" : 4, - "finaud_decision" : "NO", - "last_available_upto" : 0, - "scheduler_priority" : 0, - "cpucore" : 8, - "myri_rate" : 0, - "api_timestamp" : 1568902577 - }, - { - "finaud_decision" : "NO", - "last_available_upto" : 0, - "cpucore" : 8, - "scheduler_priority" : 0, - "api_timestamp" : 1568902577, - "myri_rate" : 0, - "expiry_date" : 0, - "nodemodel" : "Dell PowerEdge T640", - "disktype" : "SATA", - "cluster" : "clustera", - "state" : "Alive", - "gpu" : 4, - "besteffort" : "YES", - "ib_rate" : 0, - "available_upto" : 2147483647, - "cpuset" : 13, - "links" : [ - { - "rel" : "member", - "title" : "node", - "href" : "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" - }, - { - "rel" : "self", - "href" : "//oarapi/resources/14" - }, - { - "rel" : "collection", - "href" : "//oarapi/resources/14/jobs", - "title" : "jobs" - } - ], - "production" : "YES", - "type" : "default", - "id" : 14, - "opa_count" : 0, - "opa_rate" : 0, - "desktop_computing" : "NO", - "memnode" : 131072, - "eth_rate" : 10, - "opa" : "NO", - "last_job_date" : 0, - "wattmeter" : "MULTIPLE", - "next_finaud_decision" : "NO", - "host" : "clustera-1.fakesite.grid5000.fr", - "cpuarch" : "x86_64", - "gpudevice" : 3, - "next_state" : "UnChanged", - "maintenance" : "NO", - "cluster_priority" : 201906, - "gpu_count" : 4, - "ib_count" : 0, - "gpu_model" : "GeForce RTX 2080 Ti", - "mic" : "NO", - "switch" : "gw-fakesite", - "eth_count" : 1, - "drain" : "NO", - "cpu" : 2, - "cputype" : "Intel Xeon Silver 4110", - "virtual" : "ivt", - "memcore" : 8192, - "cpufreq" : "2.1", - "deploy" : "NO", - "memcpu" : 65536, - "myri_count" : 0, - "ip" : "172.16.64.1", - "core" : 14, - "max_walltime" : 86400, - "myri" : "NO", - "state_num" : 1, - "network_address" : "clustera-1.fakesite.grid5000.fr", - "ib" : "NO", - "disk_reservation_count" : 0, - "suspended_jobs" : "NO" - }, - { - "memcpu" : 65536, - "cpufreq" : "2.1", - "memcore" : 8192, - "deploy" : "NO", - "cpu" : 2, - "virtual" : "ivt", - "cputype" : "Intel Xeon Silver 4110", - "drain" : "NO", - "disk_reservation_count" : 0, - "ib" : "NO", - "suspended_jobs" : "NO", - "state_num" : 1, - "network_address" : "clustera-1.fakesite.grid5000.fr", - "max_walltime" : 86400, - "myri" : "NO", - "myri_count" : 0, - "core" : 15, - "ip" : "172.16.64.1", - "maintenance" : "NO", - "gpu_count" : 4, - "cluster_priority" : 201906, - "next_state" : "UnChanged", - "cpuarch" : "x86_64", - "host" : "clustera-1.fakesite.grid5000.fr", - "gpudevice" : 3, - "next_finaud_decision" : "NO", - "wattmeter" : "MULTIPLE", - "eth_count" : 1, - "switch" : "gw-fakesite", - "mic" : "NO", - "ib_count" : 0, - "gpu_model" : "GeForce RTX 2080 Ti", - "opa_count" : 0, - "id" : 15, - "production" : "YES", - "type" : "default", - "available_upto" : 2147483647, - "cpuset" : 14, - "links" : [ - { - "rel" : "member", - "title" : "node", - "href" : "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" - }, - { - "rel" : "self", - "href" : "//oarapi/resources/15" - }, - { - "href" : "//oarapi/resources/15/jobs", - "title" : "jobs", - "rel" : "collection" - } - ], - "besteffort" : "YES", - "ib_rate" : 0, - "last_job_date" : 0, - "opa" : "NO", - "eth_rate" : 10, - "desktop_computing" : "NO", - "memnode" : 131072, - "opa_rate" : 0, - "api_timestamp" : 1568902577, - "myri_rate" : 0, - "cpucore" : 8, - "scheduler_priority" : 0, - "last_available_upto" : 0, - "finaud_decision" : "NO", - "gpu" : 4, - "cluster" : "clustera", - "disktype" : "SATA", - "state" : "Alive", - "nodemodel" : "Dell PowerEdge T640", - "expiry_date" : 0 - }, - { - "last_available_upto" : 0, - "finaud_decision" : "NO", - "myri_rate" : 0, - "api_timestamp" : 1568902577, - "scheduler_priority" : 0, - "cpucore" : 8, - "expiry_date" : 0, - "nodemodel" : "Dell PowerEdge T640", - "gpu" : 4, - "state" : "Alive", - "cluster" : "clustera", - "disktype" : "SATA", - "cpuset" : 15, - "links" : [ - { - "rel" : "member", - "title" : "node", - "href" : "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" - }, - { - "href" : "//oarapi/resources/16", - "rel" : "self" - }, - { - "href" : "//oarapi/resources/16/jobs", - "title" : "jobs", - "rel" : "collection" - } - ], - "available_upto" : 2147483647, - "ib_rate" : 0, - "besteffort" : "YES", - "opa_count" : 0, - "id" : 16, - "type" : "default", - "production" : "YES", - "memnode" : 131072, - "desktop_computing" : "NO", - "opa_rate" : 0, - "last_job_date" : 0, - "eth_rate" : 10, - "opa" : "NO", - "gpudevice" : 3, - "cpuarch" : "x86_64", - "host" : "clustera-1.fakesite.grid5000.fr", - "wattmeter" : "MULTIPLE", - "next_finaud_decision" : "NO", - "cluster_priority" : 201906, - "gpu_count" : 4, - "maintenance" : "NO", - "next_state" : "UnChanged", - "mic" : "NO", - "gpu_model" : "GeForce RTX 2080 Ti", - "ib_count" : 0, - "eth_count" : 1, - "switch" : "gw-fakesite", - "cputype" : "Intel Xeon Silver 4110", - "virtual" : "ivt", - "cpu" : 2, - "drain" : "NO", - "memcpu" : 65536, - "deploy" : "NO", - "cpufreq" : "2.1", - "memcore" : 8192, - "myri" : "NO", - "max_walltime" : 86400, - "myri_count" : 0, - "ip" : "172.16.64.1", - "core" : 16, - "suspended_jobs" : "NO", - "disk_reservation_count" : 0, - "ib" : "NO", - "network_address" : "clustera-1.fakesite.grid5000.fr", - "state_num" : 1 - }, - { - "host" : "clustera-2.fakesite.grid5000.fr", - "cpuarch" : "x86_64", - "gpudevice" : 0, - "next_finaud_decision" : "NO", - "wattmeter" : "MULTIPLE", - "maintenance" : "NO", - "cluster_priority" : 201906, - "gpu_count" : 4, - "next_state" : "UnChanged", - "mic" : "NO", - "ib_count" : 0, - "gpu_model" : "GeForce RTX 2080 Ti", - "eth_count" : 1, - "switch" : "gw-fakesite", - "cpu" : 3, - "cputype" : "Intel Xeon Silver 4110", - "virtual" : "ivt", - "drain" : "NO", - "memcpu" : 65536, - "cpufreq" : "2.1", - "memcore" : 8192, - "deploy" : "NO", - "myri" : "NO", - "max_walltime" : 86400, - "myri_count" : 0, - "core" : 17, - "ip" : "172.16.64.2", - "disk_reservation_count" : 0, - "ib" : "NO", - "suspended_jobs" : "NO", - "state_num" : 1, - "network_address" : "clustera-2.fakesite.grid5000.fr", - "last_available_upto" : 0, - "finaud_decision" : "NO", - "api_timestamp" : 1568902577, - "myri_rate" : 0, - "scheduler_priority" : 0, - "cpucore" : 8, - "nodemodel" : "Dell PowerEdge T640", - "expiry_date" : 0, - "gpu" : 5, - "disktype" : "SATA", - "cluster" : "clustera", - "state" : "Alive", - "available_upto" : 2147483647, - "links" : [ - { - "title" : "node", - "href" : "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", - "rel" : "member" - }, - { - "href" : "//oarapi/resources/17", - "rel" : "self" - }, - { - "title" : "jobs", - "href" : "//oarapi/resources/17/jobs", - "rel" : "collection" - } - ], - "cpuset" : 0, - "besteffort" : "YES", - "ib_rate" : 0, - "opa_count" : 0, - "id" : 17, - "production" : "YES", - "type" : "default", - "desktop_computing" : "NO", - "memnode" : 131072, - "opa_rate" : 0, - "last_job_date" : 0, - "eth_rate" : 10, - "opa" : "NO" - }, - { - "max_walltime" : 86400, - "myri" : "NO", - "myri_count" : 0, - "ip" : "172.16.64.2", - "core" : 18, - "ib" : "NO", - "disk_reservation_count" : 0, - "suspended_jobs" : "NO", - "state_num" : 1, - "network_address" : "clustera-2.fakesite.grid5000.fr", - "cpu" : 3, - "cputype" : "Intel Xeon Silver 4110", - "virtual" : "ivt", - "drain" : "NO", - "memcpu" : 65536, - "cpufreq" : "2.1", - "memcore" : 8192, - "deploy" : "NO", - "mic" : "NO", - "ib_count" : 0, - "gpu_model" : "GeForce RTX 2080 Ti", - "eth_count" : 1, - "switch" : "gw-fakesite", - "cpuarch" : "x86_64", - "host" : "clustera-2.fakesite.grid5000.fr", - "gpudevice" : 0, - "wattmeter" : "MULTIPLE", - "next_finaud_decision" : "NO", - "maintenance" : "NO", - "cluster_priority" : 201906, - "gpu_count" : 4, - "next_state" : "UnChanged", - "desktop_computing" : "NO", - "memnode" : 131072, - "opa_rate" : 0, - "last_job_date" : 0, - "eth_rate" : 10, - "opa" : "NO", - "available_upto" : 2147483647, - "cpuset" : 1, - "links" : [ - { - "rel" : "member", - "title" : "node", - "href" : "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" - }, - { - "href" : "//oarapi/resources/18", - "rel" : "self" - }, - { - "href" : "//oarapi/resources/18/jobs", - "title" : "jobs", - "rel" : "collection" - } - ], - "besteffort" : "YES", - "ib_rate" : 0, - "opa_count" : 0, - "id" : 18, - "production" : "YES", - "type" : "default", - "expiry_date" : 0, - "nodemodel" : "Dell PowerEdge T640", - "gpu" : 5, - "cluster" : "clustera", - "disktype" : "SATA", - "state" : "Alive", - "last_available_upto" : 0, - "finaud_decision" : "NO", - "api_timestamp" : 1568902577, - "myri_rate" : 0, - "cpucore" : 8, - "scheduler_priority" : 0 - }, - { - "eth_rate" : 10, - "opa" : "NO", - "last_job_date" : 0, - "opa_rate" : 0, - "memnode" : 131072, - "desktop_computing" : "NO", - "type" : "default", - "production" : "YES", - "opa_count" : 0, - "id" : 19, - "ib_rate" : 0, - "besteffort" : "YES", - "cpuset" : 2, - "links" : [ - { - "rel" : "member", - "title" : "node", - "href" : "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" - }, - { - "rel" : "self", - "href" : "//oarapi/resources/19" - }, - { - "href" : "//oarapi/resources/19/jobs", - "title" : "jobs", - "rel" : "collection" - } - ], - "available_upto" : 2147483647, - "state" : "Alive", - "disktype" : "SATA", - "cluster" : "clustera", - "gpu" : 5, - "expiry_date" : 0, - "nodemodel" : "Dell PowerEdge T640", - "cpucore" : 8, - "scheduler_priority" : 0, - "myri_rate" : 0, - "api_timestamp" : 1568902577, - "finaud_decision" : "NO", - "last_available_upto" : 0, - "network_address" : "clustera-2.fakesite.grid5000.fr", - "state_num" : 1, - "suspended_jobs" : "NO", - "disk_reservation_count" : 0, - "ib" : "NO", - "myri_count" : 0, - "ip" : "172.16.64.2", - "core" : 19, - "max_walltime" : 86400, - "myri" : "NO", - "deploy" : "NO", - "cpufreq" : "2.1", - "memcore" : 8192, - "memcpu" : 65536, - "drain" : "NO", - "virtual" : "ivt", - "cputype" : "Intel Xeon Silver 4110", - "cpu" : 3, - "switch" : "gw-fakesite", - "eth_count" : 1, - "gpu_model" : "GeForce RTX 2080 Ti", - "ib_count" : 0, - "mic" : "NO", - "next_state" : "UnChanged", - "cluster_priority" : 201906, - "gpu_count" : 4, - "maintenance" : "NO", - "next_finaud_decision" : "NO", - "wattmeter" : "MULTIPLE", - "gpudevice" : 0, - "host" : "clustera-2.fakesite.grid5000.fr", - "cpuarch" : "x86_64" - }, - { - "state" : "Alive", - "disktype" : "SATA", - "cluster" : "clustera", - "gpu" : 5, - "nodemodel" : "Dell PowerEdge T640", - "expiry_date" : 0, - "scheduler_priority" : 0, - "cpucore" : 8, - "myri_rate" : 0, - "api_timestamp" : 1568902577, - "finaud_decision" : "NO", - "last_available_upto" : 0, - "opa" : "NO", - "eth_rate" : 10, - "last_job_date" : 0, - "opa_rate" : 0, - "memnode" : 131072, - "desktop_computing" : "NO", - "type" : "default", - "production" : "YES", - "id" : 20, - "opa_count" : 0, - "ib_rate" : 0, - "besteffort" : "YES", - "links" : [ - { - "title" : "node", - "href" : "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", - "rel" : "member" - }, - { - "rel" : "self", - "href" : "//oarapi/resources/20" - }, - { - "href" : "//oarapi/resources/20/jobs", - "title" : "jobs", - "rel" : "collection" - } - ], - "cpuset" : 3, - "available_upto" : 2147483647, - "switch" : "gw-fakesite", - "eth_count" : 1, - "gpu_model" : "GeForce RTX 2080 Ti", - "ib_count" : 0, - "mic" : "NO", - "next_state" : "UnChanged", - "gpu_count" : 4, - "cluster_priority" : 201906, - "maintenance" : "NO", - "next_finaud_decision" : "NO", - "wattmeter" : "MULTIPLE", - "gpudevice" : 0, - "cpuarch" : "x86_64", - "host" : "clustera-2.fakesite.grid5000.fr", - "network_address" : "clustera-2.fakesite.grid5000.fr", - "state_num" : 1, - "suspended_jobs" : "NO", - "disk_reservation_count" : 0, - "ib" : "NO", - "myri_count" : 0, - "core" : 20, - "ip" : "172.16.64.2", - "max_walltime" : 86400, - "myri" : "NO", - "deploy" : "NO", - "cpufreq" : "2.1", - "memcore" : 8192, - "memcpu" : 65536, - "drain" : "NO", - "cputype" : "Intel Xeon Silver 4110", - "virtual" : "ivt", - "cpu" : 3 - }, - { - "cluster_priority" : 201906, - "gpu_count" : 4, - "maintenance" : "NO", - "next_state" : "UnChanged", - "gpudevice" : 1, - "cpuarch" : "x86_64", - "host" : "clustera-2.fakesite.grid5000.fr", - "next_finaud_decision" : "NO", - "wattmeter" : "MULTIPLE", - "eth_count" : 1, - "switch" : "gw-fakesite", - "mic" : "NO", - "gpu_model" : "GeForce RTX 2080 Ti", - "ib_count" : 0, - "memcpu" : 65536, - "deploy" : "NO", - "memcore" : 8192, - "cpufreq" : "2.1", - "cputype" : "Intel Xeon Silver 4110", - "virtual" : "ivt", - "cpu" : 3, - "drain" : "NO", - "suspended_jobs" : "NO", - "disk_reservation_count" : 0, - "ib" : "NO", - "network_address" : "clustera-2.fakesite.grid5000.fr", - "state_num" : 1, - "myri" : "NO", - "max_walltime" : 86400, - "myri_count" : 0, - "core" : 21, - "ip" : "172.16.64.2", - "myri_rate" : 0, - "api_timestamp" : 1568902577, - "scheduler_priority" : 0, - "cpucore" : 8, - "last_available_upto" : 0, - "finaud_decision" : "NO", - "gpu" : 6, - "state" : "Alive", - "disktype" : "SATA", - "cluster" : "clustera", - "nodemodel" : "Dell PowerEdge T640", - "expiry_date" : 0, - "opa_count" : 0, - "id" : 21, - "type" : "default", - "production" : "YES", - "cpuset" : 4, - "links" : [ - { - "title" : "node", - "href" : "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", - "rel" : "member" - }, - { - "rel" : "self", - "href" : "//oarapi/resources/21" - }, - { - "rel" : "collection", - "href" : "//oarapi/resources/21/jobs", - "title" : "jobs" - } - ], - "available_upto" : 2147483647, - "ib_rate" : 0, - "besteffort" : "YES", - "last_job_date" : 0, - "opa" : "NO", - "eth_rate" : 10, - "memnode" : 131072, - "desktop_computing" : "NO", - "opa_rate" : 0 - }, - { - "opa_count" : 0, - "id" : 22, - "type" : "default", - "production" : "YES", - "links" : [ - { - "rel" : "member", - "title" : "node", - "href" : "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" - }, - { - "rel" : "self", - "href" : "//oarapi/resources/22" - }, - { - "title" : "jobs", - "href" : "//oarapi/resources/22/jobs", - "rel" : "collection" - } - ], - "cpuset" : 5, - "available_upto" : 2147483647, - "ib_rate" : 0, - "besteffort" : "YES", - "last_job_date" : 0, - "eth_rate" : 10, - "opa" : "NO", - "memnode" : 131072, - "desktop_computing" : "NO", - "opa_rate" : 0, - "myri_rate" : 0, - "api_timestamp" : 1568902577, - "scheduler_priority" : 0, - "cpucore" : 8, - "last_available_upto" : 0, - "finaud_decision" : "NO", - "gpu" : 6, - "state" : "Alive", - "disktype" : "SATA", - "cluster" : "clustera", - "nodemodel" : "Dell PowerEdge T640", - "expiry_date" : 0, - "memcpu" : 65536, - "deploy" : "NO", - "cpufreq" : "2.1", - "memcore" : 8192, - "virtual" : "ivt", - "cputype" : "Intel Xeon Silver 4110", - "cpu" : 3, - "drain" : "NO", - "suspended_jobs" : "NO", - "disk_reservation_count" : 0, - "ib" : "NO", - "state_num" : 1, - "network_address" : "clustera-2.fakesite.grid5000.fr", - "max_walltime" : 86400, - "myri" : "NO", - "core" : 22, - "myri_count" : 0, - "ip" : "172.16.64.2", - "gpu_count" : 4, - "cluster_priority" : 201906, - "maintenance" : "NO", - "next_state" : "UnChanged", - "gpudevice" : 1, - "cpuarch" : "x86_64", - "host" : "clustera-2.fakesite.grid5000.fr", - "next_finaud_decision" : "NO", - "wattmeter" : "MULTIPLE", - "eth_count" : 1, - "switch" : "gw-fakesite", - "mic" : "NO", - "gpu_model" : "GeForce RTX 2080 Ti", - "ib_count" : 0 - }, - { - "gpudevice" : 1, - "cpuarch" : "x86_64", - "host" : "clustera-2.fakesite.grid5000.fr", - "wattmeter" : "MULTIPLE", - "next_finaud_decision" : "NO", - "gpu_count" : 4, - "cluster_priority" : 201906, - "maintenance" : "NO", - "next_state" : "UnChanged", - "mic" : "NO", - "gpu_model" : "GeForce RTX 2080 Ti", - "ib_count" : 0, - "eth_count" : 1, - "switch" : "gw-fakesite", - "cputype" : "Intel Xeon Silver 4110", - "virtual" : "ivt", - "cpu" : 3, - "drain" : "NO", - "memcpu" : 65536, - "deploy" : "NO", - "memcore" : 8192, - "cpufreq" : "2.1", - "max_walltime" : 86400, - "myri" : "NO", - "ip" : "172.16.64.2", - "myri_count" : 0, - "core" : 23, - "suspended_jobs" : "NO", - "disk_reservation_count" : 0, - "ib" : "NO", - "state_num" : 1, - "network_address" : "clustera-2.fakesite.grid5000.fr", - "last_available_upto" : 0, - "finaud_decision" : "NO", - "myri_rate" : 0, - "api_timestamp" : 1568902577, - "scheduler_priority" : 0, - "cpucore" : 8, - "expiry_date" : 0, - "nodemodel" : "Dell PowerEdge T640", - "gpu" : 6, - "state" : "Alive", - "disktype" : "SATA", - "cluster" : "clustera", - "links" : [ - { - "title" : "node", - "href" : "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", - "rel" : "member" - }, - { - "rel" : "self", - "href" : "//oarapi/resources/23" - }, - { - "rel" : "collection", - "href" : "//oarapi/resources/23/jobs", - "title" : "jobs" - } - ], - "cpuset" : 6, - "available_upto" : 2147483647, - "ib_rate" : 0, - "besteffort" : "YES", - "id" : 23, - "opa_count" : 0, - "type" : "default", - "production" : "YES", - "memnode" : 131072, - "desktop_computing" : "NO", - "opa_rate" : 0, - "last_job_date" : 0, - "eth_rate" : 10, - "opa" : "NO" - }, - { - "mic" : "NO", - "ib_count" : 0, - "gpu_model" : "GeForce RTX 2080 Ti", - "eth_count" : 1, - "switch" : "gw-fakesite", - "host" : "clustera-2.fakesite.grid5000.fr", - "cpuarch" : "x86_64", - "gpudevice" : 1, - "wattmeter" : "MULTIPLE", - "next_finaud_decision" : "NO", - "maintenance" : "NO", - "gpu_count" : 4, - "cluster_priority" : 201906, - "next_state" : "UnChanged", - "myri" : "NO", - "max_walltime" : 86400, - "myri_count" : 0, - "ip" : "172.16.64.2", - "core" : 24, - "disk_reservation_count" : 0, - "ib" : "NO", - "suspended_jobs" : "NO", - "state_num" : 1, - "network_address" : "clustera-2.fakesite.grid5000.fr", - "cpu" : 3, - "virtual" : "ivt", - "cputype" : "Intel Xeon Silver 4110", - "drain" : "NO", - "memcpu" : 65536, - "memcore" : 8192, - "cpufreq" : "2.1", - "deploy" : "NO", - "expiry_date" : 0, - "nodemodel" : "Dell PowerEdge T640", - "gpu" : 6, - "cluster" : "clustera", - "disktype" : "SATA", - "state" : "Alive", - "last_available_upto" : 0, - "finaud_decision" : "NO", - "api_timestamp" : 1568902577, - "myri_rate" : 0, - "cpucore" : 8, - "scheduler_priority" : 0, - "desktop_computing" : "NO", - "memnode" : 131072, - "opa_rate" : 0, - "last_job_date" : 0, - "opa" : "NO", - "eth_rate" : 10, - "available_upto" : 2147483647, - "links" : [ - { - "rel" : "member", - "title" : "node", - "href" : "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" - }, - { - "href" : "//oarapi/resources/24", - "rel" : "self" - }, - { - "rel" : "collection", - "href" : "//oarapi/resources/24/jobs", - "title" : "jobs" - } - ], - "cpuset" : 7, - "besteffort" : "YES", - "ib_rate" : 0, - "opa_count" : 0, - "id" : 24, - "production" : "YES", - "type" : "default" - }, - { - "next_finaud_decision" : "NO", - "wattmeter" : "MULTIPLE", - "gpudevice" : 2, - "host" : "clustera-2.fakesite.grid5000.fr", - "cpuarch" : "x86_64", - "next_state" : "UnChanged", - "gpu_count" : 4, - "cluster_priority" : 201906, - "maintenance" : "NO", - "gpu_model" : "GeForce RTX 2080 Ti", - "ib_count" : 0, - "mic" : "NO", - "switch" : "gw-fakesite", - "eth_count" : 1, - "drain" : "NO", - "virtual" : "ivt", - "cputype" : "Intel Xeon Silver 4110", - "cpu" : 4, - "deploy" : "NO", - "cpufreq" : "2.1", - "memcore" : 8192, - "memcpu" : 65536, - "myri_count" : 0, - "ip" : "172.16.64.2", - "core" : 25, - "myri" : "NO", - "max_walltime" : 86400, - "state_num" : 1, - "network_address" : "clustera-2.fakesite.grid5000.fr", - "suspended_jobs" : "NO", - "disk_reservation_count" : 0, - "ib" : "NO", - "finaud_decision" : "NO", - "last_available_upto" : 0, - "cpucore" : 8, - "scheduler_priority" : 0, - "myri_rate" : 0, - "api_timestamp" : 1568902577, - "expiry_date" : 0, - "nodemodel" : "Dell PowerEdge T640", - "state" : "Alive", - "cluster" : "clustera", - "disktype" : "SATA", - "gpu" : 7, - "ib_rate" : 0, - "besteffort" : "YES", - "links" : [ - { - "rel" : "member", - "title" : "node", - "href" : "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" - }, - { - "href" : "//oarapi/resources/25", - "rel" : "self" - }, - { - "href" : "//oarapi/resources/25/jobs", - "title" : "jobs", - "rel" : "collection" - } - ], - "cpuset" : 8, - "available_upto" : 2147483647, - "type" : "default", - "production" : "YES", - "opa_count" : 0, - "id" : 25, - "opa_rate" : 0, - "memnode" : 131072, - "desktop_computing" : "NO", - "opa" : "NO", - "eth_rate" : 10, - "last_job_date" : 0 - }, - { - "id" : 26, - "opa_count" : 0, - "type" : "default", - "production" : "YES", - "cpuset" : 9, - "links" : [ - { - "href" : "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", - "title" : "node", - "rel" : "member" - }, - { - "href" : "//oarapi/resources/26", - "rel" : "self" - }, - { - "rel" : "collection", - "title" : "jobs", - "href" : "//oarapi/resources/26/jobs" - } - ], - "available_upto" : 2147483647, - "ib_rate" : 0, - "besteffort" : "YES", - "last_job_date" : 0, - "eth_rate" : 10, - "opa" : "NO", - "memnode" : 131072, - "desktop_computing" : "NO", - "opa_rate" : 0, - "myri_rate" : 0, - "api_timestamp" : 1568902577, - "cpucore" : 8, - "scheduler_priority" : 0, - "last_available_upto" : 0, - "finaud_decision" : "NO", - "gpu" : 7, - "state" : "Alive", - "cluster" : "clustera", - "disktype" : "SATA", - "nodemodel" : "Dell PowerEdge T640", - "expiry_date" : 0, - "memcpu" : 65536, - "deploy" : "NO", - "memcore" : 8192, - "cpufreq" : "2.1", - "cputype" : "Intel Xeon Silver 4110", - "virtual" : "ivt", - "cpu" : 4, - "drain" : "NO", - "suspended_jobs" : "NO", - "disk_reservation_count" : 0, - "ib" : "NO", - "network_address" : "clustera-2.fakesite.grid5000.fr", - "state_num" : 1, - "max_walltime" : 86400, - "myri" : "NO", - "core" : 26, - "myri_count" : 0, - "ip" : "172.16.64.2", - "gpu_count" : 4, - "cluster_priority" : 201906, - "maintenance" : "NO", - "next_state" : "UnChanged", - "gpudevice" : 2, - "cpuarch" : "x86_64", - "host" : "clustera-2.fakesite.grid5000.fr", - "next_finaud_decision" : "NO", - "wattmeter" : "MULTIPLE", - "eth_count" : 1, - "switch" : "gw-fakesite", - "mic" : "NO", - "gpu_model" : "GeForce RTX 2080 Ti", - "ib_count" : 0 - }, - { - "opa_rate" : 0, - "memnode" : 131072, - "desktop_computing" : "NO", - "eth_rate" : 10, - "opa" : "NO", - "last_job_date" : 0, - "ib_rate" : 0, - "besteffort" : "YES", - "links" : [ - { - "rel" : "member", - "href" : "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", - "title" : "node" - }, - { - "rel" : "self", - "href" : "//oarapi/resources/27" - }, - { - "href" : "//oarapi/resources/27/jobs", - "title" : "jobs", - "rel" : "collection" - } - ], - "cpuset" : 10, - "available_upto" : 2147483647, - "type" : "default", - "production" : "YES", - "opa_count" : 0, - "id" : 27, - "nodemodel" : "Dell PowerEdge T640", - "expiry_date" : 0, - "state" : "Alive", - "disktype" : "SATA", - "cluster" : "clustera", - "gpu" : 7, - "finaud_decision" : "NO", - "last_available_upto" : 0, - "cpucore" : 8, - "scheduler_priority" : 0, - "myri_rate" : 0, - "api_timestamp" : 1568902577, - "core" : 27, - "myri_count" : 0, - "ip" : "172.16.64.2", - "myri" : "NO", - "max_walltime" : 86400, - "network_address" : "clustera-2.fakesite.grid5000.fr", - "state_num" : 1, - "suspended_jobs" : "NO", - "ib" : "NO", - "disk_reservation_count" : 0, - "drain" : "NO", - "cputype" : "Intel Xeon Silver 4110", - "virtual" : "ivt", - "cpu" : 4, - "deploy" : "NO", - "memcore" : 8192, - "cpufreq" : "2.1", - "memcpu" : 65536, - "gpu_model" : "GeForce RTX 2080 Ti", - "ib_count" : 0, - "mic" : "NO", - "switch" : "gw-fakesite", - "eth_count" : 1, - "wattmeter" : "MULTIPLE", - "next_finaud_decision" : "NO", - "gpudevice" : 2, - "cpuarch" : "x86_64", - "host" : "clustera-2.fakesite.grid5000.fr", - "next_state" : "UnChanged", - "gpu_count" : 4, - "cluster_priority" : 201906, - "maintenance" : "NO" - }, - { - "next_state" : "UnChanged", - "maintenance" : "NO", - "cluster_priority" : 201906, - "gpu_count" : 4, - "next_finaud_decision" : "NO", - "wattmeter" : "MULTIPLE", - "cpuarch" : "x86_64", - "host" : "clustera-2.fakesite.grid5000.fr", - "gpudevice" : 2, - "switch" : "gw-fakesite", - "eth_count" : 1, - "ib_count" : 0, - "gpu_model" : "GeForce RTX 2080 Ti", - "mic" : "NO", - "cpufreq" : "2.1", - "memcore" : 8192, - "deploy" : "NO", - "memcpu" : 65536, - "drain" : "NO", - "cpu" : 4, - "virtual" : "ivt", - "cputype" : "Intel Xeon Silver 4110", - "state_num" : 1, - "network_address" : "clustera-2.fakesite.grid5000.fr", - "disk_reservation_count" : 0, - "ib" : "NO", - "suspended_jobs" : "NO", - "core" : 28, - "myri_count" : 0, - "ip" : "172.16.64.2", - "max_walltime" : 86400, - "myri" : "NO", - "cpucore" : 8, - "scheduler_priority" : 0, - "api_timestamp" : 1568902577, - "myri_rate" : 0, - "finaud_decision" : "NO", - "last_available_upto" : 0, - "cluster" : "clustera", - "disktype" : "SATA", - "state" : "Alive", - "gpu" : 7, - "expiry_date" : 0, - "nodemodel" : "Dell PowerEdge T640", - "production" : "YES", - "type" : "default", - "opa_count" : 0, - "id" : 28, - "besteffort" : "YES", - "ib_rate" : 0, - "available_upto" : 2147483647, - "links" : [ - { - "rel" : "member", - "title" : "node", - "href" : "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" - }, - { - "href" : "//oarapi/resources/28", - "rel" : "self" - }, - { - "rel" : "collection", - "href" : "//oarapi/resources/28/jobs", - "title" : "jobs" - } - ], - "cpuset" : 11, - "eth_rate" : 10, - "opa" : "NO", - "last_job_date" : 0, - "opa_rate" : 0, - "desktop_computing" : "NO", - "memnode" : 131072 - }, - { - "drain" : "NO", - "cpu" : 4, - "virtual" : "ivt", - "cputype" : "Intel Xeon Silver 4110", - "memcore" : 8192, - "cpufreq" : "2.1", - "deploy" : "NO", - "memcpu" : 65536, - "core" : 29, - "myri_count" : 0, - "ip" : "172.16.64.2", - "myri" : "NO", - "max_walltime" : 86400, - "state_num" : 1, - "network_address" : "clustera-2.fakesite.grid5000.fr", - "disk_reservation_count" : 0, - "ib" : "NO", - "suspended_jobs" : "NO", - "wattmeter" : "MULTIPLE", - "next_finaud_decision" : "NO", - "host" : "clustera-2.fakesite.grid5000.fr", - "cpuarch" : "x86_64", - "gpudevice" : 3, - "next_state" : "UnChanged", - "maintenance" : "NO", - "cluster_priority" : 201906, - "gpu_count" : 4, - "ib_count" : 0, - "gpu_model" : "GeForce RTX 2080 Ti", - "mic" : "NO", - "switch" : "gw-fakesite", - "eth_count" : 1, - "besteffort" : "YES", - "ib_rate" : 0, - "available_upto" : 2147483647, - "links" : [ - { - "rel" : "member", - "href" : "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", - "title" : "node" - }, - { - "rel" : "self", - "href" : "//oarapi/resources/29" - }, - { - "rel" : "collection", - "href" : "//oarapi/resources/29/jobs", - "title" : "jobs" - } - ], - "cpuset" : 12, - "production" : "YES", - "type" : "default", - "id" : 29, - "opa_count" : 0, - "opa_rate" : 0, - "desktop_computing" : "NO", - "memnode" : 131072, - "eth_rate" : 10, - "opa" : "NO", - "last_job_date" : 0, - "finaud_decision" : "NO", - "last_available_upto" : 0, - "cpucore" : 8, - "scheduler_priority" : 0, - "api_timestamp" : 1568902577, - "myri_rate" : 0, - "nodemodel" : "Dell PowerEdge T640", - "expiry_date" : 0, - "disktype" : "SATA", - "cluster" : "clustera", - "state" : "Alive", - "gpu" : 8 - }, - { - "gpu" : 8, - "state" : "Alive", - "cluster" : "clustera", - "disktype" : "SATA", - "expiry_date" : 0, - "nodemodel" : "Dell PowerEdge T640", - "myri_rate" : 0, - "api_timestamp" : 1568902577, - "cpucore" : 8, - "scheduler_priority" : 0, - "last_available_upto" : 0, - "finaud_decision" : "NO", - "last_job_date" : 0, - "opa" : "NO", - "eth_rate" : 10, - "memnode" : 131072, - "desktop_computing" : "NO", - "opa_rate" : 0, - "id" : 30, - "opa_count" : 0, - "type" : "default", - "production" : "YES", - "links" : [ - { - "title" : "node", - "href" : "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", - "rel" : "member" - }, - { - "rel" : "self", - "href" : "//oarapi/resources/30" - }, - { - "title" : "jobs", - "href" : "//oarapi/resources/30/jobs", - "rel" : "collection" - } - ], - "cpuset" : 13, - "available_upto" : 2147483647, - "ib_rate" : 0, - "besteffort" : "YES", - "eth_count" : 1, - "switch" : "gw-fakesite", - "mic" : "NO", - "gpu_model" : "GeForce RTX 2080 Ti", - "ib_count" : 0, - "gpu_count" : 4, - "cluster_priority" : 201906, - "maintenance" : "NO", - "next_state" : "UnChanged", - "gpudevice" : 3, - "cpuarch" : "x86_64", - "host" : "clustera-2.fakesite.grid5000.fr", - "wattmeter" : "MULTIPLE", - "next_finaud_decision" : "NO", - "suspended_jobs" : "NO", - "ib" : "NO", - "disk_reservation_count" : 0, - "network_address" : "clustera-2.fakesite.grid5000.fr", - "state_num" : 1, - "max_walltime" : 86400, - "myri" : "NO", - "myri_count" : 0, - "core" : 30, - "ip" : "172.16.64.2", - "memcpu" : 65536, - "deploy" : "NO", - "memcore" : 8192, - "cpufreq" : "2.1", - "cputype" : "Intel Xeon Silver 4110", - "virtual" : "ivt", - "cpu" : 4, - "drain" : "NO" - }, - { - "drain" : "NO", - "cputype" : "Intel Xeon Silver 4110", - "virtual" : "ivt", - "cpu" : 4, - "deploy" : "NO", - "cpufreq" : "2.1", - "memcore" : 8192, - "memcpu" : 65536, - "myri_count" : 0, - "ip" : "172.16.64.2", - "core" : 31, - "max_walltime" : 86400, - "myri" : "NO", - "state_num" : 1, - "network_address" : "clustera-2.fakesite.grid5000.fr", - "suspended_jobs" : "NO", - "disk_reservation_count" : 0, - "ib" : "NO", - "next_finaud_decision" : "NO", - "wattmeter" : "MULTIPLE", - "gpudevice" : 3, - "host" : "clustera-2.fakesite.grid5000.fr", - "cpuarch" : "x86_64", - "next_state" : "UnChanged", - "gpu_count" : 4, - "cluster_priority" : 201906, - "maintenance" : "NO", - "gpu_model" : "GeForce RTX 2080 Ti", - "ib_count" : 0, - "mic" : "NO", - "switch" : "gw-fakesite", - "eth_count" : 1, - "ib_rate" : 0, - "besteffort" : "YES", - "cpuset" : 14, - "links" : [ - { - "title" : "node", - "href" : "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", - "rel" : "member" - }, - { - "rel" : "self", - "href" : "//oarapi/resources/31" - }, - { - "href" : "//oarapi/resources/31/jobs", - "title" : "jobs", - "rel" : "collection" - } - ], - "available_upto" : 2147483647, - "type" : "default", - "production" : "YES", - "opa_count" : 0, - "id" : 31, - "opa_rate" : 0, - "memnode" : 131072, - "desktop_computing" : "NO", - "eth_rate" : 10, - "opa" : "NO", - "last_job_date" : 0, - "finaud_decision" : "NO", - "last_available_upto" : 0, - "cpucore" : 8, - "scheduler_priority" : 0, - "myri_rate" : 0, - "api_timestamp" : 1568902577, - "expiry_date" : 0, - "nodemodel" : "Dell PowerEdge T640", - "state" : "Alive", - "cluster" : "clustera", - "disktype" : "SATA", - "gpu" : 8 - }, - { - "switch" : "gw-fakesite", - "eth_count" : 1, - "ib_count" : 0, - "gpu_model" : "GeForce RTX 2080 Ti", - "mic" : "NO", - "next_state" : "UnChanged", - "maintenance" : "NO", - "cluster_priority" : 201906, - "gpu_count" : 4, - "wattmeter" : "MULTIPLE", - "next_finaud_decision" : "NO", - "cpuarch" : "x86_64", - "host" : "clustera-2.fakesite.grid5000.fr", - "gpudevice" : 3, - "network_address" : "clustera-2.fakesite.grid5000.fr", - "state_num" : 1, - "ib" : "NO", - "disk_reservation_count" : 0, - "suspended_jobs" : "NO", - "myri_count" : 0, - "core" : 32, - "ip" : "172.16.64.2", - "max_walltime" : 86400, - "myri" : "NO", - "cpufreq" : "2.1", - "memcore" : 8192, - "deploy" : "NO", - "memcpu" : 65536, - "drain" : "NO", - "cpu" : 4, - "virtual" : "ivt", - "cputype" : "Intel Xeon Silver 4110", - "cluster" : "clustera", - "disktype" : "SATA", - "state" : "Alive", - "gpu" : 8, - "nodemodel" : "Dell PowerEdge T640", - "expiry_date" : 0, - "scheduler_priority" : 0, - "cpucore" : 8, - "api_timestamp" : 1568902577, - "myri_rate" : 0, - "finaud_decision" : "NO", - "last_available_upto" : 0, - "opa" : "NO", - "eth_rate" : 10, - "last_job_date" : 0, - "opa_rate" : 0, - "desktop_computing" : "NO", - "memnode" : 131072, - "production" : "YES", - "type" : "default", - "opa_count" : 0, - "id" : 32, - "besteffort" : "YES", - "ib_rate" : 0, - "available_upto" : 2147483647, - "cpuset" : 15, - "links" : [ - { - "rel" : "member", - "href" : "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", - "title" : "node" - }, - { - "href" : "//oarapi/resources/32", - "rel" : "self" - }, - { - "rel" : "collection", - "href" : "//oarapi/resources/32/jobs", - "title" : "jobs" - } - ] - } - ], - "total" : 32, - "links" : [ - { - "href" : "//oarapi/resources/details.json?limit=999999&offset=0", - "rel" : "self" - } - ] + "offset": 0, + "api_timestamp": 1568902577, + "items": [ + { + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "gpu": 1, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "cpuset": 0, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/1" + }, + { + "href": "//oarapi/resources/1/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "production": "YES", + "type": "default", + "opa_count": 0, + "id": 1, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 0, + "next_state": "UnChanged", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "drain": "NO", + "cpu": 1, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "memcpu": 65536, + "myri_count": 0, + "ip": "172.16.64.1", + "core": 1, + "myri": "NO", + "max_walltime": 86400, + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO" + }, + { + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "id": 2, + "opa_count": 0, + "type": "default", + "production": "YES", + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/2", + "rel": "self" + }, + { + "title": "jobs", + "href": "//oarapi/resources/2/jobs", + "rel": "collection" + } + ], + "cpuset": 1, + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "gpu": 1, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "myri_rate": 0, + "api_timestamp": 1568902577, + "cpucore": 8, + "scheduler_priority": 0, + "last_available_upto": 0, + "finaud_decision": "NO", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "max_walltime": 86400, + "myri": "NO", + "core": 2, + "myri_count": 0, + "ip": "172.16.64.1", + "memcpu": 65536, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpu": 1, + "drain": "NO", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 0, + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE" + }, + { + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "core": 3, + "ip": "172.16.64.1", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 1, + "drain": "NO", + "memcpu": 65536, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "eth_count": 1, + "switch": "gw-fakesite", + "gpudevice": 0, + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_state": "UnChanged", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "cpuset": 2, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/3" + }, + { + "title": "jobs", + "href": "//oarapi/resources/3/jobs", + "rel": "collection" + } + ], + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "opa_count": 0, + "id": 3, + "type": "default", + "production": "YES", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 1, + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "last_available_upto": 0, + "finaud_decision": "NO", + "myri_rate": 0, + "api_timestamp": 1568902577, + "cpucore": 8, + "scheduler_priority": 0 + }, + { + "cpu": 1, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "drain": "NO", + "memcpu": 65536, + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO", + "max_walltime": 86400, + "myri": "NO", + "ip": "172.16.64.1", + "myri_count": 0, + "core": 4, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 0, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "next_state": "UnChanged", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "available_upto": 2147483647, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "rel": "member" + }, + { + "href": "//oarapi/resources/4", + "rel": "self" + }, + { + "href": "//oarapi/resources/4/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "cpuset": 3, + "besteffort": "YES", + "ib_rate": 0, + "id": 4, + "opa_count": 0, + "production": "YES", + "type": "default", + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "scheduler_priority": 0, + "cpucore": 8, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 1, + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive" + }, + { + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "type": "default", + "production": "YES", + "opa_count": 0, + "id": 5, + "ib_rate": 0, + "besteffort": "YES", + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node" + }, + { + "rel": "self", + "href": "//oarapi/resources/5" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/5/jobs" + } + ], + "cpuset": 4, + "available_upto": 2147483647, + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "gpu": 2, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "cpucore": 8, + "scheduler_priority": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "finaud_decision": "NO", + "last_available_upto": 0, + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "suspended_jobs": "NO", + "ib": "NO", + "disk_reservation_count": 0, + "myri_count": 0, + "ip": "172.16.64.1", + "core": 5, + "myri": "NO", + "max_walltime": 86400, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "memcpu": 65536, + "drain": "NO", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 1, + "switch": "gw-fakesite", + "eth_count": 1, + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "next_state": "UnChanged", + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 1, + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr" + }, + { + "opa_count": 0, + "id": 6, + "type": "default", + "production": "YES", + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node" + }, + { + "href": "//oarapi/resources/6", + "rel": "self" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/6/jobs" + } + ], + "cpuset": 5, + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "scheduler_priority": 0, + "cpucore": 8, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 2, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "memcpu": 65536, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpu": 1, + "drain": "NO", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "ip": "172.16.64.1", + "core": 6, + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 1, + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0 + }, + { + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "gpu": 2, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "scheduler_priority": 0, + "cpucore": 8, + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "opa": "NO", + "eth_rate": 10, + "available_upto": 2147483647, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/7", + "rel": "self" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/7/jobs" + } + ], + "cpuset": 6, + "besteffort": "YES", + "ib_rate": 0, + "opa_count": 0, + "id": 7, + "production": "YES", + "type": "default", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "gpudevice": 1, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "next_state": "UnChanged", + "max_walltime": 86400, + "myri": "NO", + "myri_count": 0, + "core": 7, + "ip": "172.16.64.1", + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "cpu": 1, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "drain": "NO", + "memcpu": 65536, + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO" + }, + { + "api_timestamp": 1568902577, + "myri_rate": 0, + "scheduler_priority": 0, + "cpucore": 8, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 2, + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "id": 8, + "opa_count": 0, + "production": "YES", + "type": "default", + "available_upto": 2147483647, + "cpuset": 7, + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node" + }, + { + "href": "//oarapi/resources/8", + "rel": "self" + }, + { + "rel": "collection", + "href": "//oarapi/resources/8/jobs", + "title": "jobs" + } + ], + "besteffort": "YES", + "ib_rate": 0, + "last_job_date": 0, + "opa": "NO", + "eth_rate": 10, + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "next_state": "UnChanged", + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 1, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "memcpu": 65536, + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "cpu": 1, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "drain": "NO", + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "myri": "NO", + "max_walltime": 86400, + "core": 8, + "myri_count": 0, + "ip": "172.16.64.1" + }, + { + "finaud_decision": "NO", + "last_available_upto": 0, + "scheduler_priority": 0, + "cpucore": 8, + "api_timestamp": 1568902577, + "myri_rate": 0, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "gpu": 3, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node" + }, + { + "rel": "self", + "href": "//oarapi/resources/9" + }, + { + "rel": "collection", + "href": "//oarapi/resources/9/jobs", + "title": "jobs" + } + ], + "cpuset": 8, + "production": "YES", + "type": "default", + "id": 9, + "opa_count": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "gpudevice": 2, + "next_state": "UnChanged", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "drain": "NO", + "cpu": 2, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO", + "memcpu": 65536, + "myri_count": 0, + "core": 9, + "ip": "172.16.64.1", + "myri": "NO", + "max_walltime": 86400, + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO" + }, + { + "drain": "NO", + "cpu": 2, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "memcpu": 65536, + "myri_count": 0, + "core": 10, + "ip": "172.16.64.1", + "max_walltime": 86400, + "myri": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "gpudevice": 2, + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "links": [ + { + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node", + "rel": "member" + }, + { + "href": "//oarapi/resources/10", + "rel": "self" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/10/jobs" + } + ], + "cpuset": 9, + "production": "YES", + "type": "default", + "id": 10, + "opa_count": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "gpu": 3 + }, + { + "cpu": 2, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "drain": "NO", + "memcpu": 65536, + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "myri": "NO", + "max_walltime": 86400, + "core": 11, + "myri_count": 0, + "ip": "172.16.64.1", + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "gpudevice": 2, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "next_state": "UnChanged", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "available_upto": 2147483647, + "cpuset": 10, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/11", + "rel": "self" + }, + { + "title": "jobs", + "href": "//oarapi/resources/11/jobs", + "rel": "collection" + } + ], + "besteffort": "YES", + "ib_rate": 0, + "id": 11, + "opa_count": 0, + "production": "YES", + "type": "default", + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "scheduler_priority": 0, + "cpucore": 8, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 3, + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive" + }, + { + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 2, + "switch": "gw-fakesite", + "eth_count": 1, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "memcpu": 65536, + "drain": "NO", + "cpu": 2, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "myri_count": 0, + "ip": "172.16.64.1", + "core": 12, + "myri": "NO", + "max_walltime": 86400, + "scheduler_priority": 0, + "cpucore": 8, + "api_timestamp": 1568902577, + "myri_rate": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "gpu": 3, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "production": "YES", + "type": "default", + "opa_count": 0, + "id": 12, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "links": [ + { + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node", + "rel": "member" + }, + { + "href": "//oarapi/resources/12", + "rel": "self" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/12/jobs" + } + ], + "cpuset": 11, + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072 + }, + { + "core": 13, + "myri_count": 0, + "ip": "172.16.64.1", + "myri": "NO", + "max_walltime": 86400, + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "suspended_jobs": "NO", + "ib": "NO", + "disk_reservation_count": 0, + "drain": "NO", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 2, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "memcpu": 65536, + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 3, + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "next_state": "UnChanged", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "ib_rate": 0, + "besteffort": "YES", + "cpuset": 12, + "links": [ + { + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/13" + }, + { + "href": "//oarapi/resources/13/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "available_upto": 2147483647, + "type": "default", + "production": "YES", + "id": 13, + "opa_count": 0, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "gpu": 4, + "finaud_decision": "NO", + "last_available_upto": 0, + "scheduler_priority": 0, + "cpucore": 8, + "myri_rate": 0, + "api_timestamp": 1568902577 + }, + { + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "gpu": 4, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "cpuset": 13, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "rel": "self", + "href": "//oarapi/resources/14" + }, + { + "rel": "collection", + "href": "//oarapi/resources/14/jobs", + "title": "jobs" + } + ], + "production": "YES", + "type": "default", + "id": 14, + "opa_count": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 3, + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "drain": "NO", + "cpu": 2, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO", + "memcpu": 65536, + "myri_count": 0, + "ip": "172.16.64.1", + "core": 14, + "max_walltime": 86400, + "myri": "NO", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO" + }, + { + "memcpu": 65536, + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "cpu": 2, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "drain": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "max_walltime": 86400, + "myri": "NO", + "myri_count": 0, + "core": 15, + "ip": "172.16.64.1", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "next_state": "UnChanged", + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "gpudevice": 3, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "opa_count": 0, + "id": 15, + "production": "YES", + "type": "default", + "available_upto": 2147483647, + "cpuset": 14, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "rel": "self", + "href": "//oarapi/resources/15" + }, + { + "href": "//oarapi/resources/15/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "besteffort": "YES", + "ib_rate": 0, + "last_job_date": 0, + "opa": "NO", + "eth_rate": 10, + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "cpucore": 8, + "scheduler_priority": 0, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 4, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0 + }, + { + "last_available_upto": 0, + "finaud_decision": "NO", + "myri_rate": 0, + "api_timestamp": 1568902577, + "scheduler_priority": 0, + "cpucore": 8, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 4, + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "cpuset": 15, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/16", + "rel": "self" + }, + { + "href": "//oarapi/resources/16/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "opa_count": 0, + "id": 16, + "type": "default", + "production": "YES", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "gpudevice": 3, + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_state": "UnChanged", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "eth_count": 1, + "switch": "gw-fakesite", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 2, + "drain": "NO", + "memcpu": 65536, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "ip": "172.16.64.1", + "core": 16, + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1 + }, + { + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 0, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "next_state": "UnChanged", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "cpu": 3, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "drain": "NO", + "memcpu": 65536, + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "core": 17, + "ip": "172.16.64.2", + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "scheduler_priority": 0, + "cpucore": 8, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "gpu": 5, + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "available_upto": 2147483647, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "href": "//oarapi/resources/17", + "rel": "self" + }, + { + "title": "jobs", + "href": "//oarapi/resources/17/jobs", + "rel": "collection" + } + ], + "cpuset": 0, + "besteffort": "YES", + "ib_rate": 0, + "opa_count": 0, + "id": 17, + "production": "YES", + "type": "default", + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO" + }, + { + "max_walltime": 86400, + "myri": "NO", + "myri_count": 0, + "ip": "172.16.64.2", + "core": 18, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "cpu": 3, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "drain": "NO", + "memcpu": 65536, + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "gpudevice": 0, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "next_state": "UnChanged", + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "available_upto": 2147483647, + "cpuset": 1, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/18", + "rel": "self" + }, + { + "href": "//oarapi/resources/18/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "besteffort": "YES", + "ib_rate": 0, + "opa_count": 0, + "id": 18, + "production": "YES", + "type": "default", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 5, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "cpucore": 8, + "scheduler_priority": 0 + }, + { + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "type": "default", + "production": "YES", + "opa_count": 0, + "id": 19, + "ib_rate": 0, + "besteffort": "YES", + "cpuset": 2, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "rel": "self", + "href": "//oarapi/resources/19" + }, + { + "href": "//oarapi/resources/19/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "available_upto": 2147483647, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "gpu": 5, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "cpucore": 8, + "scheduler_priority": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "finaud_decision": "NO", + "last_available_upto": 0, + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "myri_count": 0, + "ip": "172.16.64.2", + "core": 19, + "max_walltime": 86400, + "myri": "NO", + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "memcpu": 65536, + "drain": "NO", + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpu": 3, + "switch": "gw-fakesite", + "eth_count": 1, + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "next_state": "UnChanged", + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 0, + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64" + }, + { + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "gpu": 5, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "scheduler_priority": 0, + "cpucore": 8, + "myri_rate": 0, + "api_timestamp": 1568902577, + "finaud_decision": "NO", + "last_available_upto": 0, + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "type": "default", + "production": "YES", + "id": 20, + "opa_count": 0, + "ib_rate": 0, + "besteffort": "YES", + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/20" + }, + { + "href": "//oarapi/resources/20/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "cpuset": 3, + "available_upto": 2147483647, + "switch": "gw-fakesite", + "eth_count": 1, + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "next_state": "UnChanged", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 0, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "myri_count": 0, + "core": 20, + "ip": "172.16.64.2", + "max_walltime": 86400, + "myri": "NO", + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "memcpu": 65536, + "drain": "NO", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 3 + }, + { + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 1, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "memcpu": 65536, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 3, + "drain": "NO", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "core": 21, + "ip": "172.16.64.2", + "myri_rate": 0, + "api_timestamp": 1568902577, + "scheduler_priority": 0, + "cpucore": 8, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 6, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "opa_count": 0, + "id": 21, + "type": "default", + "production": "YES", + "cpuset": 4, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/21" + }, + { + "rel": "collection", + "href": "//oarapi/resources/21/jobs", + "title": "jobs" + } + ], + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "last_job_date": 0, + "opa": "NO", + "eth_rate": 10, + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0 + }, + { + "opa_count": 0, + "id": 22, + "type": "default", + "production": "YES", + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "rel": "self", + "href": "//oarapi/resources/22" + }, + { + "title": "jobs", + "href": "//oarapi/resources/22/jobs", + "rel": "collection" + } + ], + "cpuset": 5, + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "scheduler_priority": 0, + "cpucore": 8, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 6, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "memcpu": 65536, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpu": 3, + "drain": "NO", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "max_walltime": 86400, + "myri": "NO", + "core": 22, + "myri_count": 0, + "ip": "172.16.64.2", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 1, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0 + }, + { + "gpudevice": 1, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_state": "UnChanged", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "eth_count": 1, + "switch": "gw-fakesite", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 3, + "drain": "NO", + "memcpu": 65536, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "max_walltime": 86400, + "myri": "NO", + "ip": "172.16.64.2", + "myri_count": 0, + "core": 23, + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "last_available_upto": 0, + "finaud_decision": "NO", + "myri_rate": 0, + "api_timestamp": 1568902577, + "scheduler_priority": 0, + "cpucore": 8, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 6, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/23" + }, + { + "rel": "collection", + "href": "//oarapi/resources/23/jobs", + "title": "jobs" + } + ], + "cpuset": 6, + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "id": 23, + "opa_count": 0, + "type": "default", + "production": "YES", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO" + }, + { + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 1, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "next_state": "UnChanged", + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "ip": "172.16.64.2", + "core": 24, + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "cpu": 3, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "drain": "NO", + "memcpu": 65536, + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 6, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "cpucore": 8, + "scheduler_priority": 0, + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "opa": "NO", + "eth_rate": 10, + "available_upto": 2147483647, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/24", + "rel": "self" + }, + { + "rel": "collection", + "href": "//oarapi/resources/24/jobs", + "title": "jobs" + } + ], + "cpuset": 7, + "besteffort": "YES", + "ib_rate": 0, + "opa_count": 0, + "id": 24, + "production": "YES", + "type": "default" + }, + { + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 2, + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "next_state": "UnChanged", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "drain": "NO", + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpu": 4, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "memcpu": 65536, + "myri_count": 0, + "ip": "172.16.64.2", + "core": 25, + "myri": "NO", + "max_walltime": 86400, + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "gpu": 7, + "ib_rate": 0, + "besteffort": "YES", + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/25", + "rel": "self" + }, + { + "href": "//oarapi/resources/25/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "cpuset": 8, + "available_upto": 2147483647, + "type": "default", + "production": "YES", + "opa_count": 0, + "id": 25, + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0 + }, + { + "id": 26, + "opa_count": 0, + "type": "default", + "production": "YES", + "cpuset": 9, + "links": [ + { + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "title": "node", + "rel": "member" + }, + { + "href": "//oarapi/resources/26", + "rel": "self" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/26/jobs" + } + ], + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "cpucore": 8, + "scheduler_priority": 0, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 7, + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "memcpu": 65536, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 4, + "drain": "NO", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "max_walltime": 86400, + "myri": "NO", + "core": 26, + "myri_count": 0, + "ip": "172.16.64.2", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 2, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0 + }, + { + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "ib_rate": 0, + "besteffort": "YES", + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "title": "node" + }, + { + "rel": "self", + "href": "//oarapi/resources/27" + }, + { + "href": "//oarapi/resources/27/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "cpuset": 10, + "available_upto": 2147483647, + "type": "default", + "production": "YES", + "opa_count": 0, + "id": 27, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "gpu": 7, + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "core": 27, + "myri_count": 0, + "ip": "172.16.64.2", + "myri": "NO", + "max_walltime": 86400, + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "suspended_jobs": "NO", + "ib": "NO", + "disk_reservation_count": 0, + "drain": "NO", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 4, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "memcpu": 65536, + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "gpudevice": 2, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "next_state": "UnChanged", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO" + }, + { + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "gpudevice": 2, + "switch": "gw-fakesite", + "eth_count": 1, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "memcpu": 65536, + "drain": "NO", + "cpu": 4, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "core": 28, + "myri_count": 0, + "ip": "172.16.64.2", + "max_walltime": 86400, + "myri": "NO", + "cpucore": 8, + "scheduler_priority": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "gpu": 7, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "production": "YES", + "type": "default", + "opa_count": 0, + "id": 28, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/28", + "rel": "self" + }, + { + "rel": "collection", + "href": "//oarapi/resources/28/jobs", + "title": "jobs" + } + ], + "cpuset": 11, + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072 + }, + { + "drain": "NO", + "cpu": 4, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO", + "memcpu": 65536, + "core": 29, + "myri_count": 0, + "ip": "172.16.64.2", + "myri": "NO", + "max_walltime": 86400, + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 3, + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "title": "node" + }, + { + "rel": "self", + "href": "//oarapi/resources/29" + }, + { + "rel": "collection", + "href": "//oarapi/resources/29/jobs", + "title": "jobs" + } + ], + "cpuset": 12, + "production": "YES", + "type": "default", + "id": 29, + "opa_count": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "gpu": 8 + }, + { + "gpu": 8, + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "myri_rate": 0, + "api_timestamp": 1568902577, + "cpucore": 8, + "scheduler_priority": 0, + "last_available_upto": 0, + "finaud_decision": "NO", + "last_job_date": 0, + "opa": "NO", + "eth_rate": 10, + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "id": 30, + "opa_count": 0, + "type": "default", + "production": "YES", + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/30" + }, + { + "title": "jobs", + "href": "//oarapi/resources/30/jobs", + "rel": "collection" + } + ], + "cpuset": 13, + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 3, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "suspended_jobs": "NO", + "ib": "NO", + "disk_reservation_count": 0, + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "max_walltime": 86400, + "myri": "NO", + "myri_count": 0, + "core": 30, + "ip": "172.16.64.2", + "memcpu": 65536, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 4, + "drain": "NO" + }, + { + "drain": "NO", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 4, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "memcpu": 65536, + "myri_count": 0, + "ip": "172.16.64.2", + "core": 31, + "max_walltime": 86400, + "myri": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 3, + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "next_state": "UnChanged", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "ib_rate": 0, + "besteffort": "YES", + "cpuset": 14, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/31" + }, + { + "href": "//oarapi/resources/31/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "available_upto": 2147483647, + "type": "default", + "production": "YES", + "opa_count": 0, + "id": 31, + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "gpu": 8 + }, + { + "switch": "gw-fakesite", + "eth_count": 1, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "gpudevice": 3, + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "myri_count": 0, + "core": 32, + "ip": "172.16.64.2", + "max_walltime": 86400, + "myri": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "memcpu": 65536, + "drain": "NO", + "cpu": 4, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "gpu": 8, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "scheduler_priority": 0, + "cpucore": 8, + "api_timestamp": 1568902577, + "myri_rate": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "production": "YES", + "type": "default", + "opa_count": 0, + "id": 32, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "cpuset": 15, + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "title": "node" + }, + { + "href": "//oarapi/resources/32", + "rel": "self" + }, + { + "rel": "collection", + "href": "//oarapi/resources/32/jobs", + "title": "jobs" + } + ] + } + ], + "total": 32, + "links": [ + { + "href": "//oarapi/resources/details.json?limit=999999&offset=0", + "rel": "self" + } + ] } diff --git a/tests/stub_oar_properties/dump_oar_api_configured_server_with_disk.json b/tests/stub_oar_properties/dump_oar_api_configured_server_with_disk.json new file mode 100644 index 00000000000..64e765c3fbd --- /dev/null +++ b/tests/stub_oar_properties/dump_oar_api_configured_server_with_disk.json @@ -0,0 +1,2978 @@ +{ + "api_timestamp" : 1569497994, + "offset" : 0, + "total" : 38, + "items" : [ + { + "disktype" : "SATA", + "mic" : "NO", + "state" : "Alive", + "scheduler_priority" : 0, + "diskpath" : null, + "switch" : null, + "production" : "YES", + "max_walltime" : 86400, + "disk_reservation_count" : 3, + "eth_count" : 1, + "myri_rate" : 0, + "next_state" : "UnChanged", + "host" : "clusterb-1.fakesite.grid5000.fr", + "nodemodel" : "Dell PowerEdge T640", + "type" : "default", + "ib" : "NO", + "state_num" : 1, + "api_timestamp" : 1569497994, + "memcpu" : 65536, + "gpudevice" : 0, + "gpu_count" : 4, + "wattmeter" : "MULTIPLE", + "last_available_upto" : 0, + "maintenance" : "NO", + "cluster_priority" : 201906, + "links" : [ + { + "rel" : "member", + "href" : "//oarapi/resources/nodes/clusterb-1.fakesite.grid5000.fr", + "title" : "node" + }, + { + "href" : "//oarapi/resources/1", + "rel" : "self" + }, + { + "href" : "//oarapi/resources/1/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "cputype" : "Intel Xeon Silver 4110", + "disk" : null, + "next_finaud_decision" : "NO", + "ib_rate" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "gpu" : 1, + "finaud_decision" : "NO", + "eth_rate" : 10, + "drain" : "NO", + "suspended_jobs" : "NO", + "network_address" : "clusterb-1.fakesite.grid5000.fr", + "cpuset" : 0, + "cpucore" : 8, + "myri_count" : 0, + "cpufreq" : "2.1", + "cpu" : 1, + "last_job_date" : 0, + "deploy" : "NO", + "ib_count" : 0, + "expiry_date" : 0, + "opa_count" : 0, + "memnode" : 131072, + "available_upto" : 2147483647, + "opa_rate" : 0, + "desktop_computing" : "NO", + "virtual" : "ivt", + "id" : 1, + "cluster" : "clusterb", + "cpuarch" : "x86_64", + "ip" : "172.16.64.1", + "memcore" : 8192, + "besteffort" : "YES", + "core" : 1, + "myri" : "NO", + "opa" : "NO" + }, + { + "last_available_upto" : 0, + "wattmeter" : "MULTIPLE", + "links" : [ + { + "rel" : "member", + "href" : "//oarapi/resources/nodes/clusterb-1.fakesite.grid5000.fr", + "title" : "node" + }, + { + "href" : "//oarapi/resources/2", + "rel" : "self" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/2/jobs" + } + ], + "cluster_priority" : 201906, + "maintenance" : "NO", + "memcpu" : 65536, + "api_timestamp" : 1569497994, + "gpu_count" : 4, + "gpudevice" : 0, + "finaud_decision" : "NO", + "gpu" : 1, + "cputype" : "Intel Xeon Silver 4110", + "disk" : null, + "next_finaud_decision" : "NO", + "gpu_model" : "GeForce RTX 2080 Ti", + "ib_rate" : 0, + "switch" : null, + "diskpath" : null, + "disk_reservation_count" : 3, + "production" : "YES", + "max_walltime" : 86400, + "state" : "Alive", + "scheduler_priority" : 0, + "mic" : "NO", + "disktype" : "SATA", + "ib" : "NO", + "type" : "default", + "state_num" : 1, + "host" : "clusterb-1.fakesite.grid5000.fr", + "nodemodel" : "Dell PowerEdge T640", + "next_state" : "UnChanged", + "eth_count" : 1, + "myri_rate" : 0, + "myri" : "NO", + "core" : 2, + "besteffort" : "YES", + "opa" : "NO", + "ib_count" : 0, + "expiry_date" : 0, + "cpufreq" : "2.1", + "myri_count" : 0, + "deploy" : "NO", + "cpucore" : 8, + "cpu" : 1, + "last_job_date" : 0, + "opa_count" : 0, + "drain" : "NO", + "eth_rate" : 10, + "network_address" : "clusterb-1.fakesite.grid5000.fr", + "cpuset" : 1, + "suspended_jobs" : "NO", + "id" : 2, + "cluster" : "clusterb", + "desktop_computing" : "NO", + "virtual" : "ivt", + "memcore" : 8192, + "cpuarch" : "x86_64", + "ip" : "172.16.64.1", + "memnode" : 131072, + "available_upto" : 2147483647, + "opa_rate" : 0 + }, + { + "available_upto" : 2147483647, + "memnode" : 131072, + "opa_rate" : 0, + "id" : 3, + "cluster" : "clusterb", + "virtual" : "ivt", + "desktop_computing" : "NO", + "memcore" : 8192, + "cpuarch" : "x86_64", + "ip" : "172.16.64.1", + "suspended_jobs" : "NO", + "eth_rate" : 10, + "drain" : "NO", + "cpuset" : 2, + "network_address" : "clusterb-1.fakesite.grid5000.fr", + "ib_count" : 0, + "expiry_date" : 0, + "myri_count" : 0, + "cpucore" : 8, + "cpufreq" : "2.1", + "deploy" : "NO", + "cpu" : 1, + "last_job_date" : 0, + "opa_count" : 0, + "opa" : "NO", + "besteffort" : "YES", + "core" : 3, + "myri" : "NO", + "host" : "clusterb-1.fakesite.grid5000.fr", + "next_state" : "UnChanged", + "nodemodel" : "Dell PowerEdge T640", + "myri_rate" : 0, + "eth_count" : 1, + "ib" : "NO", + "type" : "default", + "state_num" : 1, + "state" : "Alive", + "scheduler_priority" : 0, + "disktype" : "SATA", + "mic" : "NO", + "switch" : null, + "diskpath" : null, + "disk_reservation_count" : 3, + "production" : "YES", + "max_walltime" : 86400, + "next_finaud_decision" : "NO", + "disk" : null, + "cputype" : "Intel Xeon Silver 4110", + "gpu_model" : "GeForce RTX 2080 Ti", + "ib_rate" : 0, + "gpu" : 1, + "finaud_decision" : "NO", + "memcpu" : 65536, + "api_timestamp" : 1569497994, + "gpu_count" : 4, + "gpudevice" : 0, + "last_available_upto" : 0, + "wattmeter" : "MULTIPLE", + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterb-1.fakesite.grid5000.fr", + "rel" : "member", + "title" : "node" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/3" + }, + { + "title" : "jobs", + "rel" : "collection", + "href" : "//oarapi/resources/3/jobs" + } + ], + "cluster_priority" : 201906, + "maintenance" : "NO" + }, + { + "finaud_decision" : "NO", + "gpu" : 1, + "cputype" : "Intel Xeon Silver 4110", + "disk" : null, + "next_finaud_decision" : "NO", + "ib_rate" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "wattmeter" : "MULTIPLE", + "last_available_upto" : 0, + "maintenance" : "NO", + "cluster_priority" : 201906, + "links" : [ + { + "title" : "node", + "rel" : "member", + "href" : "//oarapi/resources/nodes/clusterb-1.fakesite.grid5000.fr" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/4" + }, + { + "title" : "jobs", + "rel" : "collection", + "href" : "//oarapi/resources/4/jobs" + } + ], + "api_timestamp" : 1569497994, + "memcpu" : 65536, + "gpudevice" : 0, + "gpu_count" : 4, + "type" : "default", + "ib" : "NO", + "state_num" : 1, + "myri_rate" : 0, + "eth_count" : 1, + "next_state" : "UnChanged", + "host" : "clusterb-1.fakesite.grid5000.fr", + "nodemodel" : "Dell PowerEdge T640", + "diskpath" : null, + "switch" : null, + "production" : "YES", + "max_walltime" : 86400, + "disk_reservation_count" : 3, + "disktype" : "SATA", + "mic" : "NO", + "scheduler_priority" : 0, + "state" : "Alive", + "opa" : "NO", + "myri" : "NO", + "core" : 4, + "besteffort" : "YES", + "desktop_computing" : "NO", + "virtual" : "ivt", + "id" : 4, + "cluster" : "clusterb", + "cpuarch" : "x86_64", + "ip" : "172.16.64.1", + "memcore" : 8192, + "memnode" : 131072, + "available_upto" : 2147483647, + "opa_rate" : 0, + "cpucore" : 8, + "myri_count" : 0, + "cpufreq" : "2.1", + "deploy" : "NO", + "cpu" : 1, + "last_job_date" : 0, + "expiry_date" : 0, + "ib_count" : 0, + "opa_count" : 0, + "drain" : "NO", + "eth_rate" : 10, + "suspended_jobs" : "NO", + "cpuset" : 3, + "network_address" : "clusterb-1.fakesite.grid5000.fr" + }, + { + "gpu_model" : "GeForce RTX 2080 Ti", + "ib_rate" : 0, + "disk" : null, + "next_finaud_decision" : "NO", + "cputype" : "Intel Xeon Silver 4110", + "gpu" : 2, + "finaud_decision" : "NO", + "gpudevice" : 1, + "gpu_count" : 4, + "api_timestamp" : 1569497994, + "memcpu" : 65536, + "maintenance" : "NO", + "links" : [ + { + "rel" : "member", + "href" : "//oarapi/resources/nodes/clusterb-1.fakesite.grid5000.fr", + "title" : "node" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/5" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/5/jobs" + } + ], + "cluster_priority" : 201906, + "wattmeter" : "MULTIPLE", + "last_available_upto" : 0, + "myri_rate" : 0, + "eth_count" : 1, + "next_state" : "UnChanged", + "nodemodel" : "Dell PowerEdge T640", + "host" : "clusterb-1.fakesite.grid5000.fr", + "state_num" : 1, + "type" : "default", + "ib" : "NO", + "disktype" : "SATA", + "mic" : "NO", + "state" : "Alive", + "scheduler_priority" : 0, + "production" : "YES", + "max_walltime" : 86400, + "disk_reservation_count" : 3, + "diskpath" : null, + "switch" : null, + "opa" : "NO", + "besteffort" : "YES", + "core" : 5, + "myri" : "NO", + "opa_rate" : 0, + "available_upto" : 2147483647, + "memnode" : 131072, + "ip" : "172.16.64.1", + "cpuarch" : "x86_64", + "memcore" : 8192, + "virtual" : "ivt", + "desktop_computing" : "NO", + "id" : 5, + "cluster" : "clusterb", + "eth_rate" : 10, + "network_address" : "clusterb-1.fakesite.grid5000.fr", + "drain" : "NO", + "suspended_jobs" : "NO", + "cpuset" : 4, + "opa_count" : 0, + "cpucore" : 8, + "myri_count" : 0, + "cpufreq" : "2.1", + "deploy" : "NO", + "cpu" : 1, + "last_job_date" : 0, + "ib_count" : 0, + "expiry_date" : 0 + }, + { + "next_state" : "UnChanged", + "host" : "clusterb-1.fakesite.grid5000.fr", + "nodemodel" : "Dell PowerEdge T640", + "eth_count" : 1, + "myri_rate" : 0, + "state_num" : 1, + "ib" : "NO", + "type" : "default", + "scheduler_priority" : 0, + "state" : "Alive", + "disktype" : "SATA", + "mic" : "NO", + "disk_reservation_count" : 3, + "production" : "YES", + "max_walltime" : 86400, + "switch" : null, + "diskpath" : null, + "ib_rate" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "disk" : null, + "cputype" : "Intel Xeon Silver 4110", + "next_finaud_decision" : "NO", + "finaud_decision" : "NO", + "gpu" : 2, + "gpu_count" : 4, + "gpudevice" : 1, + "memcpu" : 65536, + "api_timestamp" : 1569497994, + "cluster_priority" : 201906, + "links" : [ + { + "rel" : "member", + "href" : "//oarapi/resources/nodes/clusterb-1.fakesite.grid5000.fr", + "title" : "node" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/6" + }, + { + "title" : "jobs", + "rel" : "collection", + "href" : "//oarapi/resources/6/jobs" + } + ], + "maintenance" : "NO", + "last_available_upto" : 0, + "wattmeter" : "MULTIPLE", + "opa_rate" : 0, + "memnode" : 131072, + "available_upto" : 2147483647, + "memcore" : 8192, + "cpuarch" : "x86_64", + "ip" : "172.16.64.1", + "id" : 6, + "cluster" : "clusterb", + "desktop_computing" : "NO", + "virtual" : "ivt", + "eth_rate" : 10, + "network_address" : "clusterb-1.fakesite.grid5000.fr", + "drain" : "NO", + "suspended_jobs" : "NO", + "cpuset" : 5, + "opa_count" : 0, + "ib_count" : 0, + "expiry_date" : 0, + "myri_count" : 0, + "cpufreq" : "2.1", + "cpucore" : 8, + "cpu" : 1, + "deploy" : "NO", + "last_job_date" : 0, + "opa" : "NO", + "besteffort" : "YES", + "core" : 6, + "myri" : "NO" + }, + { + "opa_rate" : 0, + "memnode" : 131072, + "available_upto" : 2147483647, + "cpuarch" : "x86_64", + "ip" : "172.16.64.1", + "memcore" : 8192, + "virtual" : "ivt", + "desktop_computing" : "NO", + "cluster" : "clusterb", + "id" : 7, + "drain" : "NO", + "eth_rate" : 10, + "network_address" : "clusterb-1.fakesite.grid5000.fr", + "cpuset" : 6, + "suspended_jobs" : "NO", + "opa_count" : 0, + "myri_count" : 0, + "cpucore" : 8, + "cpufreq" : "2.1", + "cpu" : 1, + "deploy" : "NO", + "last_job_date" : 0, + "expiry_date" : 0, + "ib_count" : 0, + "opa" : "NO", + "besteffort" : "YES", + "myri" : "NO", + "core" : 7, + "myri_rate" : 0, + "eth_count" : 1, + "host" : "clusterb-1.fakesite.grid5000.fr", + "next_state" : "UnChanged", + "nodemodel" : "Dell PowerEdge T640", + "state_num" : 1, + "type" : "default", + "ib" : "NO", + "mic" : "NO", + "disktype" : "SATA", + "scheduler_priority" : 0, + "state" : "Alive", + "max_walltime" : 86400, + "production" : "YES", + "disk_reservation_count" : 3, + "diskpath" : null, + "switch" : null, + "ib_rate" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "disk" : null, + "cputype" : "Intel Xeon Silver 4110", + "next_finaud_decision" : "NO", + "gpu" : 2, + "finaud_decision" : "NO", + "gpudevice" : 1, + "gpu_count" : 4, + "api_timestamp" : 1569497994, + "memcpu" : 65536, + "maintenance" : "NO", + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterb-1.fakesite.grid5000.fr", + "rel" : "member", + "title" : "node" + }, + { + "href" : "//oarapi/resources/7", + "rel" : "self" + }, + { + "rel" : "collection", + "href" : "//oarapi/resources/7/jobs", + "title" : "jobs" + } + ], + "cluster_priority" : 201906, + "wattmeter" : "MULTIPLE", + "last_available_upto" : 0 + }, + { + "state_num" : 1, + "type" : "default", + "ib" : "NO", + "myri_rate" : 0, + "eth_count" : 1, + "nodemodel" : "Dell PowerEdge T640", + "host" : "clusterb-1.fakesite.grid5000.fr", + "next_state" : "UnChanged", + "production" : "YES", + "max_walltime" : 86400, + "disk_reservation_count" : 3, + "diskpath" : null, + "switch" : null, + "disktype" : "SATA", + "mic" : "NO", + "state" : "Alive", + "scheduler_priority" : 0, + "gpu" : 2, + "finaud_decision" : "NO", + "gpu_model" : "GeForce RTX 2080 Ti", + "ib_rate" : 0, + "disk" : null, + "cputype" : "Intel Xeon Silver 4110", + "next_finaud_decision" : "NO", + "maintenance" : "NO", + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/clusterb-1.fakesite.grid5000.fr" + }, + { + "href" : "//oarapi/resources/8", + "rel" : "self" + }, + { + "href" : "//oarapi/resources/8/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "cluster_priority" : 201906, + "wattmeter" : "MULTIPLE", + "last_available_upto" : 0, + "gpudevice" : 1, + "gpu_count" : 4, + "api_timestamp" : 1569497994, + "memcpu" : 65536, + "cpuarch" : "x86_64", + "ip" : "172.16.64.1", + "memcore" : 8192, + "virtual" : "ivt", + "desktop_computing" : "NO", + "cluster" : "clusterb", + "id" : 8, + "opa_rate" : 0, + "memnode" : 131072, + "available_upto" : 2147483647, + "opa_count" : 0, + "cpufreq" : "2.1", + "myri_count" : 0, + "last_job_date" : 0, + "cpucore" : 8, + "cpu" : 1, + "deploy" : "NO", + "ib_count" : 0, + "expiry_date" : 0, + "drain" : "NO", + "eth_rate" : 10, + "suspended_jobs" : "NO", + "cpuset" : 7, + "network_address" : "clusterb-1.fakesite.grid5000.fr", + "opa" : "NO", + "core" : 8, + "myri" : "NO", + "besteffort" : "YES" + }, + { + "besteffort" : "YES", + "myri" : "NO", + "core" : 9, + "opa" : "NO", + "drain" : "NO", + "eth_rate" : 10, + "suspended_jobs" : "NO", + "network_address" : "clusterb-1.fakesite.grid5000.fr", + "cpuset" : 8, + "opa_count" : 0, + "cpu" : 2, + "myri_count" : 0, + "cpufreq" : "2.1", + "cpucore" : 8, + "last_job_date" : 0, + "deploy" : "NO", + "ib_count" : 0, + "expiry_date" : 0, + "opa_rate" : 0, + "available_upto" : 2147483647, + "memnode" : 131072, + "cpuarch" : "x86_64", + "ip" : "172.16.64.1", + "memcore" : 8192, + "virtual" : "ivt", + "desktop_computing" : "NO", + "cluster" : "clusterb", + "id" : 9, + "gpudevice" : 2, + "gpu_count" : 4, + "api_timestamp" : 1569497994, + "memcpu" : 65536, + "maintenance" : "NO", + "links" : [ + { + "rel" : "member", + "href" : "//oarapi/resources/nodes/clusterb-1.fakesite.grid5000.fr", + "title" : "node" + }, + { + "href" : "//oarapi/resources/9", + "rel" : "self" + }, + { + "title" : "jobs", + "rel" : "collection", + "href" : "//oarapi/resources/9/jobs" + } + ], + "cluster_priority" : 201906, + "wattmeter" : "MULTIPLE", + "last_available_upto" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "ib_rate" : 0, + "disk" : null, + "next_finaud_decision" : "NO", + "cputype" : "Intel Xeon Silver 4110", + "gpu" : 3, + "finaud_decision" : "NO", + "disktype" : "SATA", + "mic" : "NO", + "state" : "Alive", + "scheduler_priority" : 0, + "max_walltime" : 86400, + "production" : "YES", + "disk_reservation_count" : 3, + "diskpath" : null, + "switch" : null, + "myri_rate" : 0, + "eth_count" : 1, + "host" : "clusterb-1.fakesite.grid5000.fr", + "next_state" : "UnChanged", + "nodemodel" : "Dell PowerEdge T640", + "state_num" : 1, + "type" : "default", + "ib" : "NO" + }, + { + "ib_rate" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "cputype" : "Intel Xeon Silver 4110", + "disk" : null, + "next_finaud_decision" : "NO", + "finaud_decision" : "NO", + "gpu" : 3, + "gpudevice" : 2, + "gpu_count" : 4, + "api_timestamp" : 1569497994, + "memcpu" : 65536, + "maintenance" : "NO", + "cluster_priority" : 201906, + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/clusterb-1.fakesite.grid5000.fr" + }, + { + "href" : "//oarapi/resources/10", + "rel" : "self" + }, + { + "href" : "//oarapi/resources/10/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "wattmeter" : "MULTIPLE", + "last_available_upto" : 0, + "myri_rate" : 0, + "eth_count" : 1, + "host" : "clusterb-1.fakesite.grid5000.fr", + "next_state" : "UnChanged", + "nodemodel" : "Dell PowerEdge T640", + "state_num" : 1, + "type" : "default", + "ib" : "NO", + "mic" : "NO", + "disktype" : "SATA", + "state" : "Alive", + "scheduler_priority" : 0, + "production" : "YES", + "max_walltime" : 86400, + "disk_reservation_count" : 3, + "diskpath" : null, + "switch" : null, + "opa" : "NO", + "besteffort" : "YES", + "myri" : "NO", + "core" : 10, + "opa_rate" : 0, + "memnode" : 131072, + "available_upto" : 2147483647, + "cpuarch" : "x86_64", + "ip" : "172.16.64.1", + "memcore" : 8192, + "virtual" : "ivt", + "desktop_computing" : "NO", + "cluster" : "clusterb", + "id" : 10, + "eth_rate" : 10, + "suspended_jobs" : "NO", + "drain" : "NO", + "cpuset" : 9, + "network_address" : "clusterb-1.fakesite.grid5000.fr", + "opa_count" : 0, + "myri_count" : 0, + "cpu" : 2, + "cpufreq" : "2.1", + "cpucore" : 8, + "last_job_date" : 0, + "deploy" : "NO", + "ib_count" : 0, + "expiry_date" : 0 + }, + { + "switch" : null, + "diskpath" : null, + "disk_reservation_count" : 3, + "production" : "YES", + "max_walltime" : 86400, + "state" : "Alive", + "scheduler_priority" : 0, + "disktype" : "SATA", + "mic" : "NO", + "ib" : "NO", + "type" : "default", + "state_num" : 1, + "next_state" : "UnChanged", + "nodemodel" : "Dell PowerEdge T640", + "host" : "clusterb-1.fakesite.grid5000.fr", + "eth_count" : 1, + "myri_rate" : 0, + "last_available_upto" : 0, + "wattmeter" : "MULTIPLE", + "cluster_priority" : 201906, + "links" : [ + { + "title" : "node", + "rel" : "member", + "href" : "//oarapi/resources/nodes/clusterb-1.fakesite.grid5000.fr" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/11" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/11/jobs" + } + ], + "maintenance" : "NO", + "memcpu" : 65536, + "api_timestamp" : 1569497994, + "gpu_count" : 4, + "gpudevice" : 2, + "finaud_decision" : "NO", + "gpu" : 3, + "disk" : null, + "cputype" : "Intel Xeon Silver 4110", + "next_finaud_decision" : "NO", + "gpu_model" : "GeForce RTX 2080 Ti", + "ib_rate" : 0, + "ib_count" : 0, + "expiry_date" : 0, + "myri_count" : 0, + "cpucore" : 8, + "cpufreq" : "2.1", + "deploy" : "NO", + "cpu" : 2, + "last_job_date" : 0, + "opa_count" : 0, + "drain" : "NO", + "eth_rate" : 10, + "suspended_jobs" : "NO", + "cpuset" : 10, + "network_address" : "clusterb-1.fakesite.grid5000.fr", + "id" : 11, + "cluster" : "clusterb", + "virtual" : "ivt", + "desktop_computing" : "NO", + "memcore" : 8192, + "cpuarch" : "x86_64", + "ip" : "172.16.64.1", + "available_upto" : 2147483647, + "memnode" : 131072, + "opa_rate" : 0, + "myri" : "NO", + "core" : 11, + "besteffort" : "YES", + "opa" : "NO" + }, + { + "mic" : "NO", + "disktype" : "SATA", + "scheduler_priority" : 0, + "state" : "Alive", + "max_walltime" : 86400, + "production" : "YES", + "disk_reservation_count" : 3, + "diskpath" : null, + "switch" : null, + "eth_count" : 1, + "myri_rate" : 0, + "host" : "clusterb-1.fakesite.grid5000.fr", + "next_state" : "UnChanged", + "nodemodel" : "Dell PowerEdge T640", + "state_num" : 1, + "type" : "default", + "ib" : "NO", + "gpudevice" : 2, + "gpu_count" : 4, + "api_timestamp" : 1569497994, + "memcpu" : 65536, + "maintenance" : "NO", + "cluster_priority" : 201906, + "links" : [ + { + "title" : "node", + "rel" : "member", + "href" : "//oarapi/resources/nodes/clusterb-1.fakesite.grid5000.fr" + }, + { + "href" : "//oarapi/resources/12", + "rel" : "self" + }, + { + "title" : "jobs", + "rel" : "collection", + "href" : "//oarapi/resources/12/jobs" + } + ], + "wattmeter" : "MULTIPLE", + "last_available_upto" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "ib_rate" : 0, + "disk" : null, + "next_finaud_decision" : "NO", + "cputype" : "Intel Xeon Silver 4110", + "gpu" : 3, + "finaud_decision" : "NO", + "cpuset" : 11, + "eth_rate" : 10, + "drain" : "NO", + "network_address" : "clusterb-1.fakesite.grid5000.fr", + "suspended_jobs" : "NO", + "opa_count" : 0, + "myri_count" : 0, + "cpufreq" : "2.1", + "cpu" : 2, + "cpucore" : 8, + "last_job_date" : 0, + "deploy" : "NO", + "expiry_date" : 0, + "ib_count" : 0, + "opa_rate" : 0, + "memnode" : 131072, + "available_upto" : 2147483647, + "ip" : "172.16.64.1", + "cpuarch" : "x86_64", + "memcore" : 8192, + "virtual" : "ivt", + "desktop_computing" : "NO", + "cluster" : "clusterb", + "id" : 12, + "besteffort" : "YES", + "core" : 12, + "myri" : "NO", + "opa" : "NO" + }, + { + "state_num" : 1, + "type" : "default", + "ib" : "NO", + "myri_rate" : 0, + "eth_count" : 1, + "next_state" : "UnChanged", + "host" : "clusterb-1.fakesite.grid5000.fr", + "nodemodel" : "Dell PowerEdge T640", + "max_walltime" : 86400, + "production" : "YES", + "disk_reservation_count" : 3, + "diskpath" : null, + "switch" : null, + "mic" : "NO", + "disktype" : "SATA", + "state" : "Alive", + "scheduler_priority" : 0, + "finaud_decision" : "NO", + "gpu" : 4, + "ib_rate" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "next_finaud_decision" : "NO", + "disk" : null, + "cputype" : "Intel Xeon Silver 4110", + "maintenance" : "NO", + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterb-1.fakesite.grid5000.fr", + "rel" : "member", + "title" : "node" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/13" + }, + { + "title" : "jobs", + "rel" : "collection", + "href" : "//oarapi/resources/13/jobs" + } + ], + "cluster_priority" : 201906, + "wattmeter" : "MULTIPLE", + "last_available_upto" : 0, + "gpudevice" : 3, + "gpu_count" : 4, + "api_timestamp" : 1569497994, + "memcpu" : 65536, + "cpuarch" : "x86_64", + "ip" : "172.16.64.1", + "memcore" : 8192, + "virtual" : "ivt", + "desktop_computing" : "NO", + "cluster" : "clusterb", + "id" : 13, + "opa_rate" : 0, + "available_upto" : 2147483647, + "memnode" : 131072, + "opa_count" : 0, + "myri_count" : 0, + "cpu" : 2, + "cpufreq" : "2.1", + "cpucore" : 8, + "deploy" : "NO", + "last_job_date" : 0, + "expiry_date" : 0, + "ib_count" : 0, + "cpuset" : 12, + "eth_rate" : 10, + "drain" : "NO", + "suspended_jobs" : "NO", + "network_address" : "clusterb-1.fakesite.grid5000.fr", + "opa" : "NO", + "myri" : "NO", + "core" : 13, + "besteffort" : "YES" + }, + { + "finaud_decision" : "NO", + "gpu" : 4, + "gpu_model" : "GeForce RTX 2080 Ti", + "ib_rate" : 0, + "cputype" : "Intel Xeon Silver 4110", + "disk" : null, + "next_finaud_decision" : "NO", + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/clusterb-1.fakesite.grid5000.fr" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/14" + }, + { + "href" : "//oarapi/resources/14/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "cluster_priority" : 201906, + "maintenance" : "NO", + "last_available_upto" : 0, + "wattmeter" : "MULTIPLE", + "gpu_count" : 4, + "gpudevice" : 3, + "memcpu" : 65536, + "api_timestamp" : 1569497994, + "state_num" : 1, + "ib" : "NO", + "type" : "default", + "nodemodel" : "Dell PowerEdge T640", + "next_state" : "UnChanged", + "host" : "clusterb-1.fakesite.grid5000.fr", + "eth_count" : 1, + "myri_rate" : 0, + "disk_reservation_count" : 3, + "production" : "YES", + "max_walltime" : 86400, + "switch" : null, + "diskpath" : null, + "scheduler_priority" : 0, + "state" : "Alive", + "disktype" : "SATA", + "mic" : "NO", + "opa" : "NO", + "core" : 14, + "myri" : "NO", + "besteffort" : "YES", + "memcore" : 8192, + "cpuarch" : "x86_64", + "ip" : "172.16.64.1", + "cluster" : "clusterb", + "id" : 14, + "virtual" : "ivt", + "desktop_computing" : "NO", + "opa_rate" : 0, + "memnode" : 131072, + "available_upto" : 2147483647, + "opa_count" : 0, + "ib_count" : 0, + "expiry_date" : 0, + "myri_count" : 0, + "cpufreq" : "2.1", + "cpu" : 2, + "cpucore" : 8, + "deploy" : "NO", + "last_job_date" : 0, + "suspended_jobs" : "NO", + "eth_rate" : 10, + "drain" : "NO", + "network_address" : "clusterb-1.fakesite.grid5000.fr", + "cpuset" : 13 + }, + { + "core" : 15, + "myri" : "NO", + "besteffort" : "YES", + "opa" : "NO", + "opa_count" : 0, + "ib_count" : 0, + "expiry_date" : 0, + "myri_count" : 0, + "cpucore" : 8, + "cpufreq" : "2.1", + "deploy" : "NO", + "cpu" : 2, + "last_job_date" : 0, + "eth_rate" : 10, + "network_address" : "clusterb-1.fakesite.grid5000.fr", + "drain" : "NO", + "suspended_jobs" : "NO", + "cpuset" : 14, + "memcore" : 8192, + "cpuarch" : "x86_64", + "ip" : "172.16.64.1", + "id" : 15, + "cluster" : "clusterb", + "desktop_computing" : "NO", + "virtual" : "ivt", + "opa_rate" : 0, + "memnode" : 131072, + "available_upto" : 2147483647, + "cluster_priority" : 201906, + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/clusterb-1.fakesite.grid5000.fr" + }, + { + "href" : "//oarapi/resources/15", + "rel" : "self" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/15/jobs" + } + ], + "maintenance" : "NO", + "last_available_upto" : 0, + "wattmeter" : "MULTIPLE", + "gpu_count" : 4, + "gpudevice" : 3, + "memcpu" : 65536, + "api_timestamp" : 1569497994, + "gpu" : 4, + "finaud_decision" : "NO", + "gpu_model" : "GeForce RTX 2080 Ti", + "ib_rate" : 0, + "disk" : null, + "next_finaud_decision" : "NO", + "cputype" : "Intel Xeon Silver 4110", + "disk_reservation_count" : 3, + "max_walltime" : 86400, + "production" : "YES", + "switch" : null, + "diskpath" : null, + "state" : "Alive", + "scheduler_priority" : 0, + "disktype" : "SATA", + "mic" : "NO", + "state_num" : 1, + "ib" : "NO", + "type" : "default", + "nodemodel" : "Dell PowerEdge T640", + "next_state" : "UnChanged", + "host" : "clusterb-1.fakesite.grid5000.fr", + "myri_rate" : 0, + "eth_count" : 1 + }, + { + "opa" : "NO", + "myri" : "NO", + "core" : 16, + "besteffort" : "YES", + "memcore" : 8192, + "cpuarch" : "x86_64", + "ip" : "172.16.64.1", + "cluster" : "clusterb", + "id" : 16, + "virtual" : "ivt", + "desktop_computing" : "NO", + "opa_rate" : 0, + "memnode" : 131072, + "available_upto" : 2147483647, + "opa_count" : 0, + "ib_count" : 0, + "expiry_date" : 0, + "cpufreq" : "2.1", + "myri_count" : 0, + "cpucore" : 8, + "cpu" : 2, + "last_job_date" : 0, + "deploy" : "NO", + "suspended_jobs" : "NO", + "eth_rate" : 10, + "drain" : "NO", + "network_address" : "clusterb-1.fakesite.grid5000.fr", + "cpuset" : 15, + "gpu" : 4, + "finaud_decision" : "NO", + "ib_rate" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "next_finaud_decision" : "NO", + "disk" : null, + "cputype" : "Intel Xeon Silver 4110", + "cluster_priority" : 201906, + "links" : [ + { + "rel" : "member", + "href" : "//oarapi/resources/nodes/clusterb-1.fakesite.grid5000.fr", + "title" : "node" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/16" + }, + { + "title" : "jobs", + "rel" : "collection", + "href" : "//oarapi/resources/16/jobs" + } + ], + "maintenance" : "NO", + "last_available_upto" : 0, + "wattmeter" : "MULTIPLE", + "gpu_count" : 4, + "gpudevice" : 3, + "memcpu" : 65536, + "api_timestamp" : 1569497994, + "state_num" : 1, + "ib" : "NO", + "type" : "default", + "next_state" : "UnChanged", + "nodemodel" : "Dell PowerEdge T640", + "host" : "clusterb-1.fakesite.grid5000.fr", + "myri_rate" : 0, + "eth_count" : 1, + "disk_reservation_count" : 3, + "max_walltime" : 86400, + "production" : "YES", + "switch" : null, + "diskpath" : null, + "scheduler_priority" : 0, + "state" : "Alive", + "disktype" : "SATA", + "mic" : "NO" + }, + { + "core" : null, + "myri" : null, + "besteffort" : "YES", + "opa" : null, + "myri_count" : null, + "cpu" : null, + "cpufreq" : null, + "cpucore" : null, + "deploy" : "YES", + "last_job_date" : 0, + "expiry_date" : 0, + "ib_count" : null, + "opa_count" : null, + "drain" : "NO", + "eth_rate" : null, + "cpuset" : -1, + "network_address" : "", + "suspended_jobs" : "NO", + "virtual" : null, + "desktop_computing" : "NO", + "cluster" : "clusterb", + "id" : 17, + "cpuarch" : null, + "ip" : null, + "memcore" : null, + "memnode" : null, + "available_upto" : 0, + "opa_rate" : null, + "wattmeter" : null, + "last_available_upto" : 0, + "maintenance" : "NO", + "links" : [ + { + "href" : "//oarapi/resources/nodes/", + "rel" : "member", + "title" : "node" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/17" + }, + { + "href" : "//oarapi/resources/17/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "cluster_priority" : null, + "api_timestamp" : 1569497994, + "memcpu" : null, + "gpudevice" : null, + "gpu_count" : null, + "finaud_decision" : "NO", + "gpu" : null, + "next_finaud_decision" : "NO", + "disk" : "sdb.clusterb-1", + "cputype" : null, + "gpu_model" : null, + "ib_rate" : null, + "diskpath" : "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:1:0", + "switch" : null, + "max_walltime" : null, + "production" : "YES", + "disk_reservation_count" : null, + "disktype" : null, + "mic" : null, + "state" : "Alive", + "scheduler_priority" : 0, + "type" : "disk", + "ib" : null, + "state_num" : 1, + "myri_rate" : null, + "eth_count" : null, + "nodemodel" : null, + "next_state" : "UnChanged", + "host" : "clusterb-1.fakesite.grid5000.fr" + }, + { + "ib_rate" : null, + "gpu_model" : null, + "disk" : "sdc.clusterb-1", + "cputype" : null, + "next_finaud_decision" : "NO", + "gpu" : null, + "finaud_decision" : "NO", + "gpu_count" : null, + "gpudevice" : null, + "memcpu" : null, + "api_timestamp" : 1569497994, + "cluster_priority" : null, + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/18" + }, + { + "title" : "jobs", + "rel" : "collection", + "href" : "//oarapi/resources/18/jobs" + } + ], + "maintenance" : "NO", + "last_available_upto" : 0, + "wattmeter" : null, + "nodemodel" : null, + "next_state" : "UnChanged", + "host" : "clusterb-1.fakesite.grid5000.fr", + "eth_count" : null, + "myri_rate" : null, + "state_num" : 1, + "ib" : null, + "type" : "disk", + "state" : "Alive", + "scheduler_priority" : 0, + "mic" : null, + "disktype" : null, + "disk_reservation_count" : null, + "max_walltime" : null, + "production" : "YES", + "switch" : null, + "diskpath" : "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:2:0", + "opa" : null, + "besteffort" : "YES", + "myri" : null, + "core" : null, + "opa_rate" : null, + "memnode" : null, + "available_upto" : 0, + "memcore" : null, + "cpuarch" : null, + "ip" : null, + "cluster" : "clusterb", + "id" : 18, + "virtual" : null, + "desktop_computing" : "NO", + "eth_rate" : null, + "cpuset" : -1, + "drain" : "NO", + "network_address" : "", + "suspended_jobs" : "NO", + "opa_count" : null, + "ib_count" : null, + "expiry_date" : 0, + "cpufreq" : null, + "myri_count" : null, + "cpucore" : null, + "cpu" : null, + "deploy" : "YES", + "last_job_date" : 0 + }, + { + "eth_rate" : null, + "drain" : "NO", + "network_address" : "", + "suspended_jobs" : "NO", + "cpuset" : -1, + "last_job_date" : 0, + "myri_count" : null, + "cpufreq" : null, + "cpucore" : null, + "cpu" : null, + "deploy" : "YES", + "expiry_date" : 0, + "ib_count" : null, + "opa_count" : null, + "memnode" : null, + "available_upto" : 0, + "opa_rate" : null, + "virtual" : null, + "desktop_computing" : "NO", + "cluster" : "clusterb", + "id" : 19, + "cpuarch" : null, + "ip" : null, + "memcore" : null, + "besteffort" : "YES", + "myri" : null, + "core" : null, + "opa" : null, + "disktype" : null, + "mic" : null, + "scheduler_priority" : 0, + "state" : "Alive", + "diskpath" : "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:3:0", + "switch" : null, + "max_walltime" : null, + "production" : "YES", + "disk_reservation_count" : null, + "eth_count" : null, + "myri_rate" : null, + "nodemodel" : null, + "next_state" : "UnChanged", + "host" : "clusterb-1.fakesite.grid5000.fr", + "type" : "disk", + "ib" : null, + "state_num" : 1, + "api_timestamp" : 1569497994, + "memcpu" : null, + "gpudevice" : null, + "gpu_count" : null, + "wattmeter" : null, + "last_available_upto" : 0, + "maintenance" : "NO", + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/" + }, + { + "href" : "//oarapi/resources/19", + "rel" : "self" + }, + { + "rel" : "collection", + "href" : "//oarapi/resources/19/jobs", + "title" : "jobs" + } + ], + "cluster_priority" : null, + "cputype" : null, + "disk" : "sdd.clusterb-1", + "next_finaud_decision" : "NO", + "ib_rate" : null, + "gpu_model" : null, + "finaud_decision" : "NO", + "gpu" : null + }, + { + "besteffort" : "YES", + "core" : 17, + "myri" : "NO", + "opa" : "NO", + "eth_rate" : 10, + "drain" : "NO", + "suspended_jobs" : "NO", + "network_address" : "clusterb-2.fakesite.grid5000.fr", + "cpuset" : 0, + "myri_count" : 0, + "cpucore" : 8, + "cpufreq" : "2.1", + "last_job_date" : 0, + "cpu" : 3, + "deploy" : "NO", + "ib_count" : 0, + "expiry_date" : 0, + "opa_count" : 0, + "memnode" : 131072, + "available_upto" : 2147483647, + "opa_rate" : 0, + "desktop_computing" : "NO", + "virtual" : "ivt", + "cluster" : "clusterb", + "id" : 20, + "cpuarch" : "x86_64", + "ip" : "172.16.64.2", + "memcore" : 8192, + "api_timestamp" : 1569497994, + "memcpu" : 65536, + "gpudevice" : 0, + "gpu_count" : 4, + "wattmeter" : "MULTIPLE", + "last_available_upto" : 0, + "maintenance" : "NO", + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterb-2.fakesite.grid5000.fr", + "rel" : "member", + "title" : "node" + }, + { + "href" : "//oarapi/resources/20", + "rel" : "self" + }, + { + "rel" : "collection", + "href" : "//oarapi/resources/20/jobs", + "title" : "jobs" + } + ], + "cluster_priority" : 201906, + "disk" : null, + "next_finaud_decision" : "NO", + "cputype" : "Intel Xeon Silver 4110", + "gpu_model" : "GeForce RTX 2080 Ti", + "ib_rate" : 0, + "gpu" : 5, + "finaud_decision" : "NO", + "disktype" : "SATA", + "mic" : "NO", + "state" : "Alive", + "scheduler_priority" : 0, + "diskpath" : null, + "switch" : null, + "max_walltime" : 86400, + "production" : "YES", + "disk_reservation_count" : 3, + "myri_rate" : 0, + "eth_count" : 1, + "nodemodel" : "Dell PowerEdge T640", + "next_state" : "UnChanged", + "host" : "clusterb-2.fakesite.grid5000.fr", + "type" : "default", + "ib" : "NO", + "state_num" : 1 + }, + { + "besteffort" : "YES", + "core" : 18, + "myri" : "NO", + "opa" : "NO", + "suspended_jobs" : "NO", + "eth_rate" : 10, + "drain" : "NO", + "network_address" : "clusterb-2.fakesite.grid5000.fr", + "cpuset" : 1, + "opa_count" : 0, + "myri_count" : 0, + "cpufreq" : "2.1", + "cpucore" : 8, + "cpu" : 3, + "last_job_date" : 0, + "deploy" : "NO", + "expiry_date" : 0, + "ib_count" : 0, + "opa_rate" : 0, + "available_upto" : 2147483647, + "memnode" : 131072, + "cpuarch" : "x86_64", + "ip" : "172.16.64.2", + "memcore" : 8192, + "virtual" : "ivt", + "desktop_computing" : "NO", + "id" : 21, + "cluster" : "clusterb", + "gpudevice" : 0, + "gpu_count" : 4, + "api_timestamp" : 1569497994, + "memcpu" : 65536, + "maintenance" : "NO", + "cluster_priority" : 201906, + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/clusterb-2.fakesite.grid5000.fr" + }, + { + "href" : "//oarapi/resources/21", + "rel" : "self" + }, + { + "href" : "//oarapi/resources/21/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "wattmeter" : "MULTIPLE", + "last_available_upto" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "ib_rate" : 0, + "disk" : null, + "cputype" : "Intel Xeon Silver 4110", + "next_finaud_decision" : "NO", + "finaud_decision" : "NO", + "gpu" : 5, + "mic" : "NO", + "disktype" : "SATA", + "scheduler_priority" : 0, + "state" : "Alive", + "max_walltime" : 86400, + "production" : "YES", + "disk_reservation_count" : 3, + "diskpath" : null, + "switch" : null, + "eth_count" : 1, + "myri_rate" : 0, + "next_state" : "UnChanged", + "nodemodel" : "Dell PowerEdge T640", + "host" : "clusterb-2.fakesite.grid5000.fr", + "state_num" : 1, + "type" : "default", + "ib" : "NO" + }, + { + "opa" : "NO", + "myri" : "NO", + "core" : 19, + "besteffort" : "YES", + "ip" : "172.16.64.2", + "cpuarch" : "x86_64", + "memcore" : 8192, + "virtual" : "ivt", + "desktop_computing" : "NO", + "cluster" : "clusterb", + "id" : 22, + "opa_rate" : 0, + "available_upto" : 2147483647, + "memnode" : 131072, + "opa_count" : 0, + "myri_count" : 0, + "cpucore" : 8, + "cpufreq" : "2.1", + "last_job_date" : 0, + "cpu" : 3, + "deploy" : "NO", + "expiry_date" : 0, + "ib_count" : 0, + "eth_rate" : 10, + "network_address" : "clusterb-2.fakesite.grid5000.fr", + "drain" : "NO", + "suspended_jobs" : "NO", + "cpuset" : 2, + "gpu" : 5, + "finaud_decision" : "NO", + "ib_rate" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "disk" : null, + "next_finaud_decision" : "NO", + "cputype" : "Intel Xeon Silver 4110", + "maintenance" : "NO", + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterb-2.fakesite.grid5000.fr", + "rel" : "member", + "title" : "node" + }, + { + "href" : "//oarapi/resources/22", + "rel" : "self" + }, + { + "href" : "//oarapi/resources/22/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "cluster_priority" : 201906, + "wattmeter" : "MULTIPLE", + "last_available_upto" : 0, + "gpudevice" : 0, + "gpu_count" : 4, + "api_timestamp" : 1569497994, + "memcpu" : 65536, + "state_num" : 1, + "type" : "default", + "ib" : "NO", + "eth_count" : 1, + "myri_rate" : 0, + "next_state" : "UnChanged", + "nodemodel" : "Dell PowerEdge T640", + "host" : "clusterb-2.fakesite.grid5000.fr", + "max_walltime" : 86400, + "production" : "YES", + "disk_reservation_count" : 3, + "diskpath" : null, + "switch" : null, + "mic" : "NO", + "disktype" : "SATA", + "state" : "Alive", + "scheduler_priority" : 0 + }, + { + "diskpath" : null, + "switch" : null, + "max_walltime" : 86400, + "production" : "YES", + "disk_reservation_count" : 3, + "mic" : "NO", + "disktype" : "SATA", + "scheduler_priority" : 0, + "state" : "Alive", + "type" : "default", + "ib" : "NO", + "state_num" : 1, + "myri_rate" : 0, + "eth_count" : 1, + "nodemodel" : "Dell PowerEdge T640", + "next_state" : "UnChanged", + "host" : "clusterb-2.fakesite.grid5000.fr", + "wattmeter" : "MULTIPLE", + "last_available_upto" : 0, + "maintenance" : "NO", + "cluster_priority" : 201906, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterb-2.fakesite.grid5000.fr", + "rel" : "member", + "title" : "node" + }, + { + "href" : "//oarapi/resources/23", + "rel" : "self" + }, + { + "title" : "jobs", + "rel" : "collection", + "href" : "//oarapi/resources/23/jobs" + } + ], + "api_timestamp" : 1569497994, + "memcpu" : 65536, + "gpudevice" : 0, + "gpu_count" : 4, + "finaud_decision" : "NO", + "gpu" : 5, + "disk" : null, + "next_finaud_decision" : "NO", + "cputype" : "Intel Xeon Silver 4110", + "ib_rate" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "myri_count" : 0, + "cpucore" : 8, + "cpufreq" : "2.1", + "cpu" : 3, + "deploy" : "NO", + "last_job_date" : 0, + "ib_count" : 0, + "expiry_date" : 0, + "opa_count" : 0, + "eth_rate" : 10, + "drain" : "NO", + "suspended_jobs" : "NO", + "cpuset" : 3, + "network_address" : "clusterb-2.fakesite.grid5000.fr", + "virtual" : "ivt", + "desktop_computing" : "NO", + "cluster" : "clusterb", + "id" : 23, + "cpuarch" : "x86_64", + "ip" : "172.16.64.2", + "memcore" : 8192, + "memnode" : 131072, + "available_upto" : 2147483647, + "opa_rate" : 0, + "core" : 20, + "myri" : "NO", + "besteffort" : "YES", + "opa" : "NO" + }, + { + "wattmeter" : "MULTIPLE", + "last_available_upto" : 0, + "maintenance" : "NO", + "links" : [ + { + "rel" : "member", + "href" : "//oarapi/resources/nodes/clusterb-2.fakesite.grid5000.fr", + "title" : "node" + }, + { + "href" : "//oarapi/resources/24", + "rel" : "self" + }, + { + "href" : "//oarapi/resources/24/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "cluster_priority" : 201906, + "api_timestamp" : 1569497994, + "memcpu" : 65536, + "gpudevice" : 1, + "gpu_count" : 4, + "gpu" : 6, + "finaud_decision" : "NO", + "next_finaud_decision" : "NO", + "disk" : null, + "cputype" : "Intel Xeon Silver 4110", + "gpu_model" : "GeForce RTX 2080 Ti", + "ib_rate" : 0, + "diskpath" : null, + "switch" : null, + "max_walltime" : 86400, + "production" : "YES", + "disk_reservation_count" : 3, + "disktype" : "SATA", + "mic" : "NO", + "scheduler_priority" : 0, + "state" : "Alive", + "type" : "default", + "ib" : "NO", + "state_num" : 1, + "myri_rate" : 0, + "eth_count" : 1, + "host" : "clusterb-2.fakesite.grid5000.fr", + "nodemodel" : "Dell PowerEdge T640", + "next_state" : "UnChanged", + "core" : 21, + "myri" : "NO", + "besteffort" : "YES", + "opa" : "NO", + "last_job_date" : 0, + "myri_count" : 0, + "cpufreq" : "2.1", + "cpucore" : 8, + "cpu" : 3, + "deploy" : "NO", + "expiry_date" : 0, + "ib_count" : 0, + "opa_count" : 0, + "drain" : "NO", + "eth_rate" : 10, + "network_address" : "clusterb-2.fakesite.grid5000.fr", + "suspended_jobs" : "NO", + "cpuset" : 4, + "virtual" : "ivt", + "desktop_computing" : "NO", + "cluster" : "clusterb", + "id" : 24, + "cpuarch" : "x86_64", + "ip" : "172.16.64.2", + "memcore" : 8192, + "available_upto" : 2147483647, + "memnode" : 131072, + "opa_rate" : 0 + }, + { + "myri_rate" : 0, + "eth_count" : 1, + "next_state" : "UnChanged", + "nodemodel" : "Dell PowerEdge T640", + "host" : "clusterb-2.fakesite.grid5000.fr", + "type" : "default", + "ib" : "NO", + "state_num" : 1, + "disktype" : "SATA", + "mic" : "NO", + "scheduler_priority" : 0, + "state" : "Alive", + "diskpath" : null, + "switch" : null, + "production" : "YES", + "max_walltime" : 86400, + "disk_reservation_count" : 3, + "cputype" : "Intel Xeon Silver 4110", + "disk" : null, + "next_finaud_decision" : "NO", + "ib_rate" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "finaud_decision" : "NO", + "gpu" : 6, + "api_timestamp" : 1569497994, + "memcpu" : 65536, + "gpudevice" : 1, + "gpu_count" : 4, + "wattmeter" : "MULTIPLE", + "last_available_upto" : 0, + "maintenance" : "NO", + "links" : [ + { + "rel" : "member", + "href" : "//oarapi/resources/nodes/clusterb-2.fakesite.grid5000.fr", + "title" : "node" + }, + { + "href" : "//oarapi/resources/25", + "rel" : "self" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/25/jobs" + } + ], + "cluster_priority" : 201906, + "available_upto" : 2147483647, + "memnode" : 131072, + "opa_rate" : 0, + "virtual" : "ivt", + "desktop_computing" : "NO", + "cluster" : "clusterb", + "id" : 25, + "cpuarch" : "x86_64", + "ip" : "172.16.64.2", + "memcore" : 8192, + "drain" : "NO", + "eth_rate" : 10, + "suspended_jobs" : "NO", + "network_address" : "clusterb-2.fakesite.grid5000.fr", + "cpuset" : 5, + "myri_count" : 0, + "cpufreq" : "2.1", + "cpucore" : 8, + "cpu" : 3, + "deploy" : "NO", + "last_job_date" : 0, + "expiry_date" : 0, + "ib_count" : 0, + "opa_count" : 0, + "opa" : "NO", + "besteffort" : "YES", + "core" : 22, + "myri" : "NO" + }, + { + "opa" : "NO", + "besteffort" : "YES", + "core" : 23, + "myri" : "NO", + "memnode" : 131072, + "available_upto" : 2147483647, + "opa_rate" : 0, + "cluster" : "clusterb", + "id" : 26, + "virtual" : "ivt", + "desktop_computing" : "NO", + "memcore" : 8192, + "cpuarch" : "x86_64", + "ip" : "172.16.64.2", + "eth_rate" : 10, + "drain" : "NO", + "network_address" : "clusterb-2.fakesite.grid5000.fr", + "suspended_jobs" : "NO", + "cpuset" : 6, + "ib_count" : 0, + "expiry_date" : 0, + "myri_count" : 0, + "cpucore" : 8, + "cpufreq" : "2.1", + "last_job_date" : 0, + "cpu" : 3, + "deploy" : "NO", + "opa_count" : 0, + "disk" : null, + "cputype" : "Intel Xeon Silver 4110", + "next_finaud_decision" : "NO", + "gpu_model" : "GeForce RTX 2080 Ti", + "ib_rate" : 0, + "gpu" : 6, + "finaud_decision" : "NO", + "memcpu" : 65536, + "api_timestamp" : 1569497994, + "gpu_count" : 4, + "gpudevice" : 1, + "last_available_upto" : 0, + "wattmeter" : "MULTIPLE", + "links" : [ + { + "rel" : "member", + "href" : "//oarapi/resources/nodes/clusterb-2.fakesite.grid5000.fr", + "title" : "node" + }, + { + "href" : "//oarapi/resources/26", + "rel" : "self" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/26/jobs" + } + ], + "cluster_priority" : 201906, + "maintenance" : "NO", + "next_state" : "UnChanged", + "nodemodel" : "Dell PowerEdge T640", + "host" : "clusterb-2.fakesite.grid5000.fr", + "myri_rate" : 0, + "eth_count" : 1, + "ib" : "NO", + "type" : "default", + "state_num" : 1, + "scheduler_priority" : 0, + "state" : "Alive", + "disktype" : "SATA", + "mic" : "NO", + "switch" : null, + "diskpath" : null, + "disk_reservation_count" : 3, + "production" : "YES", + "max_walltime" : 86400 + }, + { + "gpu" : 6, + "finaud_decision" : "NO", + "ib_rate" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "disk" : null, + "cputype" : "Intel Xeon Silver 4110", + "next_finaud_decision" : "NO", + "links" : [ + { + "title" : "node", + "rel" : "member", + "href" : "//oarapi/resources/nodes/clusterb-2.fakesite.grid5000.fr" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/27" + }, + { + "title" : "jobs", + "rel" : "collection", + "href" : "//oarapi/resources/27/jobs" + } + ], + "cluster_priority" : 201906, + "maintenance" : "NO", + "last_available_upto" : 0, + "wattmeter" : "MULTIPLE", + "gpu_count" : 4, + "gpudevice" : 1, + "memcpu" : 65536, + "api_timestamp" : 1569497994, + "state_num" : 1, + "ib" : "NO", + "type" : "default", + "host" : "clusterb-2.fakesite.grid5000.fr", + "next_state" : "UnChanged", + "nodemodel" : "Dell PowerEdge T640", + "eth_count" : 1, + "myri_rate" : 0, + "disk_reservation_count" : 3, + "production" : "YES", + "max_walltime" : 86400, + "switch" : null, + "diskpath" : null, + "scheduler_priority" : 0, + "state" : "Alive", + "disktype" : "SATA", + "mic" : "NO", + "opa" : "NO", + "myri" : "NO", + "core" : 24, + "besteffort" : "YES", + "memcore" : 8192, + "cpuarch" : "x86_64", + "ip" : "172.16.64.2", + "cluster" : "clusterb", + "id" : 27, + "virtual" : "ivt", + "desktop_computing" : "NO", + "opa_rate" : 0, + "memnode" : 131072, + "available_upto" : 2147483647, + "opa_count" : 0, + "ib_count" : 0, + "expiry_date" : 0, + "last_job_date" : 0, + "myri_count" : 0, + "cpufreq" : "2.1", + "cpucore" : 8, + "cpu" : 3, + "deploy" : "NO", + "eth_rate" : 10, + "drain" : "NO", + "cpuset" : 7, + "network_address" : "clusterb-2.fakesite.grid5000.fr", + "suspended_jobs" : "NO" + }, + { + "next_finaud_decision" : "NO", + "disk" : null, + "cputype" : "Intel Xeon Silver 4110", + "gpu_model" : "GeForce RTX 2080 Ti", + "ib_rate" : 0, + "gpu" : 7, + "finaud_decision" : "NO", + "memcpu" : 65536, + "api_timestamp" : 1569497994, + "gpu_count" : 4, + "gpudevice" : 2, + "last_available_upto" : 0, + "wattmeter" : "MULTIPLE", + "links" : [ + { + "rel" : "member", + "href" : "//oarapi/resources/nodes/clusterb-2.fakesite.grid5000.fr", + "title" : "node" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/28" + }, + { + "title" : "jobs", + "rel" : "collection", + "href" : "//oarapi/resources/28/jobs" + } + ], + "cluster_priority" : 201906, + "maintenance" : "NO", + "next_state" : "UnChanged", + "host" : "clusterb-2.fakesite.grid5000.fr", + "nodemodel" : "Dell PowerEdge T640", + "myri_rate" : 0, + "eth_count" : 1, + "ib" : "NO", + "type" : "default", + "state_num" : 1, + "scheduler_priority" : 0, + "state" : "Alive", + "mic" : "NO", + "disktype" : "SATA", + "switch" : null, + "diskpath" : null, + "disk_reservation_count" : 3, + "max_walltime" : 86400, + "production" : "YES", + "opa" : "NO", + "besteffort" : "YES", + "myri" : "NO", + "core" : 25, + "available_upto" : 2147483647, + "memnode" : 131072, + "opa_rate" : 0, + "id" : 28, + "cluster" : "clusterb", + "desktop_computing" : "NO", + "virtual" : "ivt", + "memcore" : 8192, + "cpuarch" : "x86_64", + "ip" : "172.16.64.2", + "eth_rate" : 10, + "drain" : "NO", + "network_address" : "clusterb-2.fakesite.grid5000.fr", + "suspended_jobs" : "NO", + "cpuset" : 8, + "ib_count" : 0, + "expiry_date" : 0, + "cpufreq" : "2.1", + "myri_count" : 0, + "cpucore" : 8, + "cpu" : 4, + "deploy" : "NO", + "last_job_date" : 0, + "opa_count" : 0 + }, + { + "opa" : "NO", + "besteffort" : "YES", + "myri" : "NO", + "core" : 26, + "memnode" : 131072, + "available_upto" : 2147483647, + "opa_rate" : 0, + "cluster" : "clusterb", + "id" : 29, + "desktop_computing" : "NO", + "virtual" : "ivt", + "memcore" : 8192, + "cpuarch" : "x86_64", + "ip" : "172.16.64.2", + "drain" : "NO", + "eth_rate" : 10, + "network_address" : "clusterb-2.fakesite.grid5000.fr", + "suspended_jobs" : "NO", + "cpuset" : 9, + "expiry_date" : 0, + "ib_count" : 0, + "myri_count" : 0, + "cpufreq" : "2.1", + "deploy" : "NO", + "cpucore" : 8, + "cpu" : 4, + "last_job_date" : 0, + "opa_count" : 0, + "disk" : null, + "next_finaud_decision" : "NO", + "cputype" : "Intel Xeon Silver 4110", + "gpu_model" : "GeForce RTX 2080 Ti", + "ib_rate" : 0, + "finaud_decision" : "NO", + "gpu" : 7, + "memcpu" : 65536, + "api_timestamp" : 1569497994, + "gpu_count" : 4, + "gpudevice" : 2, + "last_available_upto" : 0, + "wattmeter" : "MULTIPLE", + "links" : [ + { + "title" : "node", + "rel" : "member", + "href" : "//oarapi/resources/nodes/clusterb-2.fakesite.grid5000.fr" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/29" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/29/jobs" + } + ], + "cluster_priority" : 201906, + "maintenance" : "NO", + "host" : "clusterb-2.fakesite.grid5000.fr", + "next_state" : "UnChanged", + "nodemodel" : "Dell PowerEdge T640", + "eth_count" : 1, + "myri_rate" : 0, + "ib" : "NO", + "type" : "default", + "state_num" : 1, + "scheduler_priority" : 0, + "state" : "Alive", + "disktype" : "SATA", + "mic" : "NO", + "switch" : null, + "diskpath" : null, + "disk_reservation_count" : 3, + "production" : "YES", + "max_walltime" : 86400 + }, + { + "gpu" : 7, + "finaud_decision" : "NO", + "cputype" : "Intel Xeon Silver 4110", + "disk" : null, + "next_finaud_decision" : "NO", + "ib_rate" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "last_available_upto" : 0, + "wattmeter" : "MULTIPLE", + "cluster_priority" : 201906, + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/clusterb-2.fakesite.grid5000.fr" + }, + { + "href" : "//oarapi/resources/30", + "rel" : "self" + }, + { + "rel" : "collection", + "href" : "//oarapi/resources/30/jobs", + "title" : "jobs" + } + ], + "maintenance" : "NO", + "memcpu" : 65536, + "api_timestamp" : 1569497994, + "gpu_count" : 4, + "gpudevice" : 2, + "ib" : "NO", + "type" : "default", + "state_num" : 1, + "next_state" : "UnChanged", + "host" : "clusterb-2.fakesite.grid5000.fr", + "nodemodel" : "Dell PowerEdge T640", + "eth_count" : 1, + "myri_rate" : 0, + "switch" : null, + "diskpath" : null, + "disk_reservation_count" : 3, + "production" : "YES", + "max_walltime" : 86400, + "state" : "Alive", + "scheduler_priority" : 0, + "mic" : "NO", + "disktype" : "SATA", + "opa" : "NO", + "core" : 27, + "myri" : "NO", + "besteffort" : "YES", + "id" : 30, + "cluster" : "clusterb", + "virtual" : "ivt", + "desktop_computing" : "NO", + "memcore" : 8192, + "cpuarch" : "x86_64", + "ip" : "172.16.64.2", + "available_upto" : 2147483647, + "memnode" : 131072, + "opa_rate" : 0, + "expiry_date" : 0, + "ib_count" : 0, + "cpucore" : 8, + "myri_count" : 0, + "cpufreq" : "2.1", + "cpu" : 4, + "last_job_date" : 0, + "deploy" : "NO", + "opa_count" : 0, + "eth_rate" : 10, + "cpuset" : 10, + "drain" : "NO", + "network_address" : "clusterb-2.fakesite.grid5000.fr", + "suspended_jobs" : "NO" + }, + { + "maintenance" : "NO", + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterb-2.fakesite.grid5000.fr", + "rel" : "member", + "title" : "node" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/31" + }, + { + "rel" : "collection", + "href" : "//oarapi/resources/31/jobs", + "title" : "jobs" + } + ], + "cluster_priority" : 201906, + "wattmeter" : "MULTIPLE", + "last_available_upto" : 0, + "gpudevice" : 2, + "gpu_count" : 4, + "api_timestamp" : 1569497994, + "memcpu" : 65536, + "finaud_decision" : "NO", + "gpu" : 7, + "ib_rate" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "disk" : null, + "cputype" : "Intel Xeon Silver 4110", + "next_finaud_decision" : "NO", + "production" : "YES", + "max_walltime" : 86400, + "disk_reservation_count" : 3, + "diskpath" : null, + "switch" : null, + "mic" : "NO", + "disktype" : "SATA", + "state" : "Alive", + "scheduler_priority" : 0, + "state_num" : 1, + "type" : "default", + "ib" : "NO", + "myri_rate" : 0, + "eth_count" : 1, + "host" : "clusterb-2.fakesite.grid5000.fr", + "next_state" : "UnChanged", + "nodemodel" : "Dell PowerEdge T640", + "core" : 28, + "myri" : "NO", + "besteffort" : "YES", + "opa" : "NO", + "opa_count" : 0, + "cpufreq" : "2.1", + "myri_count" : 0, + "cpu" : 4, + "cpucore" : 8, + "deploy" : "NO", + "last_job_date" : 0, + "expiry_date" : 0, + "ib_count" : 0, + "eth_rate" : 10, + "suspended_jobs" : "NO", + "drain" : "NO", + "network_address" : "clusterb-2.fakesite.grid5000.fr", + "cpuset" : 11, + "cpuarch" : "x86_64", + "ip" : "172.16.64.2", + "memcore" : 8192, + "desktop_computing" : "NO", + "virtual" : "ivt", + "cluster" : "clusterb", + "id" : 31, + "opa_rate" : 0, + "available_upto" : 2147483647, + "memnode" : 131072 + }, + { + "max_walltime" : 86400, + "production" : "YES", + "disk_reservation_count" : 3, + "diskpath" : null, + "switch" : null, + "disktype" : "SATA", + "mic" : "NO", + "state" : "Alive", + "scheduler_priority" : 0, + "state_num" : 1, + "type" : "default", + "ib" : "NO", + "myri_rate" : 0, + "eth_count" : 1, + "next_state" : "UnChanged", + "host" : "clusterb-2.fakesite.grid5000.fr", + "nodemodel" : "Dell PowerEdge T640", + "maintenance" : "NO", + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterb-2.fakesite.grid5000.fr", + "rel" : "member", + "title" : "node" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/32" + }, + { + "title" : "jobs", + "rel" : "collection", + "href" : "//oarapi/resources/32/jobs" + } + ], + "cluster_priority" : 201906, + "wattmeter" : "MULTIPLE", + "last_available_upto" : 0, + "gpudevice" : 3, + "gpu_count" : 4, + "api_timestamp" : 1569497994, + "memcpu" : 65536, + "gpu" : 8, + "finaud_decision" : "NO", + "ib_rate" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "disk" : null, + "next_finaud_decision" : "NO", + "cputype" : "Intel Xeon Silver 4110", + "opa_count" : 0, + "cpu" : 4, + "myri_count" : 0, + "cpufreq" : "2.1", + "cpucore" : 8, + "last_job_date" : 0, + "deploy" : "NO", + "expiry_date" : 0, + "ib_count" : 0, + "network_address" : "clusterb-2.fakesite.grid5000.fr", + "eth_rate" : 10, + "drain" : "NO", + "cpuset" : 12, + "suspended_jobs" : "NO", + "cpuarch" : "x86_64", + "ip" : "172.16.64.2", + "memcore" : 8192, + "virtual" : "ivt", + "desktop_computing" : "NO", + "cluster" : "clusterb", + "id" : 32, + "opa_rate" : 0, + "available_upto" : 2147483647, + "memnode" : 131072, + "core" : 29, + "myri" : "NO", + "besteffort" : "YES", + "opa" : "NO" + }, + { + "finaud_decision" : "NO", + "gpu" : 8, + "gpu_model" : "GeForce RTX 2080 Ti", + "ib_rate" : 0, + "next_finaud_decision" : "NO", + "disk" : null, + "cputype" : "Intel Xeon Silver 4110", + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterb-2.fakesite.grid5000.fr", + "rel" : "member", + "title" : "node" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/33" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/33/jobs" + } + ], + "cluster_priority" : 201906, + "maintenance" : "NO", + "last_available_upto" : 0, + "wattmeter" : "MULTIPLE", + "gpu_count" : 4, + "gpudevice" : 3, + "memcpu" : 65536, + "api_timestamp" : 1569497994, + "state_num" : 1, + "ib" : "NO", + "type" : "default", + "nodemodel" : "Dell PowerEdge T640", + "next_state" : "UnChanged", + "host" : "clusterb-2.fakesite.grid5000.fr", + "eth_count" : 1, + "myri_rate" : 0, + "disk_reservation_count" : 3, + "production" : "YES", + "max_walltime" : 86400, + "switch" : null, + "diskpath" : null, + "scheduler_priority" : 0, + "state" : "Alive", + "disktype" : "SATA", + "mic" : "NO", + "opa" : "NO", + "myri" : "NO", + "core" : 30, + "besteffort" : "YES", + "memcore" : 8192, + "cpuarch" : "x86_64", + "ip" : "172.16.64.2", + "cluster" : "clusterb", + "id" : 33, + "virtual" : "ivt", + "desktop_computing" : "NO", + "opa_rate" : 0, + "available_upto" : 2147483647, + "memnode" : 131072, + "opa_count" : 0, + "ib_count" : 0, + "expiry_date" : 0, + "myri_count" : 0, + "cpucore" : 8, + "cpufreq" : "2.1", + "cpu" : 4, + "deploy" : "NO", + "last_job_date" : 0, + "cpuset" : 13, + "eth_rate" : 10, + "drain" : "NO", + "network_address" : "clusterb-2.fakesite.grid5000.fr", + "suspended_jobs" : "NO" + }, + { + "opa_rate" : 0, + "available_upto" : 2147483647, + "memnode" : 131072, + "cpuarch" : "x86_64", + "ip" : "172.16.64.2", + "memcore" : 8192, + "virtual" : "ivt", + "desktop_computing" : "NO", + "cluster" : "clusterb", + "id" : 34, + "eth_rate" : 10, + "network_address" : "clusterb-2.fakesite.grid5000.fr", + "drain" : "NO", + "suspended_jobs" : "NO", + "cpuset" : 14, + "opa_count" : 0, + "cpufreq" : "2.1", + "myri_count" : 0, + "last_job_date" : 0, + "cpucore" : 8, + "cpu" : 4, + "deploy" : "NO", + "ib_count" : 0, + "expiry_date" : 0, + "opa" : "NO", + "besteffort" : "YES", + "myri" : "NO", + "core" : 31, + "myri_rate" : 0, + "eth_count" : 1, + "next_state" : "UnChanged", + "host" : "clusterb-2.fakesite.grid5000.fr", + "nodemodel" : "Dell PowerEdge T640", + "state_num" : 1, + "type" : "default", + "ib" : "NO", + "mic" : "NO", + "disktype" : "SATA", + "scheduler_priority" : 0, + "state" : "Alive", + "max_walltime" : 86400, + "production" : "YES", + "disk_reservation_count" : 3, + "diskpath" : null, + "switch" : null, + "ib_rate" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "disk" : null, + "cputype" : "Intel Xeon Silver 4110", + "next_finaud_decision" : "NO", + "gpu" : 8, + "finaud_decision" : "NO", + "gpudevice" : 3, + "gpu_count" : 4, + "api_timestamp" : 1569497994, + "memcpu" : 65536, + "maintenance" : "NO", + "cluster_priority" : 201906, + "links" : [ + { + "rel" : "member", + "href" : "//oarapi/resources/nodes/clusterb-2.fakesite.grid5000.fr", + "title" : "node" + }, + { + "href" : "//oarapi/resources/34", + "rel" : "self" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/34/jobs" + } + ], + "wattmeter" : "MULTIPLE", + "last_available_upto" : 0 + }, + { + "opa" : "NO", + "besteffort" : "YES", + "core" : 32, + "myri" : "NO", + "available_upto" : 2147483647, + "memnode" : 131072, + "opa_rate" : 0, + "desktop_computing" : "NO", + "virtual" : "ivt", + "id" : 35, + "cluster" : "clusterb", + "cpuarch" : "x86_64", + "ip" : "172.16.64.2", + "memcore" : 8192, + "eth_rate" : 10, + "suspended_jobs" : "NO", + "drain" : "NO", + "network_address" : "clusterb-2.fakesite.grid5000.fr", + "cpuset" : 15, + "myri_count" : 0, + "cpufreq" : "2.1", + "cpu" : 4, + "cpucore" : 8, + "last_job_date" : 0, + "deploy" : "NO", + "expiry_date" : 0, + "ib_count" : 0, + "opa_count" : 0, + "cputype" : "Intel Xeon Silver 4110", + "disk" : null, + "next_finaud_decision" : "NO", + "ib_rate" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "gpu" : 8, + "finaud_decision" : "NO", + "api_timestamp" : 1569497994, + "memcpu" : 65536, + "gpudevice" : 3, + "gpu_count" : 4, + "wattmeter" : "MULTIPLE", + "last_available_upto" : 0, + "maintenance" : "NO", + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterb-2.fakesite.grid5000.fr", + "rel" : "member", + "title" : "node" + }, + { + "href" : "//oarapi/resources/35", + "rel" : "self" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/35/jobs" + } + ], + "cluster_priority" : 201906, + "eth_count" : 1, + "myri_rate" : 0, + "nodemodel" : "Dell PowerEdge T640", + "next_state" : "UnChanged", + "host" : "clusterb-2.fakesite.grid5000.fr", + "type" : "default", + "ib" : "NO", + "state_num" : 1, + "mic" : "NO", + "disktype" : "SATA", + "scheduler_priority" : 0, + "state" : "Alive", + "diskpath" : null, + "switch" : null, + "production" : "YES", + "max_walltime" : 86400, + "disk_reservation_count" : 3 + }, + { + "state_num" : 1, + "type" : "disk", + "ib" : null, + "myri_rate" : null, + "eth_count" : null, + "next_state" : "UnChanged", + "nodemodel" : null, + "host" : "clusterb-2.fakesite.grid5000.fr", + "max_walltime" : null, + "production" : "YES", + "disk_reservation_count" : null, + "diskpath" : "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:1:0", + "switch" : null, + "disktype" : null, + "mic" : null, + "scheduler_priority" : 0, + "state" : "Alive", + "finaud_decision" : "NO", + "gpu" : null, + "gpu_model" : null, + "ib_rate" : null, + "disk" : "sdb.clusterb-2", + "cputype" : null, + "next_finaud_decision" : "NO", + "maintenance" : "NO", + "links" : [ + { + "title" : "node", + "rel" : "member", + "href" : "//oarapi/resources/nodes/" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/36" + }, + { + "href" : "//oarapi/resources/36/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "cluster_priority" : null, + "wattmeter" : null, + "last_available_upto" : 0, + "gpudevice" : null, + "gpu_count" : null, + "api_timestamp" : 1569497994, + "memcpu" : null, + "cpuarch" : null, + "ip" : null, + "memcore" : null, + "virtual" : null, + "desktop_computing" : "NO", + "id" : 36, + "cluster" : "clusterb", + "opa_rate" : null, + "memnode" : null, + "available_upto" : 0, + "opa_count" : null, + "myri_count" : null, + "last_job_date" : 0, + "cpufreq" : null, + "cpucore" : null, + "cpu" : null, + "deploy" : "YES", + "expiry_date" : 0, + "ib_count" : null, + "suspended_jobs" : "NO", + "eth_rate" : null, + "drain" : "NO", + "network_address" : "", + "cpuset" : -1, + "opa" : null, + "myri" : null, + "core" : null, + "besteffort" : "YES" + }, + { + "besteffort" : "YES", + "core" : null, + "myri" : null, + "opa" : null, + "eth_rate" : null, + "network_address" : "", + "drain" : "NO", + "cpuset" : -1, + "suspended_jobs" : "NO", + "ib_count" : null, + "expiry_date" : 0, + "cpufreq" : null, + "myri_count" : null, + "cpucore" : null, + "cpu" : null, + "last_job_date" : 0, + "deploy" : "YES", + "opa_count" : null, + "available_upto" : 0, + "memnode" : null, + "opa_rate" : null, + "id" : 37, + "cluster" : "clusterb", + "virtual" : null, + "desktop_computing" : "NO", + "memcore" : null, + "cpuarch" : null, + "ip" : null, + "memcpu" : null, + "api_timestamp" : 1569497994, + "gpu_count" : null, + "gpudevice" : null, + "last_available_upto" : 0, + "wattmeter" : null, + "links" : [ + { + "rel" : "member", + "href" : "//oarapi/resources/nodes/", + "title" : "node" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/37" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/37/jobs" + } + ], + "cluster_priority" : null, + "maintenance" : "NO", + "disk" : "sdc.clusterb-2", + "cputype" : null, + "next_finaud_decision" : "NO", + "gpu_model" : null, + "ib_rate" : null, + "finaud_decision" : "NO", + "gpu" : null, + "state" : "Alive", + "scheduler_priority" : 0, + "disktype" : null, + "mic" : null, + "switch" : null, + "diskpath" : "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:2:0", + "disk_reservation_count" : null, + "production" : "YES", + "max_walltime" : null, + "next_state" : "UnChanged", + "host" : "clusterb-2.fakesite.grid5000.fr", + "nodemodel" : null, + "myri_rate" : null, + "eth_count" : null, + "ib" : null, + "type" : "disk", + "state_num" : 1 + }, + { + "gpu_model" : null, + "ib_rate" : null, + "next_finaud_decision" : "NO", + "disk" : "sdd.clusterb-2", + "cputype" : null, + "gpu" : null, + "finaud_decision" : "NO", + "gpu_count" : null, + "gpudevice" : null, + "memcpu" : null, + "api_timestamp" : 1569497994, + "cluster_priority" : null, + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/38" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/38/jobs" + } + ], + "maintenance" : "NO", + "last_available_upto" : 0, + "wattmeter" : null, + "nodemodel" : null, + "next_state" : "UnChanged", + "host" : "clusterb-2.fakesite.grid5000.fr", + "eth_count" : null, + "myri_rate" : null, + "state_num" : 1, + "ib" : null, + "type" : "disk", + "state" : "Alive", + "scheduler_priority" : 0, + "mic" : null, + "disktype" : null, + "disk_reservation_count" : null, + "production" : "YES", + "max_walltime" : null, + "switch" : null, + "diskpath" : "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:3:0", + "opa" : null, + "besteffort" : "YES", + "core" : null, + "myri" : null, + "opa_rate" : null, + "memnode" : null, + "available_upto" : 0, + "memcore" : null, + "cpuarch" : null, + "ip" : null, + "cluster" : "clusterb", + "id" : 38, + "virtual" : null, + "desktop_computing" : "NO", + "network_address" : "", + "eth_rate" : null, + "drain" : "NO", + "suspended_jobs" : "NO", + "cpuset" : -1, + "opa_count" : null, + "expiry_date" : 0, + "ib_count" : null, + "myri_count" : null, + "deploy" : "YES", + "cpufreq" : null, + "cpucore" : null, + "cpu" : null, + "last_job_date" : 0 + } + ], + "links" : [ + { + "rel" : "self", + "href" : "//oarapi/resources/details.json?limit=999999&offset=0" + } + ] +} + diff --git a/tests/stub_oar_properties/dump_oar_api_empty_server.json b/tests/stub_oar_properties/dump_oar_api_empty_server.json index 315507912cc..25cebf4d648 100644 --- a/tests/stub_oar_properties/dump_oar_api_empty_server.json +++ b/tests/stub_oar_properties/dump_oar_api_empty_server.json @@ -1,7 +1,7 @@ { - "links" : [], - "total" : 0, - "items" : [], - "offset" : 0 + "links": [], + "total": 0, + "items": [], + "offset": 0 } diff --git a/tests/stub_oar_properties/load_data_hierarchy_stubbed_data.json b/tests/stub_oar_properties/load_data_hierarchy_stubbed_data.json index ecfee859326..4d2e2e5f805 100644 --- a/tests/stub_oar_properties/load_data_hierarchy_stubbed_data.json +++ b/tests/stub_oar_properties/load_data_hierarchy_stubbed_data.json @@ -1 +1,815 @@ -{"sites":{"fakesite":{"clusters":{"clustera":{"nodes":{"clustera-1":{"architecture":{"nb_cores":16,"nb_procs":2,"nb_threads":32,"platform_type":"x86_64"},"bios":{"release_date":"06/14/2019","vendor":"Dell Inc.","version":"2.2.11"},"chassis":{"manufacturer":"Dell Inc.","name":"PowerEdge T640","serial":"FL1CBX2"},"cpuset_mapping":"continuous","gpu":{"gpu":true,"gpu_cores":17408,"gpu_count":4,"gpu_model":"RTX 2080 Ti","gpu_vendor":"Nvidia"},"gpu_devices":{"nvidia0":{"cpu_affinity":0,"device":"/dev/nvidia0","memory":10989000000,"model":"GeForce RTX 2080 Ti","power_default_limit":"250.00 W","vbios_version":"90.02.17.00.B2","vendor":"Nvidia"},"nvidia1":{"cpu_affinity":0,"device":"/dev/nvidia1","memory":10989000000,"model":"GeForce RTX 2080 Ti","power_default_limit":"250.00 W","vbios_version":"90.02.17.00.B2","vendor":"Nvidia"},"nvidia2":{"cpu_affinity":1,"device":"/dev/nvidia2","memory":10989000000,"model":"GeForce RTX 2080 Ti","power_default_limit":"250.00 W","vbios_version":"90.02.0B.40.09","vendor":"Nvidia"},"nvidia3":{"cpu_affinity":1,"device":"/dev/nvidia3","memory":10989000000,"model":"GeForce RTX 2080 Ti","power_default_limit":"250.00 W","vbios_version":"90.02.17.00.B2","vendor":"Nvidia"}},"main_memory":{"ram_size":137438953472},"monitoring":{"wattmeter":"multiple"},"network_adapters":[{"bridged":false,"device":"eth0","driver":"bnxt_en","enabled":false,"firmware_version":"214.0.173/1.9.2 pkg 21.40.20.0","interface":"Ethernet","mac":"f4:02:70:9a:3f:64","management":false,"model":"BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller","mountable":false,"mounted":false,"name":"eno1","vendor":"Broadcom"},{"bridged":false,"device":"eth1","driver":"bnxt_en","enabled":false,"firmware_version":"214.0.173/1.9.2 pkg 21.40.20.0","interface":"Ethernet","mac":"f4:02:70:9a:3f:65","management":false,"model":"BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller","mountable":false,"mounted":false,"name":"eno2d1","vendor":"Broadcom"},{"bridged":true,"device":"eth2","driver":"i40e","enabled":true,"firmware_version":"6.80 0x80003d72 18.8.9","interface":"Ethernet","ip":"172.16.64.1","mac":"f8:f2:1e:60:41:20","management":false,"model":"Ethernet Controller X710 for 10GbE SFP+","mountable":true,"mounted":true,"name":"enp137s0f0","network_address":"clustera-1.fakesite.grid5000.fr","rate":10000000000,"switch":"gw-fakesite","switch_port":"Ethernet6/39","vendor":"Intel"},{"bridged":false,"device":"eth3","driver":"i40e","enabled":false,"firmware_version":"6.80 0x80003d72 18.8.9","interface":"Ethernet","mac":"f8:f2:1e:60:41:21","management":false,"model":"Ethernet Controller X710 for 10GbE SFP+","mountable":false,"mounted":false,"name":"enp137s0f1","vendor":"Intel"},{"device":"bmc","enabled":true,"interface":"Ethernet","ip":"172.17.64.1","mac":"f4:02:70:9a:3f:74","management":true,"mountable":false,"mounted":false,"network_address":"clustera-1-bmc.fakesite.grid5000.fr"}],"operating_system":{"cstate_driver":"intel_idle","cstate_governor":"menu","ht_enabled":true,"pstate_driver":"intel_pstate","pstate_governor":"performance","turboboost_enabled":true},"performance":{"core_flops":17713000000,"node_flops":202670000000},"processor":{"cache_l1":null,"cache_l1d":32768,"cache_l1i":32768,"cache_l2":1048576,"cache_l3":11534336,"clock_speed":2100000000,"ht_capable":true,"instruction_set":"x86-64","microarchitecture":"Skylake","model":"Intel Xeon","other_description":"Intel(R) Xeon(R) Silver 4110 CPU @ 2.10GHz","vendor":"Intel","version":"Silver 4110"},"sensors":{"power":{"available":true,"via":{"api":{"metric":"power"},"pdu":[{"port":1,"uid":"clustera-pdu1"},{"port":1,"uid":"clustera-pdu2"}]}}},"storage_devices":[{"by_id":"/dev/disk/by-id/wwn-0x6f402700aefea00024afe4c307e10af8","by_path":"/dev/disk/by-path/pci-0000:19:00.0-scsi-0:2:0:0","device":"sda","driver":"megaraid_sas","firmware_version":4.29,"interface":"SATA","model":"PERC H330 Adp","size":479559942144,"storage":"SSD","vendor":"Dell (Raid)"}],"supported_job_types":{"besteffort":true,"deploy":true,"max_walltime":86400,"queues":["admin","production"],"virtual":"ivt"},"type":"node","uid":"clustera-1"},"clustera-2":{"architecture":{"nb_cores":16,"nb_procs":2,"nb_threads":32,"platform_type":"x86_64"},"bios":{"release_date":"06/14/2019","vendor":"Dell Inc.","version":"2.2.11"},"chassis":{"manufacturer":"Dell Inc.","name":"PowerEdge T640","serial":"9L1CBX2"},"cpuset_mapping":"continuous","gpu":{"gpu":true,"gpu_cores":17408,"gpu_count":4,"gpu_model":"RTX 2080 Ti","gpu_vendor":"Nvidia"},"gpu_devices":{"nvidia0":{"cpu_affinity":0,"device":"/dev/nvidia0","memory":10989000000,"model":"GeForce RTX 2080 Ti","power_default_limit":"250.00 W","vbios_version":"90.02.17.00.B2","vendor":"Nvidia"},"nvidia1":{"cpu_affinity":0,"device":"/dev/nvidia1","memory":10989000000,"model":"GeForce RTX 2080 Ti","power_default_limit":"250.00 W","vbios_version":"90.02.0B.40.09","vendor":"Nvidia"},"nvidia2":{"cpu_affinity":1,"device":"/dev/nvidia2","memory":10989000000,"model":"GeForce RTX 2080 Ti","power_default_limit":"250.00 W","vbios_version":"90.02.0B.40.09","vendor":"Nvidia"},"nvidia3":{"cpu_affinity":1,"device":"/dev/nvidia3","memory":10989000000,"model":"GeForce RTX 2080 Ti","power_default_limit":"250.00 W","vbios_version":"90.02.17.00.AC","vendor":"Nvidia"}},"main_memory":{"ram_size":137438953472},"monitoring":{"wattmeter":"multiple"},"network_adapters":[{"bridged":false,"device":"eth0","driver":"bnxt_en","enabled":false,"firmware_version":"214.0.173/1.9.2 pkg 21.40.20.0","interface":"Ethernet","mac":"f4:02:70:9a:48:d8","management":false,"model":"BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller","mountable":false,"mounted":false,"name":"eno1","vendor":"Broadcom"},{"bridged":false,"device":"eth1","driver":"bnxt_en","enabled":false,"firmware_version":"214.0.173/1.9.2 pkg 21.40.20.0","interface":"Ethernet","mac":"f4:02:70:9a:48:d9","management":false,"model":"BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller","mountable":false,"mounted":false,"name":"eno2d1","vendor":"Broadcom"},{"bridged":true,"device":"eth2","driver":"i40e","enabled":true,"firmware_version":"6.80 0x80003d72 18.8.9","interface":"Ethernet","ip":"172.16.64.2","mac":"f8:f2:1e:60:3f:a0","management":false,"model":"Ethernet Controller X710 for 10GbE SFP+","mountable":true,"mounted":true,"name":"enp137s0f0","network_address":"clustera-2.fakesite.grid5000.fr","rate":10000000000,"switch":"gw-fakesite","switch_port":"Ethernet6/40","vendor":"Intel"},{"bridged":false,"device":"eth3","driver":"i40e","enabled":false,"firmware_version":"6.80 0x80003d72 18.8.9","interface":"Ethernet","mac":"f8:f2:1e:60:3f:a1","management":false,"model":"Ethernet Controller X710 for 10GbE SFP+","mountable":false,"mounted":false,"name":"enp137s0f1","vendor":"Intel"},{"device":"bmc","enabled":true,"interface":"Ethernet","ip":"172.17.64.2","mac":"f4:02:70:9a:48:e8","management":true,"mountable":false,"mounted":false,"network_address":"clustera-2-bmc.fakesite.grid5000.fr"}],"operating_system":{"cstate_driver":"intel_idle","cstate_governor":"menu","ht_enabled":true,"pstate_driver":"intel_pstate","pstate_governor":"performance","turboboost_enabled":true},"performance":{"core_flops":17713000000,"node_flops":202670000000},"processor":{"cache_l1":null,"cache_l1d":32768,"cache_l1i":32768,"cache_l2":1048576,"cache_l3":11534336,"clock_speed":2100000000,"ht_capable":true,"instruction_set":"x86-64","microarchitecture":"Skylake","model":"Intel Xeon","other_description":"Intel(R) Xeon(R) Silver 4110 CPU @ 2.10GHz","vendor":"Intel","version":"Silver 4110"},"sensors":{"power":{"available":true,"via":{"api":{"metric":"power"},"pdu":[{"port":6,"uid":"clustera-pdu1"},{"port":6,"uid":"clustera-pdu2"}]}}},"storage_devices":[{"by_id":"/dev/disk/by-id/wwn-0x6f402700aeff430024929b4003cd51d0","by_path":"/dev/disk/by-path/pci-0000:19:00.0-scsi-0:2:0:0","device":"sda","driver":"megaraid_sas","firmware_version":4.29,"interface":"SATA","model":"PERC H330 Adp","size":479559942144,"storage":"SSD","vendor":"Dell (Raid)"}],"supported_job_types":{"besteffort":true,"deploy":true,"max_walltime":86400,"queues":["admin","production"],"virtual":"ivt"},"type":"node","uid":"clustera-2"}},"created_at":"Fri, 07 Jun 2019 00:00:00 GMT","kavlan":false,"model":"Dell PowerEdge T640","queues":["admin","production"],"type":"cluster","uid":"clustera"}},"network_equipments":{"gw-fakesite":{"backplane_bps":1280000000000,"kind":"router","linecards":[{},{},{},{},{},{},{"backplane_bps":1280000000000,"kavlan_pattern":"Ethernet%LINECARD%/%PORT%","kind":"node","model":"N9K-X9464PX","ports":[{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{"kind":"node","port":"eth2","uid":"clustera-1"},{"kind":"node","port":"eth2","uid":"clustera-2"}],"rate":10000000000,"snmp_pattern":"Ethernet%LINECARD%/%PORT%"}],"model":"Cisco Nexus 9508","monitoring":{"metric":"power","wattmeter":"multiple"},"sensors":{"network":{"available":true,"resolution":10},"power":{"available":true,"resolution":1,"via":{"pdu":[{"port":8,"uid":"graoully-pdu1"},{"port":8,"uid":"graoully-pdu2"},{"port":8,"uid":"grimoire-pdu1"},{"port":8,"uid":"grimoire-pdu2"}]}}},"site":"fakesite","snmp_community":"public","type":"network_equipment","uid":"gw-fakesite","vlans":{"vlan100":{"addresses":["172.16.79.254"],"administrative":true},"vlan101":{"addresses":["172.17.79.254"]},"vlan500":{"addresses":["192.168.4.14"]},"vlan701":{"addresses":["192.168.192.0/20"],"name":"kavlan-1"},"vlan702":{"addresses":["192.168.208.0/20"],"name":"kavlan-2"},"vlan703":{"addresses":["192.168.224.0/20"],"name":"kavlan-3"},"vlan704":{"addresses":["10.16.0.0/18"],"name":"kavlan-4"},"vlan705":{"addresses":["10.16.64.0/18"],"name":"kavlan-5"},"vlan706":{"addresses":["10.16.128.0/18"],"name":"kavlan-6"},"vlan707":{"addresses":["10.16.192.0/18"],"name":"kavlan-7"},"vlan708":{"addresses":["10.17.0.0/18"],"name":"kavlan-8"},"vlan709":{"addresses":["10.17.64.0/18"],"name":"kavlan-9"},"vlan714":{"addresses":["10.19.192.0/18"],"name":"kavlan-14"}},"warranty":"2020-09-01","weathermap":{}}},"pdus":{"clustera-pdu1":{"ip":"172.17.79.226","mac":"28:29:86:0B:3B:06","model":"AP8653","ports":{"1":"clustera-1","6":"clustera-2"},"sensors":[{"power":{"per_outlets":true,"resolution":1,"snmp":{"available":true,"outlet_prefix_oid":"iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7","total_oids":["iso.3.6.1.4.1.318.1.1.12.1.16.0"],"unit":"W"}}}],"type":"pdu","uid":"clustera-pdu1","vendor":"APC"},"clustera-pdu3":{"ip":"172.17.79.231","mac":"28:29:86:12:27:FF","model":"AP8653","ports":{},"sensors":[{"power":{"per_outlets":true,"resolution":1,"snmp":{"available":true,"outlet_prefix_oid":"iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7","total_oids":["iso.3.6.1.4.1.318.1.1.12.1.16.0"],"unit":"W"}}}],"type":"pdu","uid":"clustera-pdu3","vendor":"APC"},"clustera-pdu2":{"ip":"172.17.79.227","mac":"28:29:86:10:0E:8C","model":"AP8653","ports":{"1":"clustera-1","6":"clustera-2"},"sensors":[{"power":{"per_outlets":true,"resolution":1,"snmp":{"available":true,"outlet_prefix_oid":"iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7","total_oids":["iso.3.6.1.4.1.318.1.1.12.1.16.0"],"unit":"W"}}}],"type":"pdu","uid":"clustera-pdu2","vendor":"APC"},"clustera-pdu4":{"ip":"172.17.79.232","mac":"28:29:86:10:0E:B4","model":"AP8653","ports":{},"sensors":[{"power":{"per_outlets":true,"resolution":1,"snmp":{"available":true,"outlet_prefix_oid":"iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7","total_oids":["iso.3.6.1.4.1.318.1.1.12.1.16.0"],"unit":"W"}}}],"type":"pdu","uid":"clustera-pdu4","vendor":"APC"}},"compilation_server":false,"description":"Grid5000 Fakesite site","email_contact":"support-staff@lists.grid5000.fr","frontend_ip":"172.16.79.101","g5ksubnet":{"gateway":"10.147.255.254","network":"10.144.0.0/14"},"latitude":48.7,"location":"Fakesite, France","longitude":6.2,"name":"Fakesite","production":true,"renater_ip":"192.168.4.14","security_contact":"support-staff@lists.grid5000.fr","storage5k":false,"sys_admin_contact":"support-staff@lists.grid5000.fr","type":"site","uid":"fakesite","user_support_contact":"support-staff@lists.grid5000.fr","virt_ip_range":"10.144.0.0/14","web":"http://www.grid5000.fr/mediawiki/index.php/Fakesite:Home"}},"network_equipments":{"renater-lyon":{"kind":"virtual","linecards":[{"ports":[{"uid":"renater-paris"},{"uid":"renater-sophia"},{"uid":"renater-grenoble"},{"uid":"renater-nantes"},{"kind":"router","site_uid":"lyon","uid":"gw-lyon"}],"rate":10000000000}],"type":"network_equipment","uid":"renater-lyon","weathermap":{}},"renater-grenoble":{"kind":"virtual","linecards":[{"ports":[{"uid":"renater-lyon"},{"kind":"router","site_uid":"grenoble","uid":"gw-grenoble"}],"rate":10000000000}],"type":"network_equipment","uid":"renater-grenoble","weathermap":{}},"renater-nancy":{"kind":"virtual","linecards":[{"ports":[{"uid":"renater-luxembourg"},{"uid":"renater-paris"},{"kind":"router","site_uid":"nancy","uid":"gw-nancy"}],"rate":10000000000}],"type":"network_equipment","uid":"renater-nancy","weathermap":{}},"renater-luxembourg":{"kind":"virtual","linecards":[{"ports":[{"uid":"renater-nancy"},{"kind":"router","site_uid":"luxembourg","uid":"gw-luxembourg"}],"rate":10000000000}],"type":"network_equipment","uid":"renater-luxembourg","weathermap":{}},"renater-sophia":{"kind":"virtual","linecards":[{"ports":[{"uid":"renater-lyon"},{"kind":"router","site_uid":"sophia","uid":"gw-sophia"}],"rate":10000000000}],"type":"network_equipment","uid":"renater-sophia","weathermap":{}},"renater-paris":{"kind":"virtual","linecards":[{"ports":[{"uid":"renater-lille"},{"uid":"renater-lyon"},{"uid":"renater-nancy"}],"rate":10000000000}],"type":"network_equipment","uid":"renater-paris","weathermap":{}},"renater-rennes":{"kind":"virtual","linecards":[{"ports":[{"uid":"renater-nantes"},{"kind":"router","site_uid":"rennes","uid":"gw-rennes"}],"rate":10000000000}],"type":"network_equipment","uid":"renater-rennes","weathermap":{}},"renater-nantes":{"kind":"virtual","linecards":[{"ports":[{"uid":"renater-lyon"},{"uid":"renater-rennes"},{"kind":"router","site_uid":"nantes","uid":"gw-nantes"}],"rate":10000000000}],"type":"network_equipment","uid":"renater-nantes","weathermap":{}},"renater-lille":{"kind":"virtual","linecards":[{"ports":[{"uid":"renater-paris"},{"kind":"router","site_uid":"lille","uid":"gw-lille"}],"rate":10000000000}],"type":"network_equipment","uid":"renater-lille","weathermap":{}}},"type":"grid","uid":"grid5000"} +{ + "sites": { + "fakesite": { + "clusters": { + "clustera": { + "nodes": { + "clustera-1": { + "architecture": { + "nb_cores": 16, + "nb_procs": 2, + "nb_threads": 32, + "platform_type": "x86_64" + }, + "bios": { + "release_date": "06/14/2019", + "vendor": "Dell Inc.", + "version": "2.2.11" + }, + "chassis": { + "manufacturer": "Dell Inc.", + "name": "PowerEdge T640", + "serial": "FL1CBX2" + }, + "cpuset_mapping": "continuous", + "gpu": { + "gpu": true, + "gpu_cores": 17408, + "gpu_count": 4, + "gpu_model": "RTX 2080 Ti", + "gpu_vendor": "Nvidia" + }, + "gpu_devices": { + "nvidia0": { + "cpu_affinity": 0, + "device": "/dev/nvidia0", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.B2", + "vendor": "Nvidia" + }, + "nvidia1": { + "cpu_affinity": 0, + "device": "/dev/nvidia1", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.B2", + "vendor": "Nvidia" + }, + "nvidia2": { + "cpu_affinity": 1, + "device": "/dev/nvidia2", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.0B.40.09", + "vendor": "Nvidia" + }, + "nvidia3": { + "cpu_affinity": 1, + "device": "/dev/nvidia3", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.B2", + "vendor": "Nvidia" + } + }, + "main_memory": { + "ram_size": 137438953472 + }, + "monitoring": { + "wattmeter": "multiple" + }, + "network_adapters": [{ + "bridged": false, + "device": "eth0", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:3f:64", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno1", + "vendor": "Broadcom" + }, { + "bridged": false, + "device": "eth1", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:3f:65", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno2d1", + "vendor": "Broadcom" + }, { + "bridged": true, + "device": "eth2", + "driver": "i40e", + "enabled": true, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "ip": "172.16.64.1", + "mac": "f8:f2:1e:60:41:20", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": true, + "mounted": true, + "name": "enp137s0f0", + "network_address": "clustera-1.fakesite.grid5000.fr", + "rate": 10000000000, + "switch": "gw-fakesite", + "switch_port": "Ethernet6/39", + "vendor": "Intel" + }, { + "bridged": false, + "device": "eth3", + "driver": "i40e", + "enabled": false, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "mac": "f8:f2:1e:60:41:21", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": false, + "mounted": false, + "name": "enp137s0f1", + "vendor": "Intel" + }, { + "device": "bmc", + "enabled": true, + "interface": "Ethernet", + "ip": "172.17.64.1", + "mac": "f4:02:70:9a:3f:74", + "management": true, + "mountable": false, + "mounted": false, + "network_address": "clustera-1-bmc.fakesite.grid5000.fr" + }], + "operating_system": { + "cstate_driver": "intel_idle", + "cstate_governor": "menu", + "ht_enabled": true, + "pstate_driver": "intel_pstate", + "pstate_governor": "performance", + "turboboost_enabled": true + }, + "performance": { + "core_flops": 17713000000, + "node_flops": 202670000000 + }, + "processor": { + "cache_l1": null, + "cache_l1d": 32768, + "cache_l1i": 32768, + "cache_l2": 1048576, + "cache_l3": 11534336, + "clock_speed": 2100000000, + "ht_capable": true, + "instruction_set": "x86-64", + "microarchitecture": "Skylake", + "model": "Intel Xeon", + "other_description": "Intel(R) Xeon(R) Silver 4110 CPU @ 2.10GHz", + "vendor": "Intel", + "version": "Silver 4110" + }, + "sensors": { + "power": { + "available": true, + "via": { + "api": { + "metric": "power" + }, + "pdu": [{ + "port": 1, + "uid": "clustera-pdu1" + }, { + "port": 1, + "uid": "clustera-pdu2" + }] + } + } + }, + "storage_devices": [{ + "by_id": "/dev/disk/by-id/wwn-0x6f402700aefea00024afe4c307e10af8", + "by_path": "/dev/disk/by-path/pci-0000:19:00.0-scsi-0:2:0:0", + "device": "sda", + "driver": "megaraid_sas", + "firmware_version": 4.29, + "interface": "SATA", + "model": "PERC H330 Adp", + "size": 479559942144, + "storage": "SSD", + "vendor": "Dell (Raid)" + }], + "supported_job_types": { + "besteffort": true, + "deploy": true, + "max_walltime": 86400, + "queues": ["admin", "production"], + "virtual": "ivt" + }, + "type": "node", + "uid": "clustera-1" + }, + "clustera-2": { + "architecture": { + "nb_cores": 16, + "nb_procs": 2, + "nb_threads": 32, + "platform_type": "x86_64" + }, + "bios": { + "release_date": "06/14/2019", + "vendor": "Dell Inc.", + "version": "2.2.11" + }, + "chassis": { + "manufacturer": "Dell Inc.", + "name": "PowerEdge T640", + "serial": "9L1CBX2" + }, + "cpuset_mapping": "continuous", + "gpu": { + "gpu": true, + "gpu_cores": 17408, + "gpu_count": 4, + "gpu_model": "RTX 2080 Ti", + "gpu_vendor": "Nvidia" + }, + "gpu_devices": { + "nvidia0": { + "cpu_affinity": 0, + "device": "/dev/nvidia0", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.B2", + "vendor": "Nvidia" + }, + "nvidia1": { + "cpu_affinity": 0, + "device": "/dev/nvidia1", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.0B.40.09", + "vendor": "Nvidia" + }, + "nvidia2": { + "cpu_affinity": 1, + "device": "/dev/nvidia2", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.0B.40.09", + "vendor": "Nvidia" + }, + "nvidia3": { + "cpu_affinity": 1, + "device": "/dev/nvidia3", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.AC", + "vendor": "Nvidia" + } + }, + "main_memory": { + "ram_size": 137438953472 + }, + "monitoring": { + "wattmeter": "multiple" + }, + "network_adapters": [{ + "bridged": false, + "device": "eth0", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:48:d8", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno1", + "vendor": "Broadcom" + }, { + "bridged": false, + "device": "eth1", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:48:d9", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno2d1", + "vendor": "Broadcom" + }, { + "bridged": true, + "device": "eth2", + "driver": "i40e", + "enabled": true, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "ip": "172.16.64.2", + "mac": "f8:f2:1e:60:3f:a0", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": true, + "mounted": true, + "name": "enp137s0f0", + "network_address": "clustera-2.fakesite.grid5000.fr", + "rate": 10000000000, + "switch": "gw-fakesite", + "switch_port": "Ethernet6/40", + "vendor": "Intel" + }, { + "bridged": false, + "device": "eth3", + "driver": "i40e", + "enabled": false, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "mac": "f8:f2:1e:60:3f:a1", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": false, + "mounted": false, + "name": "enp137s0f1", + "vendor": "Intel" + }, { + "device": "bmc", + "enabled": true, + "interface": "Ethernet", + "ip": "172.17.64.2", + "mac": "f4:02:70:9a:48:e8", + "management": true, + "mountable": false, + "mounted": false, + "network_address": "clustera-2-bmc.fakesite.grid5000.fr" + }], + "operating_system": { + "cstate_driver": "intel_idle", + "cstate_governor": "menu", + "ht_enabled": true, + "pstate_driver": "intel_pstate", + "pstate_governor": "performance", + "turboboost_enabled": true + }, + "performance": { + "core_flops": 17713000000, + "node_flops": 202670000000 + }, + "processor": { + "cache_l1": null, + "cache_l1d": 32768, + "cache_l1i": 32768, + "cache_l2": 1048576, + "cache_l3": 11534336, + "clock_speed": 2100000000, + "ht_capable": true, + "instruction_set": "x86-64", + "microarchitecture": "Skylake", + "model": "Intel Xeon", + "other_description": "Intel(R) Xeon(R) Silver 4110 CPU @ 2.10GHz", + "vendor": "Intel", + "version": "Silver 4110" + }, + "sensors": { + "power": { + "available": true, + "via": { + "api": { + "metric": "power" + }, + "pdu": [{ + "port": 6, + "uid": "clustera-pdu1" + }, { + "port": 6, + "uid": "clustera-pdu2" + }] + } + } + }, + "storage_devices": [{ + "by_id": "/dev/disk/by-id/wwn-0x6f402700aeff430024929b4003cd51d0", + "by_path": "/dev/disk/by-path/pci-0000:19:00.0-scsi-0:2:0:0", + "device": "sda", + "driver": "megaraid_sas", + "firmware_version": 4.29, + "interface": "SATA", + "model": "PERC H330 Adp", + "size": 479559942144, + "storage": "SSD", + "vendor": "Dell (Raid)" + }], + "supported_job_types": { + "besteffort": true, + "deploy": true, + "max_walltime": 86400, + "queues": ["admin", "production"], + "virtual": "ivt" + }, + "type": "node", + "uid": "clustera-2" + } + }, + "created_at": "Fri, 07 Jun 2019 00:00:00 GMT", + "kavlan": false, + "model": "Dell PowerEdge T640", + "queues": ["admin", "production"], + "type": "cluster", + "uid": "clustera" + } + }, + "network_equipments": { + "gw-fakesite": { + "backplane_bps": 1280000000000, + "kind": "router", + "linecards": [{}, {}, {}, {}, {}, {}, { + "backplane_bps": 1280000000000, + "kavlan_pattern": "Ethernet%LINECARD%/%PORT%", + "kind": "node", + "model": "N9K-X9464PX", + "ports": [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, { + "kind": "node", + "port": "eth2", + "uid": "clustera-1" + }, { + "kind": "node", + "port": "eth2", + "uid": "clustera-2" + }], + "rate": 10000000000, + "snmp_pattern": "Ethernet%LINECARD%/%PORT%" + }], + "model": "Cisco Nexus 9508", + "monitoring": { + "metric": "power", + "wattmeter": "multiple" + }, + "sensors": { + "network": { + "available": true, + "resolution": 10 + }, + "power": { + "available": true, + "resolution": 1, + "via": { + "pdu": [{ + "port": 8, + "uid": "graoully-pdu1" + }, { + "port": 8, + "uid": "graoully-pdu2" + }, { + "port": 8, + "uid": "grimoire-pdu1" + }, { + "port": 8, + "uid": "grimoire-pdu2" + }] + } + } + }, + "site": "fakesite", + "snmp_community": "public", + "type": "network_equipment", + "uid": "gw-fakesite", + "vlans": { + "vlan100": { + "addresses": ["172.16.79.254"], + "administrative": true + }, + "vlan101": { + "addresses": ["172.17.79.254"] + }, + "vlan500": { + "addresses": ["192.168.4.14"] + }, + "vlan701": { + "addresses": ["192.168.192.0/20"], + "name": "kavlan-1" + }, + "vlan702": { + "addresses": ["192.168.208.0/20"], + "name": "kavlan-2" + }, + "vlan703": { + "addresses": ["192.168.224.0/20"], + "name": "kavlan-3" + }, + "vlan704": { + "addresses": ["10.16.0.0/18"], + "name": "kavlan-4" + }, + "vlan705": { + "addresses": ["10.16.64.0/18"], + "name": "kavlan-5" + }, + "vlan706": { + "addresses": ["10.16.128.0/18"], + "name": "kavlan-6" + }, + "vlan707": { + "addresses": ["10.16.192.0/18"], + "name": "kavlan-7" + }, + "vlan708": { + "addresses": ["10.17.0.0/18"], + "name": "kavlan-8" + }, + "vlan709": { + "addresses": ["10.17.64.0/18"], + "name": "kavlan-9" + }, + "vlan714": { + "addresses": ["10.19.192.0/18"], + "name": "kavlan-14" + } + }, + "warranty": "2020-09-01", + "weathermap": {} + } + }, + "pdus": { + "clustera-pdu1": { + "ip": "172.17.79.226", + "mac": "28:29:86:0B:3B:06", + "model": "AP8653", + "ports": { + "1": "clustera-1", + "6": "clustera-2" + }, + "sensors": [{ + "power": { + "per_outlets": true, + "resolution": 1, + "snmp": { + "available": true, + "outlet_prefix_oid": "iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7", + "total_oids": ["iso.3.6.1.4.1.318.1.1.12.1.16.0"], + "unit": "W" + } + } + }], + "type": "pdu", + "uid": "clustera-pdu1", + "vendor": "APC" + }, + "clustera-pdu3": { + "ip": "172.17.79.231", + "mac": "28:29:86:12:27:FF", + "model": "AP8653", + "ports": {}, + "sensors": [{ + "power": { + "per_outlets": true, + "resolution": 1, + "snmp": { + "available": true, + "outlet_prefix_oid": "iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7", + "total_oids": ["iso.3.6.1.4.1.318.1.1.12.1.16.0"], + "unit": "W" + } + } + }], + "type": "pdu", + "uid": "clustera-pdu3", + "vendor": "APC" + }, + "clustera-pdu2": { + "ip": "172.17.79.227", + "mac": "28:29:86:10:0E:8C", + "model": "AP8653", + "ports": { + "1": "clustera-1", + "6": "clustera-2" + }, + "sensors": [{ + "power": { + "per_outlets": true, + "resolution": 1, + "snmp": { + "available": true, + "outlet_prefix_oid": "iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7", + "total_oids": ["iso.3.6.1.4.1.318.1.1.12.1.16.0"], + "unit": "W" + } + } + }], + "type": "pdu", + "uid": "clustera-pdu2", + "vendor": "APC" + }, + "clustera-pdu4": { + "ip": "172.17.79.232", + "mac": "28:29:86:10:0E:B4", + "model": "AP8653", + "ports": {}, + "sensors": [{ + "power": { + "per_outlets": true, + "resolution": 1, + "snmp": { + "available": true, + "outlet_prefix_oid": "iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7", + "total_oids": ["iso.3.6.1.4.1.318.1.1.12.1.16.0"], + "unit": "W" + } + } + }], + "type": "pdu", + "uid": "clustera-pdu4", + "vendor": "APC" + } + }, + "compilation_server": false, + "description": "Grid5000 Fakesite site", + "email_contact": "support-staff@lists.grid5000.fr", + "frontend_ip": "172.16.79.101", + "g5ksubnet": { + "gateway": "10.147.255.254", + "network": "10.144.0.0/14" + }, + "latitude": 48.7, + "location": "Fakesite, France", + "longitude": 6.2, + "name": "Fakesite", + "production": true, + "renater_ip": "192.168.4.14", + "security_contact": "support-staff@lists.grid5000.fr", + "storage5k": false, + "sys_admin_contact": "support-staff@lists.grid5000.fr", + "type": "site", + "uid": "fakesite", + "user_support_contact": "support-staff@lists.grid5000.fr", + "virt_ip_range": "10.144.0.0/14", + "web": "http://www.grid5000.fr/mediawiki/index.php/Fakesite:Home" + } + }, + "network_equipments": { + "renater-lyon": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-paris" + }, { + "uid": "renater-sophia" + }, { + "uid": "renater-grenoble" + }, { + "uid": "renater-nantes" + }, { + "kind": "router", + "site_uid": "lyon", + "uid": "gw-lyon" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-lyon", + "weathermap": {} + }, + "renater-grenoble": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-lyon" + }, { + "kind": "router", + "site_uid": "grenoble", + "uid": "gw-grenoble" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-grenoble", + "weathermap": {} + }, + "renater-nancy": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-luxembourg" + }, { + "uid": "renater-paris" + }, { + "kind": "router", + "site_uid": "nancy", + "uid": "gw-nancy" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-nancy", + "weathermap": {} + }, + "renater-luxembourg": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-nancy" + }, { + "kind": "router", + "site_uid": "luxembourg", + "uid": "gw-luxembourg" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-luxembourg", + "weathermap": {} + }, + "renater-sophia": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-lyon" + }, { + "kind": "router", + "site_uid": "sophia", + "uid": "gw-sophia" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-sophia", + "weathermap": {} + }, + "renater-paris": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-lille" + }, { + "uid": "renater-lyon" + }, { + "uid": "renater-nancy" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-paris", + "weathermap": {} + }, + "renater-rennes": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-nantes" + }, { + "kind": "router", + "site_uid": "rennes", + "uid": "gw-rennes" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-rennes", + "weathermap": {} + }, + "renater-nantes": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-lyon" + }, { + "uid": "renater-rennes" + }, { + "kind": "router", + "site_uid": "nantes", + "uid": "gw-nantes" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-nantes", + "weathermap": {} + }, + "renater-lille": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-paris" + }, { + "kind": "router", + "site_uid": "lille", + "uid": "gw-lille" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-lille", + "weathermap": {} + } + }, + "type": "grid", + "uid": "grid5000" +} \ No newline at end of file diff --git a/tests/stub_oar_properties/load_data_hierarchy_stubbed_data_with_disk.json b/tests/stub_oar_properties/load_data_hierarchy_stubbed_data_with_disk.json new file mode 100644 index 00000000000..4d67c8d2138 --- /dev/null +++ b/tests/stub_oar_properties/load_data_hierarchy_stubbed_data_with_disk.json @@ -0,0 +1,1527 @@ +{ + "sites": { + "fakesite": { + "clusters": { + "clustera": { + "nodes": { + "clustera-1": { + "architecture": { + "nb_cores": 16, + "nb_procs": 2, + "nb_threads": 32, + "platform_type": "x86_64" + }, + "bios": { + "release_date": "06/14/2019", + "vendor": "Dell Inc.", + "version": "2.2.11" + }, + "chassis": { + "manufacturer": "Dell Inc.", + "name": "PowerEdge T640", + "serial": "FL1CBX2" + }, + "cpuset_mapping": "continuous", + "gpu": { + "gpu": true, + "gpu_cores": 17408, + "gpu_count": 4, + "gpu_model": "RTX 2080 Ti", + "gpu_vendor": "Nvidia" + }, + "gpu_devices": { + "nvidia0": { + "cpu_affinity": 0, + "device": "/dev/nvidia0", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.B2", + "vendor": "Nvidia" + }, + "nvidia1": { + "cpu_affinity": 0, + "device": "/dev/nvidia1", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.B2", + "vendor": "Nvidia" + }, + "nvidia2": { + "cpu_affinity": 1, + "device": "/dev/nvidia2", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.0B.40.09", + "vendor": "Nvidia" + }, + "nvidia3": { + "cpu_affinity": 1, + "device": "/dev/nvidia3", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.B2", + "vendor": "Nvidia" + } + }, + "main_memory": { + "ram_size": 137438953472 + }, + "monitoring": { + "wattmeter": "multiple" + }, + "network_adapters": [ + { + "bridged": false, + "device": "eth0", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:3f:64", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno1", + "vendor": "Broadcom" + }, + { + "bridged": false, + "device": "eth1", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:3f:65", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno2d1", + "vendor": "Broadcom" + }, + { + "bridged": true, + "device": "eth2", + "driver": "i40e", + "enabled": true, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "ip": "172.16.64.1", + "mac": "f8:f2:1e:60:41:20", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": true, + "mounted": true, + "name": "enp137s0f0", + "network_address": "clustera-1.fakesite.grid5000.fr", + "rate": 10000000000, + "switch": "gw-fakesite", + "switch_port": "Ethernet6/39", + "vendor": "Intel" + }, + { + "bridged": false, + "device": "eth3", + "driver": "i40e", + "enabled": false, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "mac": "f8:f2:1e:60:41:21", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": false, + "mounted": false, + "name": "enp137s0f1", + "vendor": "Intel" + }, + { + "device": "bmc", + "enabled": true, + "interface": "Ethernet", + "ip": "172.17.64.1", + "mac": "f4:02:70:9a:3f:74", + "management": true, + "mountable": false, + "mounted": false, + "network_address": "clustera-1-bmc.fakesite.grid5000.fr" + } + ], + "operating_system": { + "cstate_driver": "intel_idle", + "cstate_governor": "menu", + "ht_enabled": true, + "pstate_driver": "intel_pstate", + "pstate_governor": "performance", + "turboboost_enabled": true + }, + "performance": { + "core_flops": 17713000000, + "node_flops": 202670000000 + }, + "processor": { + "cache_l1": null, + "cache_l1d": 32768, + "cache_l1i": 32768, + "cache_l2": 1048576, + "cache_l3": 11534336, + "clock_speed": 2100000000, + "ht_capable": true, + "instruction_set": "x86-64", + "microarchitecture": "Skylake", + "model": "Intel Xeon", + "other_description": "Intel(R) Xeon(R) Silver 4110 CPU @ 2.10GHz", + "vendor": "Intel", + "version": "Silver 4110" + }, + "sensors": { + "power": { + "available": true, + "via": { + "api": { + "metric": "power" + }, + "pdu": [ + { + "port": 1, + "uid": "clustera-pdu1" + }, + { + "port": 1, + "uid": "clustera-pdu2" + } + ] + } + } + }, + "storage_devices": [ + { + "by_id": "/dev/disk/by-id/wwn-0x6f402700aefea00024afe4c307e10af8", + "by_path": "/dev/disk/by-path/pci-0000:19:00.0-scsi-0:2:0:0", + "device": "sda", + "driver": "megaraid_sas", + "firmware_version": 4.29, + "interface": "SATA", + "model": "PERC H330 Adp", + "size": 479559942144, + "storage": "SSD", + "vendor": "Dell (Raid)" + } + ], + "supported_job_types": { + "besteffort": true, + "deploy": true, + "max_walltime": 86400, + "queues": [ + "admin", + "production" + ], + "virtual": "ivt" + }, + "type": "node", + "uid": "clustera-1" + }, + "clustera-2": { + "architecture": { + "nb_cores": 16, + "nb_procs": 2, + "nb_threads": 32, + "platform_type": "x86_64" + }, + "bios": { + "release_date": "06/14/2019", + "vendor": "Dell Inc.", + "version": "2.2.11" + }, + "chassis": { + "manufacturer": "Dell Inc.", + "name": "PowerEdge T640", + "serial": "9L1CBX2" + }, + "cpuset_mapping": "continuous", + "gpu": { + "gpu": true, + "gpu_cores": 17408, + "gpu_count": 4, + "gpu_model": "RTX 2080 Ti", + "gpu_vendor": "Nvidia" + }, + "gpu_devices": { + "nvidia0": { + "cpu_affinity": 0, + "device": "/dev/nvidia0", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.B2", + "vendor": "Nvidia" + }, + "nvidia1": { + "cpu_affinity": 0, + "device": "/dev/nvidia1", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.0B.40.09", + "vendor": "Nvidia" + }, + "nvidia2": { + "cpu_affinity": 1, + "device": "/dev/nvidia2", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.0B.40.09", + "vendor": "Nvidia" + }, + "nvidia3": { + "cpu_affinity": 1, + "device": "/dev/nvidia3", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.AC", + "vendor": "Nvidia" + } + }, + "main_memory": { + "ram_size": 137438953472 + }, + "monitoring": { + "wattmeter": "multiple" + }, + "network_adapters": [ + { + "bridged": false, + "device": "eth0", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:48:d8", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno1", + "vendor": "Broadcom" + }, + { + "bridged": false, + "device": "eth1", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:48:d9", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno2d1", + "vendor": "Broadcom" + }, + { + "bridged": true, + "device": "eth2", + "driver": "i40e", + "enabled": true, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "ip": "172.16.64.2", + "mac": "f8:f2:1e:60:3f:a0", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": true, + "mounted": true, + "name": "enp137s0f0", + "network_address": "clustera-2.fakesite.grid5000.fr", + "rate": 10000000000, + "switch": "gw-fakesite", + "switch_port": "Ethernet6/40", + "vendor": "Intel" + }, + { + "bridged": false, + "device": "eth3", + "driver": "i40e", + "enabled": false, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "mac": "f8:f2:1e:60:3f:a1", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": false, + "mounted": false, + "name": "enp137s0f1", + "vendor": "Intel" + }, + { + "device": "bmc", + "enabled": true, + "interface": "Ethernet", + "ip": "172.17.64.2", + "mac": "f4:02:70:9a:48:e8", + "management": true, + "mountable": false, + "mounted": false, + "network_address": "clustera-2-bmc.fakesite.grid5000.fr" + } + ], + "operating_system": { + "cstate_driver": "intel_idle", + "cstate_governor": "menu", + "ht_enabled": true, + "pstate_driver": "intel_pstate", + "pstate_governor": "performance", + "turboboost_enabled": true + }, + "performance": { + "core_flops": 17713000000, + "node_flops": 202670000000 + }, + "processor": { + "cache_l1": null, + "cache_l1d": 32768, + "cache_l1i": 32768, + "cache_l2": 1048576, + "cache_l3": 11534336, + "clock_speed": 2100000000, + "ht_capable": true, + "instruction_set": "x86-64", + "microarchitecture": "Skylake", + "model": "Intel Xeon", + "other_description": "Intel(R) Xeon(R) Silver 4110 CPU @ 2.10GHz", + "vendor": "Intel", + "version": "Silver 4110" + }, + "sensors": { + "power": { + "available": true, + "via": { + "api": { + "metric": "power" + }, + "pdu": [ + { + "port": 6, + "uid": "clustera-pdu1" + }, + { + "port": 6, + "uid": "clustera-pdu2" + } + ] + } + } + }, + "storage_devices": [ + { + "by_id": "/dev/disk/by-id/wwn-0x6f402700aeff430024929b4003cd51d0", + "by_path": "/dev/disk/by-path/pci-0000:19:00.0-scsi-0:2:0:0", + "device": "sda", + "driver": "megaraid_sas", + "firmware_version": 4.29, + "interface": "SATA", + "model": "PERC H330 Adp", + "size": 479559942144, + "storage": "SSD", + "vendor": "Dell (Raid)" + } + ], + "supported_job_types": { + "besteffort": true, + "deploy": true, + "max_walltime": 86400, + "queues": [ + "admin", + "production" + ], + "virtual": "ivt" + }, + "type": "node", + "uid": "clustera-2" + } + }, + "created_at": "Fri, 07 Jun 2019 00:00:00 GMT", + "kavlan": false, + "model": "Dell PowerEdge T640", + "queues": [ + "admin", + "production" + ], + "type": "cluster", + "uid": "clustera" + }, + "clusterb": { + "nodes": { + "clusterb-2": { + "architecture": { + "nb_cores": 16, + "nb_procs": 2, + "nb_threads": 32, + "platform_type": "x86_64" + }, + "bios": { + "release_date": "06/14/2019", + "vendor": "Dell Inc.", + "version": "2.2.11" + }, + "chassis": { + "manufacturer": "Dell Inc.", + "name": "PowerEdge T640", + "serial": "9L1CBX2" + }, + "cpuset_mapping": "continuous", + "gpu": { + "gpu": true, + "gpu_cores": 17408, + "gpu_count": 4, + "gpu_model": "RTX 2080 Ti", + "gpu_vendor": "Nvidia" + }, + "gpu_devices": { + "nvidia0": { + "cpu_affinity": 0, + "device": "/dev/nvidia0", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.B2", + "vendor": "Nvidia" + }, + "nvidia1": { + "cpu_affinity": 0, + "device": "/dev/nvidia1", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.0B.40.09", + "vendor": "Nvidia" + }, + "nvidia2": { + "cpu_affinity": 1, + "device": "/dev/nvidia2", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.0B.40.09", + "vendor": "Nvidia" + }, + "nvidia3": { + "cpu_affinity": 1, + "device": "/dev/nvidia3", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.AC", + "vendor": "Nvidia" + } + }, + "main_memory": { + "ram_size": 137438953472 + }, + "monitoring": { + "wattmeter": "multiple" + }, + "network_adapters": [ + { + "bridged": false, + "device": "eth0", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:48:d8", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno1", + "vendor": "Broadcom" + }, + { + "bridged": false, + "device": "eth1", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:48:d9", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno2d1", + "vendor": "Broadcom" + }, + { + "bridged": true, + "device": "eth2", + "driver": "i40e", + "enabled": true, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "ip": "172.16.64.2", + "mac": "f8:f2:1e:60:3f:a0", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": true, + "mounted": true, + "name": "enp137s0f0", + "network_address": "clusterb-2.fakesite.grid5000.fr", + "rate": 10000000000, + "switch": null, + "switch_port": null, + "vendor": "Intel" + }, + { + "bridged": false, + "device": "eth3", + "driver": "i40e", + "enabled": false, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "mac": "f8:f2:1e:60:3f:a1", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": false, + "mounted": false, + "name": "enp137s0f1", + "vendor": "Intel" + }, + { + "device": "bmc", + "enabled": true, + "interface": "Ethernet", + "ip": "172.17.64.2", + "mac": "f4:02:70:9a:48:e8", + "management": true, + "mountable": false, + "mounted": false, + "network_address": "clusterb-2-bmc.fakesite.grid5000.fr" + } + ], + "operating_system": { + "cstate_driver": "intel_idle", + "cstate_governor": "menu", + "ht_enabled": true, + "pstate_driver": "intel_pstate", + "pstate_governor": "performance", + "turboboost_enabled": true + }, + "performance": { + "core_flops": 17713000000, + "node_flops": 202670000000 + }, + "processor": { + "cache_l1": null, + "cache_l1d": 32768, + "cache_l1i": 32768, + "cache_l2": 1048576, + "cache_l3": 11534336, + "clock_speed": 2100000000, + "ht_capable": true, + "instruction_set": "x86-64", + "microarchitecture": "Skylake", + "model": "Intel Xeon", + "other_description": "Intel(R) Xeon(R) Silver 4110 CPU @ 2.10GHz", + "vendor": "Intel", + "version": "Silver 4110" + }, + "sensors": { + "power": { + "available": true, + "via": { + "api": { + "metric": "power" + }, + "pdu": [ + { + "port": 6, + "uid": "clusterb-pdu1" + }, + { + "port": 6, + "uid": "clusterb-pdu2" + } + ] + } + } + }, + "storage_devices": [ + { + "by_id": "/dev/disk/by-id/wwn-0x6f402700aeff430024929b4003cd51d0", + "by_path": "/dev/disk/by-path/pci-0000:19:00.0-scsi-0:2:0:0", + "device": "sda", + "driver": "megaraid_sas", + "firmware_version": 4.29, + "interface": "SATA", + "model": "PERC H330 Adp", + "size": 479559942144, + "storage": "SSD", + "vendor": "Dell (Raid)" + }, + { + "by_id": "/dev/disk/by-id/wwn-0x500003973c8a1ad9", + "by_path": "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:1:0", + "device": "sdb", + "driver": "megaraid_sas", + "firmware_version": "AM04", + "interface": "SAS", + "model": "PX04SMB040", + "reservation": true, + "size": 400088457216, + "storage": "SSD", + "vendor": "Toshiba" + }, + { + "by_id": "/dev/disk/by-id/wwn-0x500003973be828eb", + "by_path": "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:2:0", + "device": "sdc", + "driver": "megaraid_sas", + "firmware_version": "FJ2D", + "interface": "SATA", + "model": "TOSHIBA MG04ACA4", + "reservation": true, + "size": 4000787030016, + "storage": "HDD", + "vendor": "Toshiba" + }, + { + "by_id": "/dev/disk/by-id/wwn-0x500003973be828e9", + "by_path": "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:3:0", + "device": "sdd", + "driver": "megaraid_sas", + "firmware_version": "FJ2D", + "interface": "SATA", + "model": "TOSHIBA MG04ACA4", + "reservation": true, + "size": 4000787030016, + "storage": "HDD", + "vendor": "Toshiba" + } + ], + "supported_job_types": { + "besteffort": true, + "deploy": true, + "max_walltime": 86400, + "queues": [ + "admin", + "production" + ], + "virtual": "ivt" + }, + "type": "node", + "uid": "clusterb-2" + }, + "clusterb-1": { + "architecture": { + "nb_cores": 16, + "nb_procs": 2, + "nb_threads": 32, + "platform_type": "x86_64" + }, + "bios": { + "release_date": "06/14/2019", + "vendor": "Dell Inc.", + "version": "2.2.11" + }, + "chassis": { + "manufacturer": "Dell Inc.", + "name": "PowerEdge T640", + "serial": "FL1CBX2" + }, + "cpuset_mapping": "continuous", + "gpu": { + "gpu": true, + "gpu_cores": 17408, + "gpu_count": 4, + "gpu_model": "RTX 2080 Ti", + "gpu_vendor": "Nvidia" + }, + "gpu_devices": { + "nvidia0": { + "cpu_affinity": 0, + "device": "/dev/nvidia0", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.B2", + "vendor": "Nvidia" + }, + "nvidia1": { + "cpu_affinity": 0, + "device": "/dev/nvidia1", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.B2", + "vendor": "Nvidia" + }, + "nvidia2": { + "cpu_affinity": 1, + "device": "/dev/nvidia2", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.0B.40.09", + "vendor": "Nvidia" + }, + "nvidia3": { + "cpu_affinity": 1, + "device": "/dev/nvidia3", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.B2", + "vendor": "Nvidia" + } + }, + "main_memory": { + "ram_size": 137438953472 + }, + "monitoring": { + "wattmeter": "multiple" + }, + "network_adapters": [ + { + "bridged": false, + "device": "eth0", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:3f:64", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno1", + "vendor": "Broadcom" + }, + { + "bridged": false, + "device": "eth1", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:3f:65", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno2d1", + "vendor": "Broadcom" + }, + { + "bridged": true, + "device": "eth2", + "driver": "i40e", + "enabled": true, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "ip": "172.16.64.1", + "mac": "f8:f2:1e:60:41:20", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": true, + "mounted": true, + "name": "enp137s0f0", + "network_address": "clusterb-1.fakesite.grid5000.fr", + "rate": 10000000000, + "switch": null, + "switch_port": null, + "vendor": "Intel" + }, + { + "bridged": false, + "device": "eth3", + "driver": "i40e", + "enabled": false, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "mac": "f8:f2:1e:60:41:21", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": false, + "mounted": false, + "name": "enp137s0f1", + "vendor": "Intel" + }, + { + "device": "bmc", + "enabled": true, + "interface": "Ethernet", + "ip": "172.17.64.1", + "mac": "f4:02:70:9a:3f:74", + "management": true, + "mountable": false, + "mounted": false, + "network_address": "clusterb-1-bmc.fakesite.grid5000.fr" + } + ], + "operating_system": { + "cstate_driver": "intel_idle", + "cstate_governor": "menu", + "ht_enabled": true, + "pstate_driver": "intel_pstate", + "pstate_governor": "performance", + "turboboost_enabled": true + }, + "performance": { + "core_flops": 17713000000, + "node_flops": 202670000000 + }, + "processor": { + "cache_l1": null, + "cache_l1d": 32768, + "cache_l1i": 32768, + "cache_l2": 1048576, + "cache_l3": 11534336, + "clock_speed": 2100000000, + "ht_capable": true, + "instruction_set": "x86-64", + "microarchitecture": "Skylake", + "model": "Intel Xeon", + "other_description": "Intel(R) Xeon(R) Silver 4110 CPU @ 2.10GHz", + "vendor": "Intel", + "version": "Silver 4110" + }, + "sensors": { + "power": { + "available": true, + "via": { + "api": { + "metric": "power" + }, + "pdu": [ + { + "port": 1, + "uid": "clusterb-pdu1" + }, + { + "port": 1, + "uid": "clusterb-pdu2" + } + ] + } + } + }, + "storage_devices": [ + { + "by_id": "/dev/disk/by-id/wwn-0x6f402700aefea00024afe4c307e10af8", + "by_path": "/dev/disk/by-path/pci-0000:19:00.0-scsi-0:2:0:0", + "device": "sda", + "driver": "megaraid_sas", + "firmware_version": 4.29, + "interface": "SATA", + "model": "PERC H330 Adp", + "size": 479559942144, + "storage": "SSD", + "vendor": "Dell (Raid)" + }, + { + "by_id": "/dev/disk/by-id/wwn-0x500003973c8a1ad9", + "by_path": "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:1:0", + "device": "sdb", + "driver": "megaraid_sas", + "firmware_version": "AM04", + "interface": "SAS", + "model": "PX04SMB040", + "reservation": true, + "size": 400088457216, + "storage": "SSD", + "vendor": "Toshiba" + }, + { + "by_id": "/dev/disk/by-id/wwn-0x500003973be828eb", + "by_path": "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:2:0", + "device": "sdc", + "driver": "megaraid_sas", + "firmware_version": "FJ2D", + "interface": "SATA", + "model": "TOSHIBA MG04ACA4", + "reservation": true, + "size": 4000787030016, + "storage": "HDD", + "vendor": "Toshiba" + }, + { + "by_id": "/dev/disk/by-id/wwn-0x500003973be828e9", + "by_path": "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:3:0", + "device": "sdd", + "driver": "megaraid_sas", + "firmware_version": "FJ2D", + "interface": "SATA", + "model": "TOSHIBA MG04ACA4", + "reservation": true, + "size": 4000787030016, + "storage": "HDD", + "vendor": "Toshiba" + } + ], + "supported_job_types": { + "besteffort": true, + "deploy": true, + "max_walltime": 86400, + "queues": [ + "admin", + "production" + ], + "virtual": "ivt" + }, + "type": "node", + "uid": "clusterb-1" + } + }, + "created_at": "Fri, 07 Jun 2019 00:00:00 GMT", + "kavlan": false, + "model": "Dell PowerEdge T640", + "queues": [ + "admin", + "production" + ], + "type": "cluster", + "uid": "clusterb" + } + }, + "network_equipments": { + "gw-fakesite": { + "backplane_bps": 1280000000000, + "kind": "router", + "linecards": [ + {}, + {}, + {}, + {}, + {}, + {}, + { + "backplane_bps": 1280000000000, + "kavlan_pattern": "Ethernet%LINECARD%/%PORT%", + "kind": "node", + "model": "N9K-X9464PX", + "ports": [ + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + { + "kind": "node", + "port": "eth2", + "uid": "clustera-1" + }, + { + "kind": "node", + "port": "eth2", + "uid": "clustera-2" + } + ], + "rate": 10000000000, + "snmp_pattern": "Ethernet%LINECARD%/%PORT%" + } + ], + "model": "Cisco Nexus 9508", + "monitoring": { + "metric": "power", + "wattmeter": "multiple" + }, + "sensors": { + "network": { + "available": true, + "resolution": 10 + }, + "power": { + "available": true, + "resolution": 1, + "via": { + "pdu": [ + { + "port": 8, + "uid": "graoully-pdu1" + }, + { + "port": 8, + "uid": "graoully-pdu2" + }, + { + "port": 8, + "uid": "grimoire-pdu1" + }, + { + "port": 8, + "uid": "grimoire-pdu2" + } + ] + } + } + }, + "site": "fakesite", + "snmp_community": "public", + "type": "network_equipment", + "uid": "gw-fakesite", + "vlans": { + "vlan100": { + "addresses": [ + "172.16.79.254" + ], + "administrative": true + }, + "vlan101": { + "addresses": [ + "172.17.79.254" + ] + }, + "vlan500": { + "addresses": [ + "192.168.4.14" + ] + }, + "vlan701": { + "addresses": [ + "192.168.192.0/20" + ], + "name": "kavlan-1" + }, + "vlan702": { + "addresses": [ + "192.168.208.0/20" + ], + "name": "kavlan-2" + }, + "vlan703": { + "addresses": [ + "192.168.224.0/20" + ], + "name": "kavlan-3" + }, + "vlan704": { + "addresses": [ + "10.16.0.0/18" + ], + "name": "kavlan-4" + }, + "vlan705": { + "addresses": [ + "10.16.64.0/18" + ], + "name": "kavlan-5" + }, + "vlan706": { + "addresses": [ + "10.16.128.0/18" + ], + "name": "kavlan-6" + }, + "vlan707": { + "addresses": [ + "10.16.192.0/18" + ], + "name": "kavlan-7" + }, + "vlan708": { + "addresses": [ + "10.17.0.0/18" + ], + "name": "kavlan-8" + }, + "vlan709": { + "addresses": [ + "10.17.64.0/18" + ], + "name": "kavlan-9" + }, + "vlan714": { + "addresses": [ + "10.19.192.0/18" + ], + "name": "kavlan-14" + } + }, + "warranty": "2020-09-01", + "weathermap": {} + } + }, + "pdus": { + "clustera-pdu1": { + "ip": "172.17.79.226", + "mac": "28:29:86:0B:3B:06", + "model": "AP8653", + "ports": { + "1": "clustera-1", + "6": "clustera-2" + }, + "sensors": [ + { + "power": { + "per_outlets": true, + "resolution": 1, + "snmp": { + "available": true, + "outlet_prefix_oid": "iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7", + "total_oids": [ + "iso.3.6.1.4.1.318.1.1.12.1.16.0" + ], + "unit": "W" + } + } + } + ], + "type": "pdu", + "uid": "clustera-pdu1", + "vendor": "APC" + }, + "clustera-pdu3": { + "ip": "172.17.79.231", + "mac": "28:29:86:12:27:FF", + "model": "AP8653", + "ports": {}, + "sensors": [ + { + "power": { + "per_outlets": true, + "resolution": 1, + "snmp": { + "available": true, + "outlet_prefix_oid": "iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7", + "total_oids": [ + "iso.3.6.1.4.1.318.1.1.12.1.16.0" + ], + "unit": "W" + } + } + } + ], + "type": "pdu", + "uid": "clustera-pdu3", + "vendor": "APC" + }, + "clustera-pdu2": { + "ip": "172.17.79.227", + "mac": "28:29:86:10:0E:8C", + "model": "AP8653", + "ports": { + "1": "clustera-1", + "6": "clustera-2" + }, + "sensors": [ + { + "power": { + "per_outlets": true, + "resolution": 1, + "snmp": { + "available": true, + "outlet_prefix_oid": "iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7", + "total_oids": [ + "iso.3.6.1.4.1.318.1.1.12.1.16.0" + ], + "unit": "W" + } + } + } + ], + "type": "pdu", + "uid": "clustera-pdu2", + "vendor": "APC" + }, + "clustera-pdu4": { + "ip": "172.17.79.232", + "mac": "28:29:86:10:0E:B4", + "model": "AP8653", + "ports": {}, + "sensors": [ + { + "power": { + "per_outlets": true, + "resolution": 1, + "snmp": { + "available": true, + "outlet_prefix_oid": "iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7", + "total_oids": [ + "iso.3.6.1.4.1.318.1.1.12.1.16.0" + ], + "unit": "W" + } + } + } + ], + "type": "pdu", + "uid": "clustera-pdu4", + "vendor": "APC" + } + }, + "compilation_server": false, + "description": "Grid5000 Fakesite site", + "email_contact": "support-staff@lists.grid5000.fr", + "frontend_ip": "172.16.79.101", + "g5ksubnet": { + "gateway": "10.147.255.254", + "network": "10.144.0.0/14" + }, + "latitude": 48.7, + "location": "Fakesite, France", + "longitude": 6.2, + "name": "Fakesite", + "production": true, + "renater_ip": "192.168.4.14", + "security_contact": "support-staff@lists.grid5000.fr", + "storage5k": false, + "sys_admin_contact": "support-staff@lists.grid5000.fr", + "type": "site", + "uid": "fakesite", + "user_support_contact": "support-staff@lists.grid5000.fr", + "virt_ip_range": "10.144.0.0/14", + "web": "http://www.grid5000.fr/mediawiki/index.php/Fakesite:Home" + } + }, + "network_equipments": { + "renater-lille": { + "kind": "virtual", + "linecards": [ + { + "ports": [ + { + "uid": "renater-paris" + }, + { + "kind": "router", + "site_uid": "lille", + "uid": "gw-lille" + } + ], + "rate": 10000000000 + } + ], + "type": "network_equipment", + "uid": "renater-lille", + "weathermap": {} + }, + "renater-nantes": { + "kind": "virtual", + "linecards": [ + { + "ports": [ + { + "uid": "renater-lyon" + }, + { + "uid": "renater-rennes" + }, + { + "kind": "router", + "site_uid": "nantes", + "uid": "gw-nantes" + } + ], + "rate": 10000000000 + } + ], + "type": "network_equipment", + "uid": "renater-nantes", + "weathermap": {} + }, + "renater-rennes": { + "kind": "virtual", + "linecards": [ + { + "ports": [ + { + "uid": "renater-nantes" + }, + { + "kind": "router", + "site_uid": "rennes", + "uid": "gw-rennes" + } + ], + "rate": 10000000000 + } + ], + "type": "network_equipment", + "uid": "renater-rennes", + "weathermap": {} + }, + "renater-paris": { + "kind": "virtual", + "linecards": [ + { + "ports": [ + { + "uid": "renater-lille" + }, + { + "uid": "renater-lyon" + }, + { + "uid": "renater-nancy" + } + ], + "rate": 10000000000 + } + ], + "type": "network_equipment", + "uid": "renater-paris", + "weathermap": {} + }, + "renater-sophia": { + "kind": "virtual", + "linecards": [ + { + "ports": [ + { + "uid": "renater-lyon" + }, + { + "kind": "router", + "site_uid": "sophia", + "uid": "gw-sophia" + } + ], + "rate": 10000000000 + } + ], + "type": "network_equipment", + "uid": "renater-sophia", + "weathermap": {} + }, + "renater-luxembourg": { + "kind": "virtual", + "linecards": [ + { + "ports": [ + { + "uid": "renater-nancy" + }, + { + "kind": "router", + "site_uid": "luxembourg", + "uid": "gw-luxembourg" + } + ], + "rate": 10000000000 + } + ], + "type": "network_equipment", + "uid": "renater-luxembourg", + "weathermap": {} + }, + "renater-nancy": { + "kind": "virtual", + "linecards": [ + { + "ports": [ + { + "uid": "renater-luxembourg" + }, + { + "uid": "renater-paris" + }, + { + "kind": "router", + "site_uid": "nancy", + "uid": "gw-nancy" + } + ], + "rate": 10000000000 + } + ], + "type": "network_equipment", + "uid": "renater-nancy", + "weathermap": {} + }, + "renater-grenoble": { + "kind": "virtual", + "linecards": [ + { + "ports": [ + { + "uid": "renater-lyon" + }, + { + "kind": "router", + "site_uid": "grenoble", + "uid": "gw-grenoble" + } + ], + "rate": 10000000000 + } + ], + "type": "network_equipment", + "uid": "renater-grenoble", + "weathermap": {} + }, + "renater-lyon": { + "kind": "virtual", + "linecards": [ + { + "ports": [ + { + "uid": "renater-paris" + }, + { + "uid": "renater-sophia" + }, + { + "uid": "renater-grenoble" + }, + { + "uid": "renater-nantes" + }, + { + "kind": "router", + "site_uid": "lyon", + "uid": "gw-lyon" + } + ], + "rate": 10000000000 + } + ], + "type": "network_equipment", + "uid": "renater-lyon", + "weathermap": {} + } + }, + "type": "grid", + "uid": "grid5000" +} -- GitLab From f92a5213ba57f369814de738aaf38c4d203770f8 Mon Sep 17 00:00:00 2001 From: Jonathan Pastor <jonathancmoa@gmail.com> Date: Fri, 27 Sep 2019 10:41:48 +0200 Subject: [PATCH 05/57] puts specs test in a spec folder; handle more stubbing URL --- {tests => spec}/oar_properties_spec.rb | 1 + {tests => spec}/spec_helper.rb | 1 + .../stub_oar_properties/dump_oar_api_configured_server.json | 0 .../dump_oar_api_configured_server_with_disk.json | 0 .../stub_oar_properties/dump_oar_api_empty_server.json | 0 .../stub_oar_properties/load_data_hierarchy_stubbed_data.json | 0 .../load_data_hierarchy_stubbed_data_with_disk.json | 0 7 files changed, 2 insertions(+) rename {tests => spec}/oar_properties_spec.rb (99%) rename {tests => spec}/spec_helper.rb (90%) rename {tests => spec}/stub_oar_properties/dump_oar_api_configured_server.json (100%) rename {tests => spec}/stub_oar_properties/dump_oar_api_configured_server_with_disk.json (100%) rename {tests => spec}/stub_oar_properties/dump_oar_api_empty_server.json (100%) rename {tests => spec}/stub_oar_properties/load_data_hierarchy_stubbed_data.json (100%) rename {tests => spec}/stub_oar_properties/load_data_hierarchy_stubbed_data_with_disk.json (100%) diff --git a/tests/oar_properties_spec.rb b/spec/oar_properties_spec.rb similarity index 99% rename from tests/oar_properties_spec.rb rename to spec/oar_properties_spec.rb index bd766e41b25..a1a75d3dd0a 100644 --- a/tests/oar_properties_spec.rb +++ b/spec/oar_properties_spec.rb @@ -43,6 +43,7 @@ end stubbed_addresses = [ "#{conf["uri"]}", "#{conf["uri"]}/oarapi/resources/details.json?limit=999999", + "#{conf["uri"]}stable/sites/fakesite/internal/oarapi/resources/details.json?limit=999999", ] diff --git a/tests/spec_helper.rb b/spec/spec_helper.rb similarity index 90% rename from tests/spec_helper.rb rename to spec/spec_helper.rb index f0876afe762..425ea3ea8e3 100644 --- a/tests/spec_helper.rb +++ b/spec/spec_helper.rb @@ -3,6 +3,7 @@ require 'simplecov' SimpleCov.start do add_filter '/tests/' add_filter '/bundle/' + add_filter '/spec/' end # This outputs the report to your public folder # You will want to add this to .gitignore diff --git a/tests/stub_oar_properties/dump_oar_api_configured_server.json b/spec/stub_oar_properties/dump_oar_api_configured_server.json similarity index 100% rename from tests/stub_oar_properties/dump_oar_api_configured_server.json rename to spec/stub_oar_properties/dump_oar_api_configured_server.json diff --git a/tests/stub_oar_properties/dump_oar_api_configured_server_with_disk.json b/spec/stub_oar_properties/dump_oar_api_configured_server_with_disk.json similarity index 100% rename from tests/stub_oar_properties/dump_oar_api_configured_server_with_disk.json rename to spec/stub_oar_properties/dump_oar_api_configured_server_with_disk.json diff --git a/tests/stub_oar_properties/dump_oar_api_empty_server.json b/spec/stub_oar_properties/dump_oar_api_empty_server.json similarity index 100% rename from tests/stub_oar_properties/dump_oar_api_empty_server.json rename to spec/stub_oar_properties/dump_oar_api_empty_server.json diff --git a/tests/stub_oar_properties/load_data_hierarchy_stubbed_data.json b/spec/stub_oar_properties/load_data_hierarchy_stubbed_data.json similarity index 100% rename from tests/stub_oar_properties/load_data_hierarchy_stubbed_data.json rename to spec/stub_oar_properties/load_data_hierarchy_stubbed_data.json diff --git a/tests/stub_oar_properties/load_data_hierarchy_stubbed_data_with_disk.json b/spec/stub_oar_properties/load_data_hierarchy_stubbed_data_with_disk.json similarity index 100% rename from tests/stub_oar_properties/load_data_hierarchy_stubbed_data_with_disk.json rename to spec/stub_oar_properties/load_data_hierarchy_stubbed_data_with_disk.json -- GitLab From 3a1e93044cc0d74b321305083c379ca0bf16ffda Mon Sep 17 00:00:00 2001 From: Lucas Nussbaum <lucas.nussbaum@loria.fr> Date: Sat, 28 Sep 2019 05:34:56 +0200 Subject: [PATCH 06/57] Minor spec file improvements --- spec/oar_properties_spec.rb | 97 ++++++++++--------------------------- 1 file changed, 26 insertions(+), 71 deletions(-) diff --git a/spec/oar_properties_spec.rb b/spec/oar_properties_spec.rb index a1a75d3dd0a..5218e029023 100644 --- a/spec/oar_properties_spec.rb +++ b/spec/oar_properties_spec.rb @@ -17,10 +17,7 @@ def load_stub_file_content(stub_filename) if not File.exist?("#{STUBDIR}/stub_oar_properties/#{stub_filename}") raise("Cannot find #{stub_filename} in '#{STUBDIR}/stub_oar_properties/'") end - file = File.open("#{STUBDIR}/stub_oar_properties/#{stub_filename}", "r") - lines = IO.read(file) - file.close() - return lines + return IO.read("#{STUBDIR}/stub_oar_properties/#{stub_filename}") end # This code comes from https://gist.github.com/herrphon/2d2ebbf23c86a10aa955 @@ -40,12 +37,6 @@ def capture(&block) result end -stubbed_addresses = [ - "#{conf["uri"]}", - "#{conf["uri"]}/oarapi/resources/details.json?limit=999999", - "#{conf["uri"]}stable/sites/fakesite/internal/oarapi/resources/details.json?limit=999999", -] - def str_block_to_regexp(str) str1 = str.gsub("|", "\\\\|") @@ -53,25 +44,31 @@ def str_block_to_regexp(str) return Regexp.new str2 end -describe 'Oar properties generator' do +def prepare_stubs(oar_api, data_hierarchy) + conf = RefRepo::Utils.get_api_config + stubbed_addresses = [ + "#{conf["uri"]}", + "#{conf["uri"]}stable/sites/fakesite/internal/oarapi/resources/details.json?limit=999999", + ] + stubbed_api_response = load_stub_file_content(oar_api) + stubbed_addresses.each do |stubbed_address| + stub_request(:get, stubbed_address). + with( + headers: { + 'Accept'=>'*/*', + }). + to_return(status: 200, body: stubbed_api_response, headers: {}) + end + + # Overload the 'load_data_hierarchy' to simulate the addition of a fake site in the input files + expect_any_instance_of(Object).to receive(:load_data_hierarchy).and_return(JSON::parse(load_stub_file_content(data_hierarchy))) +end + +describe 'OarProperties' do context 'interracting with an empty OAR server' do before do - stubbed_api_response = load_stub_file_content("dump_oar_api_empty_server.json") - stubbed_addresses.each do |stubbed_address| - stub_request(:get, stubbed_address). - with( - headers: { - 'Accept'=>'*/*', - }). - to_return(status: 200, body: stubbed_api_response, headers: {}) - end - - # Overload the 'load_data_hierarchy' to simulate the addition of a fake site in the input files - def load_data_hierarchy - json_str = load_stub_file_content("load_data_hierarchy_stubbed_data.json") - return JSON.parse(json_str) - end + prepare_stubs("dump_oar_api_empty_server.json", "load_data_hierarchy_stubbed_data.json") end it 'should generate correctly a table of nodes' do @@ -286,21 +283,7 @@ TXT context 'OAR server with data' do before do - stubbed_api_response = load_stub_file_content("dump_oar_api_configured_server.json") - stubbed_addresses.each do |stubbed_address| - stub_request(:get, stubbed_address). - with( - headers: { - 'Accept'=>'*/*', - }). - to_return(status: 200, body: stubbed_api_response, headers: {}) - end - - # Overload the 'load_data_hierarchy' to simulate the addition of a fake site in the input files - def load_data_hierarchy - json_str = load_stub_file_content("load_data_hierarchy_stubbed_data.json") - return JSON.parse(json_str) - end + prepare_stubs("dump_oar_api_configured_server.json", "load_data_hierarchy_stubbed_data.json") end it 'should generate correctly a table of nodes' do @@ -455,21 +438,7 @@ TXT context 'interracting with an empty OAR server (cluster with disk)' do before do - stubbed_api_response = load_stub_file_content("dump_oar_api_empty_server.json") - stubbed_addresses.each do |stubbed_address| - stub_request(:get, stubbed_address). - with( - headers: { - 'Accept'=>'*/*', - }). - to_return(status: 200, body: stubbed_api_response, headers: {}) - end - - # Overload the 'load_data_hierarchy' to simulate the addition of a fake site in the input files - def load_data_hierarchy - json_str = load_stub_file_content("load_data_hierarchy_stubbed_data_with_disk.json") - return JSON.parse(json_str) - end + prepare_stubs("dump_oar_api_empty_server.json", "load_data_hierarchy_stubbed_data_with_disk.json") end it 'should generate correctly a table of nodes' do @@ -772,21 +741,7 @@ TXT context 'OAR server with data' do before do - stubbed_api_response = load_stub_file_content("dump_oar_api_configured_server_with_disk.json") - stubbed_addresses.each do |stubbed_address| - stub_request(:get, stubbed_address). - with( - headers: { - 'Accept'=>'*/*', - }). - to_return(status: 200, body: stubbed_api_response, headers: {}) - end - - # Overload the 'load_data_hierarchy' to simulate the addition of a fake site in the input files - def load_data_hierarchy - json_str = load_stub_file_content("load_data_hierarchy_stubbed_data_with_disk.json") - return JSON.parse(json_str) - end + prepare_stubs("dump_oar_api_configured_server_with_disk.json", "load_data_hierarchy_stubbed_data_with_disk.json") end it 'should generate correctly a table of nodes' do -- GitLab From 2410e2485a7049632a9b2f90375079140e429ff8 Mon Sep 17 00:00:00 2001 From: Lucas Nussbaum <lucas.nussbaum@loria.fr> Date: Sat, 28 Sep 2019 05:42:23 +0200 Subject: [PATCH 07/57] Add mutant to dependencies --- Gemfile | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index 5487076341c..95bdaef9850 100644 --- a/Gemfile +++ b/Gemfile @@ -9,6 +9,7 @@ gem "dns-zone" gem "ruby-cute", :require => "cute" gem "peach" gem "restfully" -gem "rspec" -gem "webmock" -gem "simplecov" +gem "rspec", :group => [:development, :test] +gem "webmock", :group => [:development, :test] +gem "simplecov", :group => [:development, :test] +gem "mutant-rspec", :group => [:development, :test] -- GitLab From dd5509c7fff51ac0ec0bfed6a36870c6317f602a Mon Sep 17 00:00:00 2001 From: Lucas Nussbaum <lucas.nussbaum@loria.fr> Date: Sat, 28 Sep 2019 06:37:37 +0200 Subject: [PATCH 08/57] Introduce a OarProperties module. this is required for the Mutant gem --- lib/refrepo/gen/oar-properties.rb | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/refrepo/gen/oar-properties.rb b/lib/refrepo/gen/oar-properties.rb index 7b0cd49098d..d006697b854 100644 --- a/lib/refrepo/gen/oar-properties.rb +++ b/lib/refrepo/gen/oar-properties.rb @@ -19,6 +19,8 @@ DEFAULT_GPUSET_MAPPING = "continuous" # Functions related to the "TABLE" operation ############################################ +module OarProperties + def export_rows_as_formated_line(generated_hierarchy) # Display header puts "+#{'-' * 10} + #{'-' * 20} + #{'-' * 5} + #{'-' * 5} + #{'-' * 8} + #{'-' * 4} + #{'-' * 20} + #{'-' * 30} + #{'-' * 30}+" @@ -1424,22 +1426,25 @@ def generate_oar_properties(options) # DO=print if options.key? :print and options[:print] - cmds = export_rows_as_oar_command(generated_hierarchy, site_name, site_properties, data_hierarchy) + cmds = export_rows_as_oar_command(generated_hierarchy, site_name, refrepo_properties[site_name], data_hierarchy) puts(cmds) end # Do=Diff if options.key? :diff and options[:diff] - do_diff(options, generated_hierarchy, data_hierarchy) + do_diff(options, generated_hierarchy, data_hierarchy, refrepo_properties) end # Do=update if options[:update] printf 'Apply changes to the OAR server ' + options[:ssh][:host].gsub('%s', site_name) + ' ? (y/N) ' prompt = STDIN.gets.chomp - cmds = export_rows_as_oar_command(generated_hierarchy, site_name, site_properties, data_hierarchy) + cmds = export_rows_as_oar_command(generated_hierarchy, site_name, refrepo_properties[site_name], data_hierarchy) run_commands_via_ssh(cmds, options) if prompt.downcase == 'y' end return 0 end + +end +include OarProperties -- GitLab From 8a81a7d295a5f3e5798e2c6a7667f9eee677e2fa Mon Sep 17 00:00:00 2001 From: Lucas Nussbaum <lucas.nussbaum@loria.fr> Date: Sat, 28 Sep 2019 06:38:06 +0200 Subject: [PATCH 09/57] Minor code improvement --- lib/refrepo/gen/oar-properties.rb | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/refrepo/gen/oar-properties.rb b/lib/refrepo/gen/oar-properties.rb index d006697b854..876ffbc174e 100644 --- a/lib/refrepo/gen/oar-properties.rb +++ b/lib/refrepo/gen/oar-properties.rb @@ -833,13 +833,14 @@ end # Get the properties of each node def get_oar_properties_from_the_ref_repo(global_hash, options) properties = {} - sites = options[:sites] + sites = options.fetch(:sites) sites.each do |site_uid| - properties[site_uid] = {} - properties[site_uid]['default'] = get_ref_default_properties(site_uid, global_hash['sites'][site_uid]) - properties[site_uid]['disk'] = get_ref_disk_properties(site_uid, global_hash['sites'][site_uid]) + properties[site_uid] = { + 'default' => get_ref_default_properties(site_uid, global_hash.fetch('sites').fetch(site_uid)), + 'disk' => get_ref_disk_properties(site_uid, global_hash.fetch('sites').fetch(site_uid)) + } end - return properties + properties end def get_oar_properties_from_oar(options) -- GitLab From bb747e9396cab7b8eda89905af2ba4f90579d02d Mon Sep 17 00:00:00 2001 From: Lucas Nussbaum <lucas.nussbaum@loria.fr> Date: Sat, 28 Sep 2019 06:38:30 +0200 Subject: [PATCH 10/57] Avoid calling get_oar_properties_from_the_ref_repo again in do_diff --- lib/refrepo/gen/oar-properties.rb | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/lib/refrepo/gen/oar-properties.rb b/lib/refrepo/gen/oar-properties.rb index 876ffbc174e..55d71cb1edc 100644 --- a/lib/refrepo/gen/oar-properties.rb +++ b/lib/refrepo/gen/oar-properties.rb @@ -856,13 +856,12 @@ def get_oar_properties_from_oar(options) return properties end -def do_diff(options, generated_hierarchy, data_hierarchy) +def do_diff(options, generated_hierarchy, global_hash, refrepo_properties) - # global_hash = load_data_hierarchy - global_hash = data_hierarchy - properties = {} - properties['ref'] = get_oar_properties_from_the_ref_repo(global_hash, options) - properties['oar'] = get_oar_properties_from_oar(options) + properties = { + 'ref' => refrepo_properties, + 'oar' => get_oar_properties_from_oar(options) + } # Get the list of property keys from the reference-repo (['ref']) properties_keys = { @@ -1402,9 +1401,9 @@ def generate_oar_properties(options) end - site_properties = get_oar_properties_from_the_ref_repo(data_hierarchy, { + refrepo_properties = get_oar_properties_from_the_ref_repo(data_hierarchy, { :sites => [site_name] - })[site_name] + }) ############################################ # Generate information about the clusters @@ -1414,7 +1413,7 @@ def generate_oar_properties(options) site_name, options, data_hierarchy, - site_properties) + refrepo_properties[site_name]) ############################################ # Output generated information -- GitLab From b8fe50c71ec760c0bac0e0ab8cf6a118ddd41a1a Mon Sep 17 00:00:00 2001 From: Lucas Nussbaum <lucas.nussbaum@loria.fr> Date: Sat, 28 Sep 2019 06:43:33 +0200 Subject: [PATCH 11/57] Remove ability to read/write oar properties using a file This is not supported anymore in practice --- lib/refrepo/gen/oar-properties.rb | 69 +++++++++++++------------------ 1 file changed, 28 insertions(+), 41 deletions(-) diff --git a/lib/refrepo/gen/oar-properties.rb b/lib/refrepo/gen/oar-properties.rb index 55d71cb1edc..7a2499e504a 100644 --- a/lib/refrepo/gen/oar-properties.rb +++ b/lib/refrepo/gen/oar-properties.rb @@ -556,8 +556,8 @@ def get_ref_disk_properties_internal(site_uid, cluster_uid, node_uid, node) properties end -def get_oar_default_properties(site_uid, filename, options) - oarnodes = get_oar_data(site_uid, filename, options) +def get_oar_default_properties(site_uid, options) + oarnodes = get_oar_data(site_uid, options) # Handle the two possible input format from oarnodes -Y: # given by a file, and from the OAR API @@ -572,8 +572,8 @@ def get_oar_default_properties(site_uid, filename, options) return oarnodes end -def get_oar_disk_properties(site_uid, filename, options) - oarnodes = get_oar_data(site_uid, filename, options) +def get_oar_disk_properties(site_uid, options) + oarnodes = get_oar_data(site_uid, options) # Handle the two possible input format from oarnodes -Y: # given by a file, and from the OAR API @@ -589,44 +589,33 @@ def get_oar_disk_properties(site_uid, filename, options) end # Get all data from the OAR database -def get_oar_data(site_uid, filename, options) +def get_oar_data(site_uid, options) oarnodes = '' - if filename && File.exist?(filename) - # Read OAR properties from file - puts "Reading OAR resources properties from file #{filename}" if options[:verbose] - oarnodes = YAML.load(File.open(filename, 'rb') { |f| f.read }) + if options[:api][:uri] and not options[:api][:uri].include? "api.grid5000.fr" + api_uri = URI.parse(options[:api][:uri]+'/oarapi/resources/details.json?limit=999999') else + api_uri = URI.parse('https://api.grid5000.fr/stable/sites/' + site_uid + '/internal/oarapi/resources/details.json?limit=999999') + end - if options[:api][:uri] and not options[:api][:uri].include? "api.grid5000.fr" - api_uri = URI.parse(options[:api][:uri]+'/oarapi/resources/details.json?limit=999999') - else - api_uri = URI.parse('https://api.grid5000.fr/stable/sites/' + site_uid + '/internal/oarapi/resources/details.json?limit=999999') - end - - # Download the OAR properties from the OAR API (through G5K API) - puts "Downloading resources properties from #{api_uri} ..." if options[:verbose] - http = Net::HTTP.new(api_uri.host, api_uri.port) - if api_uri.scheme == "https" - http.use_ssl = true - end - request = Net::HTTP::Get.new(api_uri.request_uri, {'User-Agent' => 'reference-repository/gen/oar-properties'}) - - # For outside g5k network access - if options[:api][:user] && options[:api][:pwd] - request.basic_auth(options[:api][:user], options[:api][:pwd]) - end - - response = http.request(request) - raise "Failed to fetch resources properties from API: \n#{response.body}\n" unless response.code.to_i == 200 - puts '... done' if options[:verbose] + # Download the OAR properties from the OAR API (through G5K API) + puts "Downloading resources properties from #{api_uri} ..." if options[:verbose] + http = Net::HTTP.new(api_uri.host, api_uri.port) + if api_uri.scheme == "https" + http.use_ssl = true + end + request = Net::HTTP::Get.new(api_uri.request_uri, {'User-Agent' => 'reference-repository/gen/oar-properties'}) - oarnodes = JSON.parse(response.body) - if filename - puts "Saving OAR resources properties as #{filename}" if options[:verbose] - File.write(filename, YAML.dump(oarnodes)) - end + # For outside g5k network access + if options[:api][:user] && options[:api][:pwd] + request.basic_auth(options[:api][:user], options[:api][:pwd]) end + response = http.request(request) + raise "Failed to fetch resources properties from API: \n#{response.body}\n" unless response.code.to_i == 200 + puts '... done' if options[:verbose] + + oarnodes = JSON.parse(response.body) + # Adapt from the format of the OAR API oarnodes = oarnodes['items'] if oarnodes.key?('items') return oarnodes @@ -787,9 +776,8 @@ def get_oar_resources_from_oar(options) sites = options[:sites] diff = options[:diff] sites.each do |site_uid| - filename = diff.is_a?(String) ? diff.gsub('%s', site_uid) : nil properties[site_uid] = {} - properties[site_uid]['resources'] = get_oar_data(site_uid, filename, options) + properties[site_uid]['resources'] = get_oar_data(site_uid, options) end # for debugging if ENV['FAKE_EMPTY_SITE'] @@ -848,10 +836,9 @@ def get_oar_properties_from_oar(options) sites = options[:sites] diff = options[:diff] sites.each do |site_uid| - filename = diff.is_a?(String) ? diff.gsub('%s', site_uid) : nil properties[site_uid] = {} - properties[site_uid]['default'] = get_oar_default_properties(site_uid, filename, options) - properties[site_uid]['disk'] = get_oar_disk_properties(site_uid, filename, options) + properties[site_uid]['default'] = get_oar_default_properties(site_uid, options) + properties[site_uid]['disk'] = get_oar_disk_properties(site_uid, options) end return properties end -- GitLab From 59fa19f38ad979e167b499c58bae4f6503f0dd74 Mon Sep 17 00:00:00 2001 From: Lucas Nussbaum <lucas.nussbaum@loria.fr> Date: Sat, 28 Sep 2019 06:46:49 +0200 Subject: [PATCH 12/57] Minor style improvements --- lib/refrepo/gen/oar-properties.rb | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/lib/refrepo/gen/oar-properties.rb b/lib/refrepo/gen/oar-properties.rb index 7a2499e504a..dd5f01b0f13 100644 --- a/lib/refrepo/gen/oar-properties.rb +++ b/lib/refrepo/gen/oar-properties.rb @@ -821,8 +821,7 @@ end # Get the properties of each node def get_oar_properties_from_the_ref_repo(global_hash, options) properties = {} - sites = options.fetch(:sites) - sites.each do |site_uid| + options.fetch(:sites).each do |site_uid| properties[site_uid] = { 'default' => get_ref_default_properties(site_uid, global_hash.fetch('sites').fetch(site_uid)), 'disk' => get_ref_disk_properties(site_uid, global_hash.fetch('sites').fetch(site_uid)) @@ -833,14 +832,13 @@ end def get_oar_properties_from_oar(options) properties = {} - sites = options[:sites] - diff = options[:diff] - sites.each do |site_uid| - properties[site_uid] = {} - properties[site_uid]['default'] = get_oar_default_properties(site_uid, options) - properties[site_uid]['disk'] = get_oar_disk_properties(site_uid, options) + options.fetch(:sites).each do |site_uid| + properties[site_uid] = { + 'default' => get_oar_default_properties(site_uid, options), + 'disk' => get_oar_disk_properties(site_uid, options) + } end - return properties + properties end def do_diff(options, generated_hierarchy, global_hash, refrepo_properties) -- GitLab From 0bdb92e85e0a69818192fbccdbae208a6bdc079d Mon Sep 17 00:00:00 2001 From: Lucas Nussbaum <lucas.nussbaum@loria.fr> Date: Sat, 28 Sep 2019 06:47:11 +0200 Subject: [PATCH 13/57] remove debug code (useless now that we have a test suite) --- lib/refrepo/gen/oar-properties.rb | 6 ------ 1 file changed, 6 deletions(-) diff --git a/lib/refrepo/gen/oar-properties.rb b/lib/refrepo/gen/oar-properties.rb index dd5f01b0f13..9c87feca496 100644 --- a/lib/refrepo/gen/oar-properties.rb +++ b/lib/refrepo/gen/oar-properties.rb @@ -779,12 +779,6 @@ def get_oar_resources_from_oar(options) properties[site_uid] = {} properties[site_uid]['resources'] = get_oar_data(site_uid, options) end - # for debugging - if ENV['FAKE_EMPTY_SITE'] - properties.keys.each do |site| - properties[site]['resources'] = [] - end - end return properties end -- GitLab From 25b1c5e68b3afebd84bee7964769fff81f84de62 Mon Sep 17 00:00:00 2001 From: Lucas Nussbaum <lucas.nussbaum@loria.fr> Date: Sat, 28 Sep 2019 06:48:10 +0200 Subject: [PATCH 14/57] Style fixes --- lib/refrepo/gen/oar-properties.rb | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/lib/refrepo/gen/oar-properties.rb b/lib/refrepo/gen/oar-properties.rb index 9c87feca496..b7a987a45c9 100644 --- a/lib/refrepo/gen/oar-properties.rb +++ b/lib/refrepo/gen/oar-properties.rb @@ -773,13 +773,12 @@ end def get_oar_resources_from_oar(options) properties = {} - sites = options[:sites] - diff = options[:diff] - sites.each do |site_uid| - properties[site_uid] = {} - properties[site_uid]['resources'] = get_oar_data(site_uid, options) + options.fetch(:sites).each do |site_uid| + properties[site_uid] = { + 'resources' => get_oar_data(site_uid, options) + } end - return properties + properties end # sudo exec -- GitLab From 601aef5a99695638723fb8789784e6302cc5da84 Mon Sep 17 00:00:00 2001 From: Lucas Nussbaum <lucas.nussbaum@loria.fr> Date: Sat, 28 Sep 2019 06:58:24 +0200 Subject: [PATCH 15/57] Remove dead code --- lib/refrepo/gen/oar-properties.rb | 24 ++---------------------- 1 file changed, 2 insertions(+), 22 deletions(-) diff --git a/lib/refrepo/gen/oar-properties.rb b/lib/refrepo/gen/oar-properties.rb index b7a987a45c9..0629aeeff59 100644 --- a/lib/refrepo/gen/oar-properties.rb +++ b/lib/refrepo/gen/oar-properties.rb @@ -558,33 +558,13 @@ end def get_oar_default_properties(site_uid, options) oarnodes = get_oar_data(site_uid, options) - - # Handle the two possible input format from oarnodes -Y: - # given by a file, and from the OAR API - if oarnodes.is_a?(Hash) - oarnodes = oarnodes.map { |_k, v| v['type'] == 'default' ? [get_ids(v['host'])['node_uid'], v] : [nil, nil] }.to_h - oarnodes.delete(nil) - elsif oarnodes.is_a?(Array) - oarnodes = oarnodes.select { |v| v['type'] == 'default' }.map { |v| [get_ids(v['host'])['node_uid'], v] }.to_h - else - raise 'Invalid input format for OAR properties' - end + oarnodes = oarnodes.select { |v| v['type'] == 'default' }.map { |v| [get_ids(v['host'])['node_uid'], v] }.to_h return oarnodes end def get_oar_disk_properties(site_uid, options) oarnodes = get_oar_data(site_uid, options) - - # Handle the two possible input format from oarnodes -Y: - # given by a file, and from the OAR API - if oarnodes.is_a?(Hash) - oarnodes = oarnodes.map { |_k, v| v['type'] == 'disk' ? [[get_ids(v['host'])['node_uid'], v['disk']], v] : [nil, nil] }.to_h - oarnodes.delete(nil) - elsif oarnodes.is_a?(Array) - oarnodes = oarnodes.select { |v| v['type'] == 'disk' }.map { |v| [[get_ids(v['host'])['node_uid'], v['disk']], v] }.to_h - else - raise 'Invalid input format for OAR properties' - end + oarnodes = oarnodes.select { |v| v['type'] == 'disk' }.map { |v| [[get_ids(v['host'])['node_uid'], v['disk']], v] }.to_h return oarnodes end -- GitLab From a159f5d25d00e0a522e698aee49a06b0bd7bfa16 Mon Sep 17 00:00:00 2001 From: Lucas Nussbaum <lucas.nussbaum@loria.fr> Date: Sat, 28 Sep 2019 07:23:02 +0200 Subject: [PATCH 16/57] Do not install development gems --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7a6113bd65d..cd875cc7deb 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -20,7 +20,7 @@ validate-data: script: - apt-get update && apt-get -y install ruby ruby-dev build-essential rake wget - gem install bundler -v 1.17.3 - - bundle install + - bundle install --without development # Add G5K CA certificate - wget --no-check-certificate -q https://www.grid5000.fr/certs/ca2019.grid5000.fr.crt -O /usr/local/share/ca-certificates/ca2019.grid5000.fr.crt - /usr/sbin/update-ca-certificates @@ -35,7 +35,7 @@ generate-reference-api: script: - apt-get update && apt-get -y install ruby ruby-dev build-essential rake git - gem install bundler -v 1.17.3 - - bundle install + - bundle install --without development - export TZ=Europe/Paris - rake reference-api - git status -- GitLab From 54e43c7dd4cab4f11f1a083a7d495ffa7af5dd31 Mon Sep 17 00:00:00 2001 From: Lucas Nussbaum <lucas.nussbaum@loria.fr> Date: Sat, 28 Sep 2019 07:24:25 +0200 Subject: [PATCH 17/57] Also install code-explorer --- Gemfile | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Gemfile b/Gemfile index 95bdaef9850..79aacc0e882 100644 --- a/Gemfile +++ b/Gemfile @@ -9,7 +9,8 @@ gem "dns-zone" gem "ruby-cute", :require => "cute" gem "peach" gem "restfully" -gem "rspec", :group => [:development, :test] -gem "webmock", :group => [:development, :test] -gem "simplecov", :group => [:development, :test] -gem "mutant-rspec", :group => [:development, :test] +gem "rspec", :group => [:development] +gem "webmock", :group => [:development] +gem "simplecov", :group => [:development] +gem "mutant-rspec", :group => [:development] +gem "code-explorer", :group => [:development] -- GitLab From ebc925af18eb9322eb239bbb9f61d11288d69814 Mon Sep 17 00:00:00 2001 From: Lucas Nussbaum <lucas.nussbaum@loria.fr> Date: Sat, 28 Sep 2019 07:25:26 +0200 Subject: [PATCH 18/57] Update Gemfile.lock --- Gemfile.lock | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) diff --git a/Gemfile.lock b/Gemfile.lock index b92256af24d..02e05b535bd 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,10 +1,31 @@ GEM remote: https://rubygems.org/ specs: + abstract_method (1.2.1) + abstract_type (0.0.7) + adamantium (0.2.0) + ice_nine (~> 0.11.0) + memoizable (~> 0.4.0) addressable (2.6.0) public_suffix (>= 2.0.2, < 4.0) + anima (0.3.1) + abstract_type (~> 0.0.7) + adamantium (~> 0.2) + equalizer (~> 0.0.11) + ast (2.4.0) backports (3.15.0) bond (0.4.3) + cheetah (0.5.0) + abstract_method (~> 1.2) + code-explorer (0.3.0) + cheetah (~> 0) + coderay (~> 1) + parser (~> 2.0) + sinatra (~> 1) + coderay (1.1.2) + concord (0.1.5) + adamantium (~> 0.2.0) + equalizer (~> 0.0.9) crack (0.4.3) safe_yaml (~> 1.0.0) diff-lcs (1.3) @@ -13,6 +34,7 @@ GEM docile (1.3.2) domain_name (0.5.20190701) unf (>= 0.0.5, < 1.0.0) + equalizer (0.0.11) faraday (0.15.4) multipart-post (>= 1.2, < 3) faraday-cookie_jar (0.0.6) @@ -24,14 +46,44 @@ GEM hashdiff (1.0.0) http-cookie (1.0.3) domain_name (~> 0.5) + ice_nine (0.11.2) ipaddress (0.8.3) json (1.8.6) mediawiki_api (0.7.1) faraday (~> 0.9, >= 0.9.0) faraday-cookie_jar (~> 0.0, >= 0.0.6) faraday_middleware (~> 0.10, >= 0.10.0) + memoizable (0.4.2) + thread_safe (~> 0.3, >= 0.3.1) mime-types (2.99.3) + morpher (0.2.6) + abstract_type (~> 0.0.7) + adamantium (~> 0.2.0) + anima (~> 0.3.0) + ast (~> 2.2) + concord (~> 0.1.5) + equalizer (~> 0.0.9) + ice_nine (~> 0.11.0) + procto (~> 0.0.2) multipart-post (2.1.1) + mutant (0.8.24) + abstract_type (~> 0.0.7) + adamantium (~> 0.2.0) + anima (~> 0.3.0) + ast (~> 2.2) + concord (~> 0.1.5) + diff-lcs (~> 1.3) + equalizer (~> 0.0.9) + ice_nine (~> 0.11.1) + memoizable (~> 0.4.2) + morpher (~> 0.2.6) + parser (~> 2.5.1) + procto (~> 0.0.2) + regexp_parser (~> 1.2) + unparser (~> 0.4.2) + mutant-rspec (0.8.24) + mutant (~> 0.8.24) + rspec-core (>= 3.4.0, < 4.0.0) net-ssh (4.2.0) net-ssh-gateway (2.0.0) net-ssh (>= 4.0.0) @@ -39,12 +91,18 @@ GEM net-ssh (>= 2.6.5) net-ssh-gateway (>= 1.2.0) netrc (0.11.0) + parser (2.5.3.0) + ast (~> 2.4.0) peach (0.5.1) + procto (0.0.3) public_suffix (3.1.1) rack (1.6.4) rack-cache (1.9.0) rack (>= 0.4) + rack-protection (1.5.5) + rack rb-readline (0.5.5) + regexp_parser (1.6.0) rest-client (1.8.0) http-cookie (>= 1.0.2, < 2.0) mime-types (>= 1.16, < 3.0) @@ -99,9 +157,23 @@ GEM json (>= 1.8, < 3) simplecov-html (~> 0.10.0) simplecov-html (0.10.2) + sinatra (1.4.8) + rack (~> 1.5) + rack-protection (~> 1.4) + tilt (>= 1.3, < 3) + thread_safe (0.3.6) + tilt (2.0.10) unf (0.1.4) unf_ext unf_ext (0.0.7.6) + unparser (0.4.2) + abstract_type (~> 0.0.7) + adamantium (~> 0.2.0) + concord (~> 0.1.5) + diff-lcs (~> 1.3) + equalizer (~> 0.0.9) + parser (>= 2.3.1.2, < 2.6) + procto (~> 0.0.2) webmock (3.7.5) addressable (>= 2.3.6) crack (>= 0.3.2) @@ -111,11 +183,13 @@ PLATFORMS ruby DEPENDENCIES + code-explorer diffy dns-zone hash_validator hashdiff mediawiki_api + mutant-rspec net-ssh peach restfully -- GitLab From 66c0b5e5a012053601a260d963438e396ff202ec Mon Sep 17 00:00:00 2001 From: Lucas Nussbaum <lucas.nussbaum@loria.fr> Date: Sat, 28 Sep 2019 07:32:32 +0200 Subject: [PATCH 19/57] rubocop fixes --- lib/refrepo/gen/oar-properties.rb | 11 ++--------- spec/oar_properties_spec.rb | 2 +- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/lib/refrepo/gen/oar-properties.rb b/lib/refrepo/gen/oar-properties.rb index 0629aeeff59..629659e28a1 100644 --- a/lib/refrepo/gen/oar-properties.rb +++ b/lib/refrepo/gen/oar-properties.rb @@ -570,7 +570,6 @@ end # Get all data from the OAR database def get_oar_data(site_uid, options) - oarnodes = '' if options[:api][:uri] and not options[:api][:uri].include? "api.grid5000.fr" api_uri = URI.parse(options[:api][:uri]+'/oarapi/resources/details.json?limit=999999') else @@ -814,7 +813,7 @@ def get_oar_properties_from_oar(options) properties end -def do_diff(options, generated_hierarchy, global_hash, refrepo_properties) +def do_diff(options, generated_hierarchy, refrepo_properties) properties = { 'ref' => refrepo_properties, @@ -1039,12 +1038,6 @@ def extract_clusters_description(clusters, site_name, options, data_hierarchy, s "gpu" => site_resources.length > 0 ? site_resources.map{|r| r["gpu"]}.select{|x| not x.nil?}.max : 0 } - newly_allocated_resources = { - "cpu" => [], - "core" =>[], - "gpu" => [] - } - # Some existing cluster have GPUs, but no GPU ID has been allocated to them if next_rsc_ids["gpu"].nil? next_rsc_ids["gpu"] = 0 @@ -1390,7 +1383,7 @@ def generate_oar_properties(options) # Do=Diff if options.key? :diff and options[:diff] - do_diff(options, generated_hierarchy, data_hierarchy, refrepo_properties) + do_diff(options, generated_hierarchy, refrepo_properties) end # Do=update diff --git a/spec/oar_properties_spec.rb b/spec/oar_properties_spec.rb index 5218e029023..e79963cf474 100644 --- a/spec/oar_properties_spec.rb +++ b/spec/oar_properties_spec.rb @@ -22,7 +22,7 @@ end # This code comes from https://gist.github.com/herrphon/2d2ebbf23c86a10aa955 # and enables to capture all output made on stdout and stderr by a block of code -def capture(&block) +def capture(&_block) begin $stdout = StringIO.new $stderr = StringIO.new -- GitLab From bebec648ed51f8c25ab51aefbcc1e283c2634f47 Mon Sep 17 00:00:00 2001 From: Lucas Nussbaum <lucas.nussbaum@loria.fr> Date: Tue, 1 Oct 2019 08:21:26 +0200 Subject: [PATCH 20/57] Improve documentation --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/README.md b/README.md index c0117a7add7..caa38c3875f 100644 --- a/README.md +++ b/README.md @@ -41,3 +41,12 @@ all tools that require to authenticate against Grid'5000 use credentials from ~/ password: password version: stable ``` + +# Some development information + +* Run rspec tests: `bundler exec rspec` + + This generates coverage information in the coverage/ directory +* Explore the code using code-explorer: `bundle exec code-explorer` +* Run mutation testing: + + A specific method: `bundler exec mutant --include lib --require refrepo --use rspec 'OarProperties#get_oar_properties_from_oar'` + + The whole OAR properties generator (takes a long time): `bundler exec mutant --include lib --require refrepo --use rspec 'OarProperties'` -- GitLab From dc3650bd7fcd2b922ac9c135a6e7e1fadceaf9e4 Mon Sep 17 00:00:00 2001 From: Jonathan Pastor <jonathancmoa@gmail.com> Date: Fri, 4 Oct 2019 14:34:04 +0200 Subject: [PATCH 21/57] handle retired clusters --- lib/refrepo/gen/oar-properties.rb | 37 ++++++++++++++++++++++++++----- 1 file changed, 32 insertions(+), 5 deletions(-) diff --git a/lib/refrepo/gen/oar-properties.rb b/lib/refrepo/gen/oar-properties.rb index 629659e28a1..5f780448c41 100644 --- a/lib/refrepo/gen/oar-properties.rb +++ b/lib/refrepo/gen/oar-properties.rb @@ -594,7 +594,7 @@ def get_oar_data(site_uid, options) puts '... done' if options[:verbose] oarnodes = JSON.parse(response.body) - + # Adapt from the format of the OAR API oarnodes = oarnodes['items'] if oarnodes.key?('items') return oarnodes @@ -1052,9 +1052,15 @@ def extract_clusters_description(clusters, site_name, options, data_hierarchy, s cpu_idx = 0 core_idx = 0 - cluster_resources = site_resources.select{|r| r["cluster"] == cluster_name} - cluster_desc_from_input_files = data_hierarchy['sites'][site_name]['clusters'][cluster_name] + cluster_nodes = cluster_desc_from_input_files['nodes'] + + node_count = cluster_nodes.length + + cluster_resources = site_resources + .select{|r| r["cluster"] == cluster_name} + .select{|r| cluster_nodes.include?(r["host"].split(".")[0])} + first_node = cluster_desc_from_input_files['nodes'].first[1] # Some clusters such as graphite have a different organisation: @@ -1068,7 +1074,6 @@ def extract_clusters_description(clusters, site_name, options, data_hierarchy, s # To cope with such cases and ensure an homogeneous processing a "is_quirk_cluster" variable is set to true. is_quirk_cluster = false - node_count = cluster_desc_from_input_files['nodes'].length cpu_count = first_node['architecture']['nb_procs'] core_count = first_node['architecture']['nb_cores'] / cpu_count @@ -1129,7 +1134,7 @@ def extract_clusters_description(clusters, site_name, options, data_hierarchy, s end phys_rsc_map.each do |physical_resource, variables| - # Try to fix a bad allocation of physical resources. There is two main cases: + # Try to detect a bad allocation of physical resources. There is two main cases: # case 1) We detect too many resources: it likely means than a rsc of another cluster has been mis-associated to # this cluster. A simple fix is to sort <RESOURCES> of the cluster according to their number of occurence in # the cluster's properties, and keep only the N <RESOURCES> that appears the most frequently, where N is equal @@ -1142,6 +1147,28 @@ def extract_clusters_description(clusters, site_name, options, data_hierarchy, s expected_phys_rsc_count = variables[:per_cluster_count] if phys_rsc_ids.length != expected_phys_rsc_count + + # We detected a situation where a phyisical resource is misallocated to a wrong OAR property + if cluster_resources.map{|r| r[physical_resource]}.length == expected_phys_rsc_count + resource_count = Hash.new([]) + cluster_resources.select{|r| not r[physical_resource].nil? }.each do |resource| + resource_count[resource[physical_resource]] += [resource] + end + + for (k, v) in resource_count + if v.size > 1 + duplicated_resources = cluster_resources.select{|r| r[physical_resource] == k} + oar_sql_clause = duplicated_resources.map{|r| r["id"]}.map{|rid| "resource_id='#{rid}'"}.join(" OR ") + + puts("################################") + puts("# Error: resources with ids #{duplicated_resources.map{|r| r["id"]}} have the same value for #{physical_resource} (#{physical_resource} is equal to #{k})\n") + puts("# You can review this situation via the following command:\n") + puts("################################") + puts("oarnodes -Y --sql \"#{oar_sql_clause}\"\n") + end + end + end + raise "#{physical_resource} has an unexpected number of resources (current:#{phys_rsc_ids.length} vs expected:#{expected_phys_rsc_count})" end -- GitLab From 3fbb5ad89cd9efb9ca3e7f8cf5a8adfce4fccd6d Mon Sep 17 00:00:00 2001 From: Jonathan Pastor <jonathancmoa@gmail.com> Date: Fri, 4 Oct 2019 14:34:37 +0200 Subject: [PATCH 22/57] tests arguments and clusters without gpu --- spec/oar_properties_spec.rb | 477 ++- ...oar_api_configured_server_without_gpu.json | 2978 +++++++++++++++++ ...ta_hierarchy_stubbed_data_without_gpu.json | 1984 +++++++++++ 3 files changed, 5411 insertions(+), 28 deletions(-) create mode 100644 spec/stub_oar_properties/dump_oar_api_configured_server_without_gpu.json create mode 100644 spec/stub_oar_properties/load_data_hierarchy_stubbed_data_without_gpu.json diff --git a/spec/oar_properties_spec.rb b/spec/oar_properties_spec.rb index e79963cf474..6b7ccb05548 100644 --- a/spec/oar_properties_spec.rb +++ b/spec/oar_properties_spec.rb @@ -48,6 +48,7 @@ def prepare_stubs(oar_api, data_hierarchy) conf = RefRepo::Utils.get_api_config stubbed_addresses = [ "#{conf["uri"]}", + "#{conf["uri"]}/oarapi/resources/details.json?limit=999999", "#{conf["uri"]}stable/sites/fakesite/internal/oarapi/resources/details.json?limit=999999", ] stubbed_api_response = load_stub_file_content(oar_api) @@ -66,6 +67,60 @@ end describe 'OarProperties' do + context 'testing arguments' do + before do + prepare_stubs("dump_oar_api_empty_server.json", "load_data_hierarchy_stubbed_data.json") + end + + it 'should should accept case where only the site is specified' do + + uri = URI(conf["uri"]) + + response = Net::HTTP.get(uri) + + expect(response).to be_an_instance_of(String) + + options = { + :table => true, + :print => false, + :update => false, + :diff => false, + :site => "fakesite", + } + + expected_header = <<-TXT ++---------- + -------------------- + ----- + ----- + -------- + ---- + -------------------- + ------------------------------ + ------------------------------+ +| cluster | host | cpu | core | cpuset | gpu | gpudevice | cpumodel | gpumodel | ++---------- + -------------------- + ----- + ----- + -------- + ---- + -------------------- + ------------------------------ + ------------------------------+ +TXT + + generator_output = capture do + generate_oar_properties(options) + end + + expect(generator_output[:stdout]).to include(expected_header) + end + + it 'should should accept case where only the site is specified' do + + uri = URI(conf["uri"]) + + response = Net::HTTP.get(uri) + + expect(response).to be_an_instance_of(String) + + options = { + :table => true, + :print => false, + :update => false, + :diff => false, + :site => "fakesite2", + } + + expect { generate_oar_properties(options) }.to raise_error("The provided site does not exist : I can't detect clusters") + end + end + context 'interracting with an empty OAR server' do before do prepare_stubs("dump_oar_api_empty_server.json", "load_data_hierarchy_stubbed_data.json") @@ -279,8 +334,6 @@ TXT end end - - context 'OAR server with data' do before do prepare_stubs("dump_oar_api_configured_server.json", "load_data_hierarchy_stubbed_data.json") @@ -307,7 +360,7 @@ TXT +---------- + -------------------- + ----- + ----- + -------- + ---- + -------------------- + ------------------------------ + ------------------------------+ | cluster | host | cpu | core | cpuset | gpu | gpudevice | cpumodel | gpumodel | +---------- + -------------------- + ----- + ----- + -------- + ---- + -------------------- + ------------------------------ + ------------------------------+ - TXT +TXT expected_clustera1_desc = <<-TXT | clustera | clustera-1 | 1 | 1 | 0 | 1 | 0 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | @@ -316,7 +369,7 @@ TXT | clustera | clustera-1 | 1 | 4 | 3 | 1 | 0 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | | clustera | clustera-1 | 1 | 5 | 4 | 2 | 1 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | | clustera | clustera-1 | 1 | 6 | 5 | 2 | 1 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | - TXT +TXT expected_clustera2_desc = <<-TXT | clustera | clustera-2 | 4 | 26 | 9 | 7 | 2 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | @@ -326,7 +379,7 @@ TXT | clustera | clustera-2 | 4 | 30 | 13 | 8 | 3 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | | clustera | clustera-2 | 4 | 31 | 14 | 8 | 3 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | | clustera | clustera-2 | 4 | 32 | 15 | 8 | 3 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | - TXT +TXT generator_output = capture do generate_oar_properties(options) @@ -364,7 +417,7 @@ property_exist 'core' || oarproperty -a core property_exist 'gpudevice' || oarproperty -a gpudevice property_exist 'gpu' || oarproperty -a gpu property_exist 'gpu_model' || oarproperty -a gpu_model --varchar - TXT +TXT expected_clustera1_cmds = <<-TXT ################################### @@ -374,7 +427,7 @@ oarnodesetting --sql "host='clustera-1.fakesite.grid5000.fr' AND resource_id='1' oarnodesetting --sql "host='clustera-1.fakesite.grid5000.fr' AND resource_id='2' AND type='default'" -p cpu=1 -p core=2 -p cpuset=1 -p gpu=1 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0 oarnodesetting --sql "host='clustera-1.fakesite.grid5000.fr' AND resource_id='3' AND type='default'" -p cpu=1 -p core=3 -p cpuset=2 -p gpu=1 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0 oarnodesetting --sql "host='clustera-1.fakesite.grid5000.fr' AND resource_id='4' AND type='default'" -p cpu=1 -p core=4 -p cpuset=3 -p gpu=1 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0 - TXT +TXT expected_clustera2_cmds = <<-TXT ################################### @@ -385,11 +438,11 @@ oarnodesetting --sql "host='clustera-2.fakesite.grid5000.fr' AND resource_id='18 oarnodesetting --sql "host='clustera-2.fakesite.grid5000.fr' AND resource_id='19' AND type='default'" -p cpu=3 -p core=19 -p cpuset=2 -p gpu=5 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0 oarnodesetting --sql "host='clustera-2.fakesite.grid5000.fr' AND resource_id='20' AND type='default'" -p cpu=3 -p core=20 -p cpuset=3 -p gpu=5 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0 oarnodesetting --sql "host='clustera-2.fakesite.grid5000.fr' AND resource_id='21' AND type='default'" -p cpu=3 -p core=21 -p cpuset=4 -p gpu=6 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=1 # This GPU is mapped on /dev/nvidia1 - TXT +TXT expected_clustera3_cmds = <<-TXT oarnodesetting --sql "host='clustera-2.fakesite.grid5000.fr' and type='default'" -p ip='172.16.64.2' -p cluster='clustera' -p nodemodel='Dell PowerEdge T640' -p switch='gw-fakesite' -p virtual='ivt' -p cpuarch='x86_64' -p cpucore=8 -p cputype='Intel Xeon Silver 4110' -p cpufreq='2.1' -p disktype='SATA' -p eth_count=1 -p eth_rate=10 -p ib_count=0 -p ib_rate=0 -p ib='NO' -p opa_count=0 -p opa_rate=0 -p opa='NO' -p myri_count=0 -p myri_rate=0 -p myri='NO' -p memcore=8192 -p memcpu=65536 -p memnode=131072 -p gpu_count=4 -p mic='NO' -p wattmeter='MULTIPLE' -p cluster_priority=201906 -p max_walltime=86400 -p production='YES' -p maintenance='NO' -p disk_reservation_count=0 - TXT +TXT generator_output = capture do generate_oar_properties(options) @@ -462,7 +515,7 @@ TXT +---------- + -------------------- + ----- + ----- + -------- + ---- + -------------------- + ------------------------------ + ------------------------------+ | cluster | host | cpu | core | cpuset | gpu | gpudevice | cpumodel | gpumodel | +---------- + -------------------- + ----- + ----- + -------- + ---- + -------------------- + ------------------------------ + ------------------------------+ - TXT +TXT expected_clusterb1_desc = <<-TXT | clusterb | clusterb-1 | 1 | 1 | 0 | 1 | 0 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | @@ -472,7 +525,7 @@ TXT | clusterb | clusterb-1 | 1 | 5 | 4 | 2 | 1 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | | clusterb | clusterb-1 | 1 | 6 | 5 | 2 | 1 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | | clusterb | clusterb-1 | 1 | 7 | 6 | 2 | 1 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | - TXT +TXT expected_clusterb2_desc = <<-TXT | clusterb | clusterb-2 | 3 | 17 | 0 | 5 | 0 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | @@ -482,7 +535,7 @@ TXT | clusterb | clusterb-2 | 3 | 21 | 4 | 6 | 1 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | | clusterb | clusterb-2 | 3 | 22 | 5 | 6 | 1 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | | clusterb | clusterb-2 | 3 | 23 | 6 | 6 | 1 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | - TXT +TXT generator_output = capture do generate_oar_properties(options) @@ -541,11 +594,11 @@ oarnodesetting -a -h 'clusterb-2.fakesite.grid5000.fr' -p host='clusterb-2.fakes oarnodesetting -a -h 'clusterb-2.fakesite.grid5000.fr' -p host='clusterb-2.fakesite.grid5000.fr' -p cpu=4 -p core=30 -p cpuset=13 -p gpu=8 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=3 # This GPU is mapped on /dev/nvidia3 oarnodesetting -a -h 'clusterb-2.fakesite.grid5000.fr' -p host='clusterb-2.fakesite.grid5000.fr' -p cpu=4 -p core=31 -p cpuset=14 -p gpu=8 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=3 # This GPU is mapped on /dev/nvidia3 oarnodesetting -a -h 'clusterb-2.fakesite.grid5000.fr' -p host='clusterb-2.fakesite.grid5000.fr' -p cpu=4 -p core=32 -p cpuset=15 -p gpu=8 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=3 # This GPU is mapped on /dev/nvidia3 - TXT +TXT expected_clusterb3_cmds = <<-TXT oarnodesetting --sql "host='clusterb-2.fakesite.grid5000.fr' and type='default'" -p ip='172.16.64.2' -p cluster='clusterb' -p nodemodel='Dell PowerEdge T640' -p virtual='ivt' -p cpuarch='x86_64' -p cpucore=8 -p cputype='Intel Xeon Silver 4110' -p cpufreq='2.1' -p disktype='SATA' -p eth_count=1 -p eth_rate=10 -p ib_count=0 -p ib_rate=0 -p ib='NO' -p opa_count=0 -p opa_rate=0 -p opa='NO' -p myri_count=0 -p myri_rate=0 -p myri='NO' -p memcore=8192 -p memcpu=65536 -p memnode=131072 -p gpu_count=4 -p mic='NO' -p wattmeter='MULTIPLE' -p cluster_priority=201906 -p max_walltime=86400 -p production='YES' -p maintenance='NO' -p disk_reservation_count=3 - TXT +TXT expected_clusterb4_cmds = <<-TXT echo '================================================================================' @@ -620,7 +673,7 @@ TXT ["+", "switch", nil] ["+", "virtual", "ivt"] ["+", "wattmeter", "MULTIPLE"] - TXT +TXT expected_clusterb2_diff = <<-TXT clusterb-2: new node ! @@ -656,7 +709,7 @@ TXT ["+", "switch", nil] ["+", "virtual", "ivt"] ["+", "wattmeter", "MULTIPLE"] - TXT +TXT expected_clusterb3_diff = <<-TXT ["clusterb-1", "sdb.clusterb-1"]: new disk ! @@ -725,7 +778,7 @@ TXT ["+", "maintenance", "NO"] ["+", "network_address", ""] ["+", "production", "YES"] - TXT +TXT generator_output = capture do generate_oar_properties(options) @@ -739,7 +792,7 @@ TXT - context 'OAR server with data' do + context 'OAR server with data (cluster with disk)' do before do prepare_stubs("dump_oar_api_configured_server_with_disk.json", "load_data_hierarchy_stubbed_data_with_disk.json") end @@ -765,7 +818,7 @@ TXT +---------- + -------------------- + ----- + ----- + -------- + ---- + -------------------- + ------------------------------ + ------------------------------+ | cluster | host | cpu | core | cpuset | gpu | gpudevice | cpumodel | gpumodel | +---------- + -------------------- + ----- + ----- + -------- + ---- + -------------------- + ------------------------------ + ------------------------------+ - TXT +TXT expected_clusterb1_desc = <<-TXT | clusterb | clusterb-1 | 1 | 1 | 0 | 1 | 0 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | @@ -774,7 +827,7 @@ TXT | clusterb | clusterb-1 | 1 | 4 | 3 | 1 | 0 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | | clusterb | clusterb-1 | 1 | 5 | 4 | 2 | 1 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | | clusterb | clusterb-1 | 1 | 6 | 5 | 2 | 1 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | - TXT +TXT expected_clusterb2_desc = <<-TXT | clusterb | clusterb-2 | 4 | 26 | 9 | 7 | 2 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | @@ -784,7 +837,7 @@ TXT | clusterb | clusterb-2 | 4 | 30 | 13 | 8 | 3 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | | clusterb | clusterb-2 | 4 | 31 | 14 | 8 | 3 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | | clusterb | clusterb-2 | 4 | 32 | 15 | 8 | 3 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | - TXT +TXT generator_output = capture do generate_oar_properties(options) @@ -822,7 +875,7 @@ property_exist 'core' || oarproperty -a core property_exist 'gpudevice' || oarproperty -a gpudevice property_exist 'gpu' || oarproperty -a gpu property_exist 'gpu_model' || oarproperty -a gpu_model --varchar - TXT +TXT expected_clusterb1_cmds = <<-TXT ################################### @@ -832,7 +885,7 @@ oarnodesetting --sql "host='clusterb-1.fakesite.grid5000.fr' AND resource_id='1' oarnodesetting --sql "host='clusterb-1.fakesite.grid5000.fr' AND resource_id='2' AND type='default'" -p cpu=1 -p core=2 -p cpuset=1 -p gpu=1 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0 oarnodesetting --sql "host='clusterb-1.fakesite.grid5000.fr' AND resource_id='3' AND type='default'" -p cpu=1 -p core=3 -p cpuset=2 -p gpu=1 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0 oarnodesetting --sql "host='clusterb-1.fakesite.grid5000.fr' AND resource_id='4' AND type='default'" -p cpu=1 -p core=4 -p cpuset=3 -p gpu=1 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0 - TXT +TXT expected_clusterb2_cmds = <<-TXT ################################### @@ -854,11 +907,11 @@ oarnodesetting --sql "host='clusterb-2.fakesite.grid5000.fr' AND resource_id='32 oarnodesetting --sql "host='clusterb-2.fakesite.grid5000.fr' AND resource_id='33' AND type='default'" -p cpu=4 -p core=30 -p cpuset=13 -p gpu=8 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=3 # This GPU is mapped on /dev/nvidia3 oarnodesetting --sql "host='clusterb-2.fakesite.grid5000.fr' AND resource_id='34' AND type='default'" -p cpu=4 -p core=31 -p cpuset=14 -p gpu=8 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=3 # This GPU is mapped on /dev/nvidia3 oarnodesetting --sql "host='clusterb-2.fakesite.grid5000.fr' AND resource_id='35' AND type='default'" -p cpu=4 -p core=32 -p cpuset=15 -p gpu=8 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=3 # This GPU is mapped on /dev/nvidia3 - TXT +TXT expected_clusterb3_cmds = <<-TXT oarnodesetting --sql "host='clusterb-2.fakesite.grid5000.fr' and type='default'" -p ip='172.16.64.2' -p cluster='clusterb' -p nodemodel='Dell PowerEdge T640' -p virtual='ivt' -p cpuarch='x86_64' -p cpucore=8 -p cputype='Intel Xeon Silver 4110' -p cpufreq='2.1' -p disktype='SATA' -p eth_count=1 -p eth_rate=10 -p ib_count=0 -p ib_rate=0 -p ib='NO' -p opa_count=0 -p opa_rate=0 -p opa='NO' -p myri_count=0 -p myri_rate=0 -p myri='NO' -p memcore=8192 -p memcpu=65536 -p memnode=131072 -p gpu_count=4 -p mic='NO' -p wattmeter='MULTIPLE' -p cluster_priority=201906 -p max_walltime=86400 -p production='YES' -p maintenance='NO' -p disk_reservation_count=3 - TXT +TXT generator_output = capture do generate_oar_properties(options) @@ -890,11 +943,11 @@ oarnodesetting --sql "host='clusterb-2.fakesite.grid5000.fr' and type='default'" expected_clusterb1_diff = <<-TXT clusterb-1: OK - TXT +TXT expected_clusterb2_diff = <<-TXT clusterb-2: OK - TXT +TXT expected_clusterb3_diff = <<-TXT ["clusterb-1", "sdb.clusterb-1"]: OK @@ -903,7 +956,7 @@ oarnodesetting --sql "host='clusterb-2.fakesite.grid5000.fr' and type='default'" ["clusterb-2", "sdb.clusterb-2"]: OK ["clusterb-2", "sdc.clusterb-2"]: OK ["clusterb-2", "sdd.clusterb-2"]: OK - TXT +TXT generator_output = capture do generate_oar_properties(options) @@ -914,4 +967,372 @@ oarnodesetting --sql "host='clusterb-2.fakesite.grid5000.fr' and type='default'" expect(generator_output[:stdout]).to include(expected_clusterb3_diff) end end + + context 'interracting with an empty OAR server (without gpu)' do + before do + prepare_stubs("dump_oar_api_empty_server.json", "load_data_hierarchy_stubbed_data_without_gpu.json") + end + + it 'should generate correctly a table of nodes' do + + uri = URI(conf["uri"]) + + response = Net::HTTP.get(uri) + + expect(response).to be_an_instance_of(String) + + options = { + :table => true, + :print => false, + :update => false, + :diff => false, + :site => "fakesite", + :clusters => ["clusterc"] + } + + expected_header = <<-TXT ++---------- + -------------------- + ----- + ----- + -------- + ---- + -------------------- + ------------------------------ + ------------------------------+ +| cluster | host | cpu | core | cpuset | gpu | gpudevice | cpumodel | gpumodel | ++---------- + -------------------- + ----- + ----- + -------- + ---- + -------------------- + ------------------------------ + ------------------------------+ +TXT + + expected_clusterc1_desc = <<-TXT +| clusterc | clusterc-1 | 1 | 1 | 0 | | | Intel Xeon Silver 4110 | | +| clusterc | clusterc-1 | 1 | 2 | 1 | | | Intel Xeon Silver 4110 | | +| clusterc | clusterc-1 | 1 | 3 | 2 | | | Intel Xeon Silver 4110 | | +| clusterc | clusterc-1 | 1 | 4 | 3 | | | Intel Xeon Silver 4110 | | +| clusterc | clusterc-1 | 1 | 5 | 4 | | | Intel Xeon Silver 4110 | | +| clusterc | clusterc-1 | 1 | 6 | 5 | | | Intel Xeon Silver 4110 | | +TXT + + expected_clusterc2_desc = <<-TXT +| clusterc | clusterc-2 | 4 | 26 | 9 | | | Intel Xeon Silver 4110 | | +| clusterc | clusterc-2 | 4 | 27 | 10 | | | Intel Xeon Silver 4110 | | +| clusterc | clusterc-2 | 4 | 28 | 11 | | | Intel Xeon Silver 4110 | | +| clusterc | clusterc-2 | 4 | 29 | 12 | | | Intel Xeon Silver 4110 | | +| clusterc | clusterc-2 | 4 | 30 | 13 | | | Intel Xeon Silver 4110 | | +| clusterc | clusterc-2 | 4 | 31 | 14 | | | Intel Xeon Silver 4110 | | +| clusterc | clusterc-2 | 4 | 32 | 15 | | | Intel Xeon Silver 4110 | | +TXT + + generator_output = capture do + generate_oar_properties(options) + end + + expect(generator_output[:stdout]).to include(expected_header) + expect(generator_output[:stdout]).to include(expected_clusterc1_desc) + expect(generator_output[:stdout]).to include(expected_clusterc2_desc) + end + + it 'should generate correctly all the commands to update OAR' do + + uri = URI(conf["uri"]) + + response = Net::HTTP.get(uri) + + expect(response).to be_an_instance_of(String) + + options = { + :table => false, + :print => true, + :update => false, + :diff => false, + :site => "fakesite", + :clusters => ["clusterc"] + } + + expected_header = <<-TXT +############################################# +# Create OAR properties that were created by 'oar_resources_add' +############################################# +property_exist 'host' || oarproperty -a host --varchar +property_exist 'cpu' || oarproperty -a cpu +property_exist 'core' || oarproperty -a core +property_exist 'gpudevice' || oarproperty -a gpudevice +property_exist 'gpu' || oarproperty -a gpu +property_exist 'gpu_model' || oarproperty -a gpu_model --varchar +TXT + + expected_clusterc1_cmds = <<-TXT +################################### +# clusterc-1.fakesite.grid5000.fr +################################### +oarnodesetting -a -h 'clusterc-1.fakesite.grid5000.fr' -p host='clusterc-1.fakesite.grid5000.fr' -p cpu=1 -p core=1 -p cpuset=0 +oarnodesetting -a -h 'clusterc-1.fakesite.grid5000.fr' -p host='clusterc-1.fakesite.grid5000.fr' -p cpu=1 -p core=2 -p cpuset=1 +oarnodesetting -a -h 'clusterc-1.fakesite.grid5000.fr' -p host='clusterc-1.fakesite.grid5000.fr' -p cpu=1 -p core=3 -p cpuset=2 +TXT + + + + expected_clusterc2_cmds = <<-TXT +oarnodesetting -a -h 'clusterc-2.fakesite.grid5000.fr' -p host='clusterc-2.fakesite.grid5000.fr' -p cpu=4 -p core=29 -p cpuset=12 +oarnodesetting -a -h 'clusterc-2.fakesite.grid5000.fr' -p host='clusterc-2.fakesite.grid5000.fr' -p cpu=4 -p core=30 -p cpuset=13 +oarnodesetting -a -h 'clusterc-2.fakesite.grid5000.fr' -p host='clusterc-2.fakesite.grid5000.fr' -p cpu=4 -p core=31 -p cpuset=14 +oarnodesetting -a -h 'clusterc-2.fakesite.grid5000.fr' -p host='clusterc-2.fakesite.grid5000.fr' -p cpu=4 -p core=32 -p cpuset=15 +TXT + expected_clusterc3_cmds = <<-TXT +oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' and type='default'" -p ip='172.16.64.2' -p cluster='clusterc' -p nodemodel='Dell PowerEdge T640' -p virtual='ivt' -p cpuarch='x86_64' -p cpucore=8 -p cputype='Intel Xeon Silver 4110' -p cpufreq='2.1' -p disktype='SATA' -p eth_count=1 -p eth_rate=10 -p ib_count=0 -p ib_rate=0 -p ib='NO' -p opa_count=0 -p opa_rate=0 -p opa='NO' -p myri_count=0 -p myri_rate=0 -p myri='NO' -p memcore=8192 -p memcpu=65536 -p memnode=131072 -p gpu_count=0 -p mic='NO' -p wattmeter='MULTIPLE' -p cluster_priority=201906 -p max_walltime=86400 -p production='YES' -p maintenance='NO' -p disk_reservation_count=3 +TXT + + + generator_output = capture do + generate_oar_properties(options) + end + + expect(generator_output[:stdout]).to include(expected_header) + expect(generator_output[:stdout]).to include(expected_clusterc1_cmds) + expect(generator_output[:stdout]).to include(expected_clusterc2_cmds) + expect(generator_output[:stdout]).to include(expected_clusterc3_cmds) + end + + it 'should generate correctly a diff with the OAR server' do + + uri = URI(conf["uri"]) + + response = Net::HTTP.get(uri) + + expect(response).to be_an_instance_of(String) + + options = { + :table => false, + :print => false, + :update => false, + :diff => true, + :site => "fakesite", + :clusters => ["clusterc"], + :verbose => 2 + } + + expected_clusterc1_diff = <<-TXT + clusterc-1: new node ! + ["+", "cluster", "clusterc"] + ["+", "cluster_priority", 201906] + ["+", "cpuarch", "x86_64"] + ["+", "cpucore", 8] + ["+", "cpufreq", "2.1"] + ["+", "cputype", "Intel Xeon Silver 4110"] + ["+", "disk_reservation_count", 3] + ["+", "disktype", "SATA"] + ["+", "eth_count", 1] + ["+", "eth_rate", 10] + ["+", "gpu_count", 0] + ["+", "ib", "NO"] + ["+", "ib_count", 0] + ["+", "ib_rate", 0] + ["+", "ip", "172.16.64.1"] + ["+", "maintenance", "NO"] + ["+", "max_walltime", 86400] + ["+", "memcore", 8192] + ["+", "memcpu", 65536] + ["+", "memnode", 131072] + ["+", "mic", "NO"] + ["+", "myri", "NO"] + ["+", "myri_count", 0] + ["+", "myri_rate", 0] + ["+", "nodemodel", "Dell PowerEdge T640"] + ["+", "opa", "NO"] + ["+", "opa_count", 0] + ["+", "opa_rate", 0] + ["+", "production", "YES"] + ["+", "switch", nil] + ["+", "virtual", "ivt"] + ["+", "wattmeter", "MULTIPLE"] +TXT + + expected_clusterc2_diff = <<-TXT + clusterc-2: new node ! + ["+", "cluster", "clusterc"] + ["+", "cluster_priority", 201906] + ["+", "cpuarch", "x86_64"] + ["+", "cpucore", 8] + ["+", "cpufreq", "2.1"] + ["+", "cputype", "Intel Xeon Silver 4110"] + ["+", "disk_reservation_count", 3] + ["+", "disktype", "SATA"] + ["+", "eth_count", 1] + ["+", "eth_rate", 10] + ["+", "gpu_count", 0] + ["+", "ib", "NO"] + ["+", "ib_count", 0] + ["+", "ib_rate", 0] + ["+", "ip", "172.16.64.2"] + ["+", "maintenance", "NO"] + ["+", "max_walltime", 86400] + ["+", "memcore", 8192] + ["+", "memcpu", 65536] + ["+", "memnode", 131072] + ["+", "mic", "NO"] + ["+", "myri", "NO"] + ["+", "myri_count", 0] + ["+", "myri_rate", 0] + ["+", "nodemodel", "Dell PowerEdge T640"] + ["+", "opa", "NO"] + ["+", "opa_count", 0] + ["+", "opa_rate", 0] + ["+", "production", "YES"] + ["+", "switch", nil] + ["+", "virtual", "ivt"] + ["+", "wattmeter", "MULTIPLE"] +TXT + + generator_output = capture do + generate_oar_properties(options) + end + + expect(generator_output[:stdout]).to include(expected_clusterc1_diff) + expect(generator_output[:stdout]).to include(expected_clusterc2_diff) + end + end + + context 'interracting with a configured OAR server (without gpu)' do + before do + prepare_stubs("dump_oar_api_configured_server_without_gpu.json", "load_data_hierarchy_stubbed_data_without_gpu.json") + end + + it 'should generate correctly a table of nodes' do + + uri = URI(conf["uri"]) + + response = Net::HTTP.get(uri) + + expect(response).to be_an_instance_of(String) + + options = { + :table => true, + :print => false, + :update => false, + :diff => false, + :site => "fakesite", + :clusters => ["clusterc"] + } + + expected_header = <<-TXT ++---------- + -------------------- + ----- + ----- + -------- + ---- + -------------------- + ------------------------------ + ------------------------------+ +| cluster | host | cpu | core | cpuset | gpu | gpudevice | cpumodel | gpumodel | ++---------- + -------------------- + ----- + ----- + -------- + ---- + -------------------- + ------------------------------ + ------------------------------+ +TXT + + expected_clusterc1_desc = <<-TXT +| clusterc | clusterc-1 | 1 | 1 | 0 | | | Intel Xeon Silver 4110 | | +| clusterc | clusterc-1 | 1 | 2 | 1 | | | Intel Xeon Silver 4110 | | +| clusterc | clusterc-1 | 1 | 3 | 2 | | | Intel Xeon Silver 4110 | | +| clusterc | clusterc-1 | 1 | 4 | 3 | | | Intel Xeon Silver 4110 | | +| clusterc | clusterc-1 | 1 | 5 | 4 | | | Intel Xeon Silver 4110 | | +| clusterc | clusterc-1 | 1 | 6 | 5 | | | Intel Xeon Silver 4110 | | +TXT + + expected_clusterc2_desc = <<-TXT +| clusterc | clusterc-2 | 4 | 26 | 9 | | | Intel Xeon Silver 4110 | | +| clusterc | clusterc-2 | 4 | 27 | 10 | | | Intel Xeon Silver 4110 | | +| clusterc | clusterc-2 | 4 | 28 | 11 | | | Intel Xeon Silver 4110 | | +| clusterc | clusterc-2 | 4 | 29 | 12 | | | Intel Xeon Silver 4110 | | +| clusterc | clusterc-2 | 4 | 30 | 13 | | | Intel Xeon Silver 4110 | | +| clusterc | clusterc-2 | 4 | 31 | 14 | | | Intel Xeon Silver 4110 | | +| clusterc | clusterc-2 | 4 | 32 | 15 | | | Intel Xeon Silver 4110 | | +TXT + generator_output = capture do + generate_oar_properties(options) + end + + expect(generator_output[:stdout]).to include(expected_header) + expect(generator_output[:stdout]).to include(expected_clusterc1_desc) + expect(generator_output[:stdout]).to include(expected_clusterc2_desc) + end + + it 'should generate correctly all the commands to update OAR' do + + uri = URI(conf["uri"]) + + response = Net::HTTP.get(uri) + + expect(response).to be_an_instance_of(String) + + options = { + :table => false, + :print => true, + :update => false, + :diff => false, + :site => "fakesite", + :clusters => ["clusterc"] + } + + expected_header = <<-TXT +############################################# +# Create OAR properties that were created by 'oar_resources_add' +############################################# +property_exist 'host' || oarproperty -a host --varchar +property_exist 'cpu' || oarproperty -a cpu +property_exist 'core' || oarproperty -a core +property_exist 'gpudevice' || oarproperty -a gpudevice +property_exist 'gpu' || oarproperty -a gpu +property_exist 'gpu_model' || oarproperty -a gpu_model --varchar +TXT + + expected_clusterc1_cmds = <<-TXT +################################### +# clusterc-1.fakesite.grid5000.fr +################################### +oarnodesetting --sql "host='clusterc-1.fakesite.grid5000.fr' AND resource_id='1' AND type='default'" -p cpu=1 -p core=1 -p cpuset=0 +oarnodesetting --sql "host='clusterc-1.fakesite.grid5000.fr' AND resource_id='2' AND type='default'" -p cpu=1 -p core=2 -p cpuset=1 +oarnodesetting --sql "host='clusterc-1.fakesite.grid5000.fr' AND resource_id='3' AND type='default'" -p cpu=1 -p core=3 -p cpuset=2 +TXT + + expected_clusterc2_cmds = <<-TXT +oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' AND resource_id='32' AND type='default'" -p cpu=4 -p core=29 -p cpuset=12 +oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' AND resource_id='33' AND type='default'" -p cpu=4 -p core=30 -p cpuset=13 +oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' AND resource_id='34' AND type='default'" -p cpu=4 -p core=31 -p cpuset=14 +oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' AND resource_id='35' AND type='default'" -p cpu=4 -p core=32 -p cpuset=15 +TXT + expected_clusterc3_cmds = <<-TXT +oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' and type='default'" -p ip='172.16.64.2' -p cluster='clusterc' -p nodemodel='Dell PowerEdge T640' -p virtual='ivt' -p cpuarch='x86_64' -p cpucore=8 -p cputype='Intel Xeon Silver 4110' -p cpufreq='2.1' -p disktype='SATA' -p eth_count=1 -p eth_rate=10 -p ib_count=0 -p ib_rate=0 -p ib='NO' -p opa_count=0 -p opa_rate=0 -p opa='NO' -p myri_count=0 -p myri_rate=0 -p myri='NO' -p memcore=8192 -p memcpu=65536 -p memnode=131072 -p gpu_count=0 -p mic='NO' -p wattmeter='MULTIPLE' -p cluster_priority=201906 -p max_walltime=86400 -p production='YES' -p maintenance='NO' -p disk_reservation_count=3 +TXT + + generator_output = capture do + generate_oar_properties(options) + end + + expect(generator_output[:stdout]).to include(expected_header) + expect(generator_output[:stdout]).to include(expected_clusterc1_cmds) + expect(generator_output[:stdout]).to include(expected_clusterc2_cmds) + expect(generator_output[:stdout]).to include(expected_clusterc3_cmds) + end + + it 'should generate correctly a diff with the OAR server' do + + uri = URI(conf["uri"]) + + response = Net::HTTP.get(uri) + + expect(response).to be_an_instance_of(String) + + options = { + :table => false, + :print => false, + :update => false, + :diff => true, + :site => "fakesite", + :clusters => ["clusterc"], + :verbose => 2 + } + + expected_clusterc1_diff = <<-TXT +Output format: [ '-', 'key', 'value'] for missing, [ '+', 'key', 'value'] for added, ['~', 'key', 'old value', 'new value'] for changed + clusterc-1: OK + clusterc-2: OK + ["clusterc-1", "sdb.clusterc-1"]: OK + ["clusterc-1", "sdc.clusterc-1"]: OK + ["clusterc-1", "sdd.clusterc-1"]: OK + ["clusterc-2", "sdb.clusterc-2"]: OK + ["clusterc-2", "sdc.clusterc-2"]: OK + ["clusterc-2", "sdd.clusterc-2"]: OK +TXT + + + generator_output = capture do + generate_oar_properties(options) + end + + expect(generator_output[:stdout]).to include(expected_clusterc1_diff) + end + end end diff --git a/spec/stub_oar_properties/dump_oar_api_configured_server_without_gpu.json b/spec/stub_oar_properties/dump_oar_api_configured_server_without_gpu.json new file mode 100644 index 00000000000..83e5bd6b141 --- /dev/null +++ b/spec/stub_oar_properties/dump_oar_api_configured_server_without_gpu.json @@ -0,0 +1,2978 @@ +{ + "links" : [ + { + "href" : "//oarapi/resources/details.json?limit=999999&offset=0", + "rel" : "self" + } + ], + "total" : 38, + "offset" : 0, + "items" : [ + { + "opa" : "NO", + "myri_count" : 0, + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "api_timestamp" : 1569605253, + "cpuset" : 0, + "ib_count" : 0, + "state" : "Alive", + "cpuarch" : "x86_64", + "eth_rate" : 10, + "nodemodel" : "Dell PowerEdge T640", + "gpu" : null, + "max_walltime" : 86400, + "besteffort" : "YES", + "host" : "clusterc-1.fakesite.grid5000.fr", + "maintenance" : "NO", + "cpucore" : 8, + "gpu_model" : null, + "opa_rate" : 0, + "state_num" : 1, + "myri" : "NO", + "disktype" : "SATA", + "myri_rate" : 0, + "next_finaud_decision" : "NO", + "cpu" : 1, + "drain" : "NO", + "core" : 1, + "scheduler_priority" : 0, + "type" : "default", + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "eth_count" : 1, + "finaud_decision" : "NO", + "last_available_upto" : 0, + "expiry_date" : 0, + "ip" : "172.16.64.1", + "suspended_jobs" : "NO", + "available_upto" : 2147483647, + "deploy" : "NO", + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-1.fakesite.grid5000.fr", + "rel" : "member", + "title" : "node" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/1" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/1/jobs" + } + ], + "last_job_date" : 0, + "id" : 1, + "memnode" : 131072, + "cluster_priority" : 201906, + "disk" : null, + "switch" : null, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "memcore" : 8192, + "diskpath" : null, + "virtual" : "ivt", + "network_address" : "clusterc-1.fakesite.grid5000.fr", + "ib_rate" : 0, + "mic" : "NO", + "gpudevice" : null, + "desktop_computing" : "NO", + "next_state" : "UnChanged", + "memcpu" : 65536, + "opa_count" : 0, + "production" : "YES", + "ib" : "NO" + }, + { + "cpu" : 1, + "next_finaud_decision" : "NO", + "scheduler_priority" : 0, + "type" : "default", + "core" : 2, + "drain" : "NO", + "disktype" : "SATA", + "myri" : "NO", + "myri_rate" : 0, + "last_available_upto" : 0, + "expiry_date" : 0, + "disk_reservation_count" : 3, + "cpufreq" : "2.1", + "finaud_decision" : "NO", + "eth_count" : 1, + "state" : "Alive", + "ib_count" : 0, + "cpuset" : 1, + "eth_rate" : 10, + "cpuarch" : "x86_64", + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "myri_count" : 0, + "opa" : "NO", + "api_timestamp" : 1569605253, + "maintenance" : "NO", + "gpu_model" : null, + "host" : "clusterc-1.fakesite.grid5000.fr", + "cpucore" : 8, + "besteffort" : "YES", + "state_num" : 1, + "opa_rate" : 0, + "gpu" : null, + "max_walltime" : 86400, + "nodemodel" : "Dell PowerEdge T640", + "gpudevice" : null, + "desktop_computing" : "NO", + "mic" : "NO", + "ib_rate" : 0, + "network_address" : "clusterc-1.fakesite.grid5000.fr", + "virtual" : "ivt", + "ib" : "NO", + "production" : "YES", + "memcpu" : 65536, + "next_state" : "UnChanged", + "opa_count" : 0, + "id" : 2, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-1.fakesite.grid5000.fr", + "rel" : "member", + "title" : "node" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/2" + }, + { + "href" : "//oarapi/resources/2/jobs", + "title" : "jobs", + "rel" : "collection" + } + ], + "last_job_date" : 0, + "memnode" : 131072, + "cluster_priority" : 201906, + "ip" : "172.16.64.1", + "available_upto" : 2147483647, + "deploy" : "NO", + "suspended_jobs" : "NO", + "memcore" : 8192, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "diskpath" : null, + "disk" : null, + "switch" : null + }, + { + "disk" : null, + "switch" : null, + "memcore" : 8192, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "diskpath" : null, + "ip" : "172.16.64.1", + "deploy" : "NO", + "available_upto" : 2147483647, + "suspended_jobs" : "NO", + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/clusterc-1.fakesite.grid5000.fr" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/3" + }, + { + "href" : "//oarapi/resources/3/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "id" : 3, + "last_job_date" : 0, + "cluster_priority" : 201906, + "memnode" : 131072, + "next_state" : "UnChanged", + "memcpu" : 65536, + "opa_count" : 0, + "ib" : "NO", + "production" : "YES", + "ib_rate" : 0, + "virtual" : "ivt", + "network_address" : "clusterc-1.fakesite.grid5000.fr", + "desktop_computing" : "NO", + "gpudevice" : null, + "mic" : "NO", + "gpu" : null, + "max_walltime" : 86400, + "nodemodel" : "Dell PowerEdge T640", + "gpu_model" : null, + "maintenance" : "NO", + "host" : "clusterc-1.fakesite.grid5000.fr", + "cpucore" : 8, + "besteffort" : "YES", + "state_num" : 1, + "opa_rate" : 0, + "cputype" : "Intel Xeon Silver 4110", + "cluster" : "clusterc", + "opa" : "NO", + "myri_count" : 0, + "api_timestamp" : 1569605253, + "state" : "Alive", + "ib_count" : 0, + "cpuset" : 2, + "cpuarch" : "x86_64", + "eth_rate" : 10, + "disk_reservation_count" : 3, + "cpufreq" : "2.1", + "finaud_decision" : "NO", + "eth_count" : 1, + "last_available_upto" : 0, + "expiry_date" : 0, + "disktype" : "SATA", + "myri" : "NO", + "myri_rate" : 0, + "cpu" : 1, + "next_finaud_decision" : "NO", + "scheduler_priority" : 0, + "type" : "default", + "drain" : "NO", + "core" : 3 + }, + { + "cluster_priority" : 201906, + "memnode" : 131072, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-1.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/4" + }, + { + "href" : "//oarapi/resources/4/jobs", + "title" : "jobs", + "rel" : "collection" + } + ], + "last_job_date" : 0, + "id" : 4, + "available_upto" : 2147483647, + "deploy" : "NO", + "suspended_jobs" : "NO", + "ip" : "172.16.64.1", + "diskpath" : null, + "memcore" : 8192, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "switch" : null, + "disk" : null, + "gpudevice" : null, + "desktop_computing" : "NO", + "mic" : "NO", + "ib_rate" : 0, + "network_address" : "clusterc-1.fakesite.grid5000.fr", + "virtual" : "ivt", + "production" : "YES", + "ib" : "NO", + "opa_count" : 0, + "next_state" : "UnChanged", + "memcpu" : 65536, + "cpuarch" : "x86_64", + "eth_rate" : 10, + "state" : "Alive", + "ib_count" : 0, + "cpuset" : 3, + "api_timestamp" : 1569605253, + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "opa" : "NO", + "myri_count" : 0, + "state_num" : 1, + "opa_rate" : 0, + "maintenance" : "NO", + "host" : "clusterc-1.fakesite.grid5000.fr", + "gpu_model" : null, + "cpucore" : 8, + "besteffort" : "YES", + "gpu" : null, + "max_walltime" : 86400, + "nodemodel" : "Dell PowerEdge T640", + "type" : "default", + "scheduler_priority" : 0, + "core" : 4, + "drain" : "NO", + "cpu" : 1, + "next_finaud_decision" : "NO", + "myri_rate" : 0, + "disktype" : "SATA", + "myri" : "NO", + "expiry_date" : 0, + "last_available_upto" : 0, + "finaud_decision" : "NO", + "eth_count" : 1, + "disk_reservation_count" : 3, + "cpufreq" : "2.1" + }, + { + "finaud_decision" : "NO", + "eth_count" : 1, + "disk_reservation_count" : 3, + "cpufreq" : "2.1", + "expiry_date" : 0, + "last_available_upto" : 0, + "myri_rate" : 0, + "disktype" : "SATA", + "myri" : "NO", + "scheduler_priority" : 0, + "type" : "default", + "drain" : "NO", + "core" : 5, + "next_finaud_decision" : "NO", + "cpu" : 1, + "gpu" : null, + "max_walltime" : 86400, + "nodemodel" : "Dell PowerEdge T640", + "state_num" : 1, + "opa_rate" : 0, + "host" : "clusterc-1.fakesite.grid5000.fr", + "maintenance" : "NO", + "cpucore" : 8, + "gpu_model" : null, + "besteffort" : "YES", + "api_timestamp" : 1569605253, + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "myri_count" : 0, + "opa" : "NO", + "eth_rate" : 10, + "cpuarch" : "x86_64", + "state" : "Alive", + "ib_count" : 0, + "cpuset" : 4, + "opa_count" : 0, + "next_state" : "UnChanged", + "memcpu" : 65536, + "ib" : "NO", + "production" : "YES", + "ib_rate" : 0, + "virtual" : "ivt", + "network_address" : "clusterc-1.fakesite.grid5000.fr", + "gpudevice" : null, + "desktop_computing" : "NO", + "mic" : "NO", + "switch" : null, + "disk" : null, + "diskpath" : null, + "memcore" : 8192, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "deploy" : "NO", + "available_upto" : 2147483647, + "suspended_jobs" : "NO", + "ip" : "172.16.64.1", + "memnode" : 131072, + "cluster_priority" : 201906, + "last_job_date" : 0, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-1.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/5" + }, + { + "title" : "jobs", + "rel" : "collection", + "href" : "//oarapi/resources/5/jobs" + } + ], + "id" : 5 + }, + { + "besteffort" : "YES", + "host" : "clusterc-1.fakesite.grid5000.fr", + "maintenance" : "NO", + "gpu_model" : null, + "cpucore" : 8, + "opa_rate" : 0, + "state_num" : 1, + "nodemodel" : "Dell PowerEdge T640", + "gpu" : null, + "max_walltime" : 86400, + "cpuset" : 5, + "ib_count" : 0, + "state" : "Alive", + "eth_rate" : 10, + "cpuarch" : "x86_64", + "opa" : "NO", + "myri_count" : 0, + "cputype" : "Intel Xeon Silver 4110", + "cluster" : "clusterc", + "api_timestamp" : 1569605253, + "last_available_upto" : 0, + "expiry_date" : 0, + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "eth_count" : 1, + "finaud_decision" : "NO", + "cpu" : 1, + "next_finaud_decision" : "NO", + "core" : 6, + "drain" : "NO", + "type" : "default", + "scheduler_priority" : 0, + "myri" : "NO", + "disktype" : "SATA", + "myri_rate" : 0, + "wattmeter" : "MULTIPLE", + "gpu_count" : 0, + "memcore" : 8192, + "diskpath" : null, + "disk" : null, + "switch" : null, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-1.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "href" : "//oarapi/resources/6", + "rel" : "self" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/6/jobs" + } + ], + "last_job_date" : 0, + "id" : 6, + "cluster_priority" : 201906, + "memnode" : 131072, + "ip" : "172.16.64.1", + "suspended_jobs" : "NO", + "available_upto" : 2147483647, + "deploy" : "NO", + "ib" : "NO", + "production" : "YES", + "next_state" : "UnChanged", + "memcpu" : 65536, + "opa_count" : 0, + "mic" : "NO", + "gpudevice" : null, + "desktop_computing" : "NO", + "virtual" : "ivt", + "network_address" : "clusterc-1.fakesite.grid5000.fr", + "ib_rate" : 0 + }, + { + "next_state" : "UnChanged", + "memcpu" : 65536, + "opa_count" : 0, + "ib" : "NO", + "production" : "YES", + "ib_rate" : 0, + "virtual" : "ivt", + "network_address" : "clusterc-1.fakesite.grid5000.fr", + "desktop_computing" : "NO", + "gpudevice" : null, + "mic" : "NO", + "disk" : null, + "switch" : null, + "memcore" : 8192, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "diskpath" : null, + "ip" : "172.16.64.1", + "available_upto" : 2147483647, + "deploy" : "NO", + "suspended_jobs" : "NO", + "last_job_date" : 0, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-1.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/7" + }, + { + "href" : "//oarapi/resources/7/jobs", + "title" : "jobs", + "rel" : "collection" + } + ], + "id" : 7, + "cluster_priority" : 201906, + "memnode" : 131072, + "disk_reservation_count" : 3, + "cpufreq" : "2.1", + "finaud_decision" : "NO", + "eth_count" : 1, + "last_available_upto" : 0, + "expiry_date" : 0, + "myri" : "NO", + "disktype" : "SATA", + "myri_rate" : 0, + "cpu" : 1, + "next_finaud_decision" : "NO", + "scheduler_priority" : 0, + "type" : "default", + "drain" : "NO", + "core" : 7, + "gpu" : null, + "max_walltime" : 86400, + "nodemodel" : "Dell PowerEdge T640", + "gpu_model" : null, + "maintenance" : "NO", + "host" : "clusterc-1.fakesite.grid5000.fr", + "cpucore" : 8, + "besteffort" : "YES", + "state_num" : 1, + "opa_rate" : 0, + "cputype" : "Intel Xeon Silver 4110", + "cluster" : "clusterc", + "opa" : "NO", + "myri_count" : 0, + "api_timestamp" : 1569605253, + "ib_count" : 0, + "state" : "Alive", + "cpuset" : 6, + "cpuarch" : "x86_64", + "eth_rate" : 10 + }, + { + "cputype" : "Intel Xeon Silver 4110", + "cluster" : "clusterc", + "myri_count" : 0, + "opa" : "NO", + "api_timestamp" : 1569605253, + "state" : "Alive", + "ib_count" : 0, + "cpuset" : 7, + "cpuarch" : "x86_64", + "eth_rate" : 10, + "gpu" : null, + "max_walltime" : 86400, + "nodemodel" : "Dell PowerEdge T640", + "maintenance" : "NO", + "cpucore" : 8, + "host" : "clusterc-1.fakesite.grid5000.fr", + "gpu_model" : null, + "besteffort" : "YES", + "state_num" : 1, + "opa_rate" : 0, + "myri" : "NO", + "disktype" : "SATA", + "myri_rate" : 0, + "cpu" : 1, + "next_finaud_decision" : "NO", + "type" : "default", + "scheduler_priority" : 0, + "drain" : "NO", + "core" : 8, + "disk_reservation_count" : 3, + "cpufreq" : "2.1", + "finaud_decision" : "NO", + "eth_count" : 1, + "last_available_upto" : 0, + "expiry_date" : 0, + "ip" : "172.16.64.1", + "available_upto" : 2147483647, + "deploy" : "NO", + "suspended_jobs" : "NO", + "id" : 8, + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/clusterc-1.fakesite.grid5000.fr" + }, + { + "href" : "//oarapi/resources/8", + "rel" : "self" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/8/jobs" + } + ], + "last_job_date" : 0, + "memnode" : 131072, + "cluster_priority" : 201906, + "disk" : null, + "switch" : null, + "memcore" : 8192, + "wattmeter" : "MULTIPLE", + "gpu_count" : 0, + "diskpath" : null, + "ib_rate" : 0, + "network_address" : "clusterc-1.fakesite.grid5000.fr", + "virtual" : "ivt", + "gpudevice" : null, + "desktop_computing" : "NO", + "mic" : "NO", + "next_state" : "UnChanged", + "memcpu" : 65536, + "opa_count" : 0, + "production" : "YES", + "ib" : "NO" + }, + { + "production" : "YES", + "ib" : "NO", + "opa_count" : 0, + "next_state" : "UnChanged", + "memcpu" : 65536, + "mic" : "NO", + "gpudevice" : null, + "desktop_computing" : "NO", + "virtual" : "ivt", + "network_address" : "clusterc-1.fakesite.grid5000.fr", + "ib_rate" : 0, + "diskpath" : null, + "wattmeter" : "MULTIPLE", + "gpu_count" : 0, + "memcore" : 8192, + "switch" : null, + "disk" : null, + "cluster_priority" : 201906, + "memnode" : 131072, + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/clusterc-1.fakesite.grid5000.fr" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/9" + }, + { + "href" : "//oarapi/resources/9/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "last_job_date" : 0, + "id" : 9, + "suspended_jobs" : "NO", + "available_upto" : 2147483647, + "deploy" : "NO", + "ip" : "172.16.64.1", + "expiry_date" : 0, + "last_available_upto" : 0, + "eth_count" : 1, + "finaud_decision" : "NO", + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "core" : 9, + "drain" : "NO", + "scheduler_priority" : 0, + "type" : "default", + "next_finaud_decision" : "NO", + "cpu" : 2, + "myri_rate" : 0, + "myri" : "NO", + "disktype" : "SATA", + "opa_rate" : 0, + "state_num" : 1, + "besteffort" : "YES", + "maintenance" : "NO", + "host" : "clusterc-1.fakesite.grid5000.fr", + "cpucore" : 8, + "gpu_model" : null, + "nodemodel" : "Dell PowerEdge T640", + "gpu" : null, + "max_walltime" : 86400, + "cpuarch" : "x86_64", + "eth_rate" : 10, + "cpuset" : 8, + "ib_count" : 0, + "state" : "Alive", + "api_timestamp" : 1569605253, + "myri_count" : 0, + "opa" : "NO", + "cputype" : "Intel Xeon Silver 4110", + "cluster" : "clusterc" + }, + { + "next_state" : "UnChanged", + "memcpu" : 65536, + "opa_count" : 0, + "ib" : "NO", + "production" : "YES", + "network_address" : "clusterc-1.fakesite.grid5000.fr", + "virtual" : "ivt", + "ib_rate" : 0, + "mic" : "NO", + "gpudevice" : null, + "desktop_computing" : "NO", + "disk" : null, + "switch" : null, + "wattmeter" : "MULTIPLE", + "gpu_count" : 0, + "memcore" : 8192, + "diskpath" : null, + "ip" : "172.16.64.1", + "suspended_jobs" : "NO", + "available_upto" : 2147483647, + "deploy" : "NO", + "last_job_date" : 0, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-1.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "href" : "//oarapi/resources/10", + "rel" : "self" + }, + { + "href" : "//oarapi/resources/10/jobs", + "title" : "jobs", + "rel" : "collection" + } + ], + "id" : 10, + "cluster_priority" : 201906, + "memnode" : 131072, + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "eth_count" : 1, + "finaud_decision" : "NO", + "last_available_upto" : 0, + "expiry_date" : 0, + "disktype" : "SATA", + "myri" : "NO", + "myri_rate" : 0, + "next_finaud_decision" : "NO", + "cpu" : 2, + "drain" : "NO", + "core" : 10, + "type" : "default", + "scheduler_priority" : 0, + "nodemodel" : "Dell PowerEdge T640", + "max_walltime" : 86400, + "gpu" : null, + "besteffort" : "YES", + "maintenance" : "NO", + "host" : "clusterc-1.fakesite.grid5000.fr", + "gpu_model" : null, + "cpucore" : 8, + "opa_rate" : 0, + "state_num" : 1, + "myri_count" : 0, + "opa" : "NO", + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "api_timestamp" : 1569605253, + "cpuset" : 9, + "ib_count" : 0, + "state" : "Alive", + "eth_rate" : 10, + "cpuarch" : "x86_64" + }, + { + "cpu" : 2, + "next_finaud_decision" : "NO", + "core" : 11, + "drain" : "NO", + "scheduler_priority" : 0, + "type" : "default", + "myri" : "NO", + "disktype" : "SATA", + "myri_rate" : 0, + "last_available_upto" : 0, + "expiry_date" : 0, + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "eth_count" : 1, + "finaud_decision" : "NO", + "cpuset" : 10, + "state" : "Alive", + "ib_count" : 0, + "eth_rate" : 10, + "cpuarch" : "x86_64", + "opa" : "NO", + "myri_count" : 0, + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "api_timestamp" : 1569605253, + "besteffort" : "YES", + "gpu_model" : null, + "maintenance" : "NO", + "cpucore" : 8, + "host" : "clusterc-1.fakesite.grid5000.fr", + "opa_rate" : 0, + "state_num" : 1, + "nodemodel" : "Dell PowerEdge T640", + "max_walltime" : 86400, + "gpu" : null, + "mic" : "NO", + "gpudevice" : null, + "desktop_computing" : "NO", + "network_address" : "clusterc-1.fakesite.grid5000.fr", + "virtual" : "ivt", + "ib_rate" : 0, + "production" : "YES", + "ib" : "NO", + "next_state" : "UnChanged", + "memcpu" : 65536, + "opa_count" : 0, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-1.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/11" + }, + { + "href" : "//oarapi/resources/11/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "last_job_date" : 0, + "id" : 11, + "cluster_priority" : 201906, + "memnode" : 131072, + "ip" : "172.16.64.1", + "suspended_jobs" : "NO", + "deploy" : "NO", + "available_upto" : 2147483647, + "wattmeter" : "MULTIPLE", + "gpu_count" : 0, + "memcore" : 8192, + "diskpath" : null, + "disk" : null, + "switch" : null + }, + { + "myri_rate" : 0, + "myri" : "NO", + "disktype" : "SATA", + "drain" : "NO", + "core" : 12, + "scheduler_priority" : 0, + "type" : "default", + "next_finaud_decision" : "NO", + "cpu" : 2, + "eth_count" : 1, + "finaud_decision" : "NO", + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "expiry_date" : 0, + "last_available_upto" : 0, + "api_timestamp" : 1569605253, + "myri_count" : 0, + "opa" : "NO", + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "cpuarch" : "x86_64", + "eth_rate" : 10, + "cpuset" : 11, + "ib_count" : 0, + "state" : "Alive", + "nodemodel" : "Dell PowerEdge T640", + "max_walltime" : 86400, + "gpu" : null, + "opa_rate" : 0, + "state_num" : 1, + "besteffort" : "YES", + "maintenance" : "NO", + "host" : "clusterc-1.fakesite.grid5000.fr", + "gpu_model" : null, + "cpucore" : 8, + "virtual" : "ivt", + "network_address" : "clusterc-1.fakesite.grid5000.fr", + "ib_rate" : 0, + "mic" : "NO", + "desktop_computing" : "NO", + "gpudevice" : null, + "opa_count" : 0, + "memcpu" : 65536, + "next_state" : "UnChanged", + "ib" : "NO", + "production" : "YES", + "suspended_jobs" : "NO", + "available_upto" : 2147483647, + "deploy" : "NO", + "ip" : "172.16.64.1", + "memnode" : 131072, + "cluster_priority" : 201906, + "id" : 12, + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/clusterc-1.fakesite.grid5000.fr" + }, + { + "href" : "//oarapi/resources/12", + "rel" : "self" + }, + { + "title" : "jobs", + "rel" : "collection", + "href" : "//oarapi/resources/12/jobs" + } + ], + "last_job_date" : 0, + "switch" : null, + "disk" : null, + "diskpath" : null, + "wattmeter" : "MULTIPLE", + "gpu_count" : 0, + "memcore" : 8192 + }, + { + "expiry_date" : 0, + "last_available_upto" : 0, + "eth_count" : 1, + "finaud_decision" : "NO", + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "core" : 13, + "drain" : "NO", + "scheduler_priority" : 0, + "type" : "default", + "cpu" : 2, + "next_finaud_decision" : "NO", + "myri_rate" : 0, + "disktype" : "SATA", + "myri" : "NO", + "opa_rate" : 0, + "state_num" : 1, + "besteffort" : "YES", + "host" : "clusterc-1.fakesite.grid5000.fr", + "maintenance" : "NO", + "gpu_model" : null, + "cpucore" : 8, + "nodemodel" : "Dell PowerEdge T640", + "gpu" : null, + "max_walltime" : 86400, + "eth_rate" : 10, + "cpuarch" : "x86_64", + "cpuset" : 12, + "ib_count" : 0, + "state" : "Alive", + "api_timestamp" : 1569605253, + "opa" : "NO", + "myri_count" : 0, + "cputype" : "Intel Xeon Silver 4110", + "cluster" : "clusterc", + "ib" : "NO", + "production" : "YES", + "opa_count" : 0, + "next_state" : "UnChanged", + "memcpu" : 65536, + "mic" : "NO", + "desktop_computing" : "NO", + "gpudevice" : null, + "network_address" : "clusterc-1.fakesite.grid5000.fr", + "virtual" : "ivt", + "ib_rate" : 0, + "diskpath" : null, + "wattmeter" : "MULTIPLE", + "gpu_count" : 0, + "memcore" : 8192, + "switch" : null, + "disk" : null, + "cluster_priority" : 201906, + "memnode" : 131072, + "last_job_date" : 0, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-1.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/13" + }, + { + "title" : "jobs", + "rel" : "collection", + "href" : "//oarapi/resources/13/jobs" + } + ], + "id" : 13, + "suspended_jobs" : "NO", + "available_upto" : 2147483647, + "deploy" : "NO", + "ip" : "172.16.64.1" + }, + { + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "opa" : "NO", + "myri_count" : 0, + "api_timestamp" : 1569605253, + "state" : "Alive", + "ib_count" : 0, + "cpuset" : 13, + "cpuarch" : "x86_64", + "eth_rate" : 10, + "max_walltime" : 86400, + "gpu" : null, + "nodemodel" : "Dell PowerEdge T640", + "host" : "clusterc-1.fakesite.grid5000.fr", + "maintenance" : "NO", + "gpu_model" : null, + "cpucore" : 8, + "besteffort" : "YES", + "state_num" : 1, + "opa_rate" : 0, + "myri" : "NO", + "disktype" : "SATA", + "myri_rate" : 0, + "next_finaud_decision" : "NO", + "cpu" : 2, + "scheduler_priority" : 0, + "type" : "default", + "core" : 14, + "drain" : "NO", + "disk_reservation_count" : 3, + "cpufreq" : "2.1", + "finaud_decision" : "NO", + "eth_count" : 1, + "last_available_upto" : 0, + "expiry_date" : 0, + "ip" : "172.16.64.1", + "available_upto" : 2147483647, + "deploy" : "NO", + "suspended_jobs" : "NO", + "links" : [ + { + "title" : "node", + "rel" : "member", + "href" : "//oarapi/resources/nodes/clusterc-1.fakesite.grid5000.fr" + }, + { + "href" : "//oarapi/resources/14", + "rel" : "self" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/14/jobs" + } + ], + "last_job_date" : 0, + "id" : 14, + "memnode" : 131072, + "cluster_priority" : 201906, + "disk" : null, + "switch" : null, + "memcore" : 8192, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "diskpath" : null, + "ib_rate" : 0, + "network_address" : "clusterc-1.fakesite.grid5000.fr", + "virtual" : "ivt", + "gpudevice" : null, + "desktop_computing" : "NO", + "mic" : "NO", + "memcpu" : 65536, + "next_state" : "UnChanged", + "opa_count" : 0, + "production" : "YES", + "ib" : "NO" + }, + { + "besteffort" : "YES", + "maintenance" : "NO", + "host" : "clusterc-1.fakesite.grid5000.fr", + "cpucore" : 8, + "gpu_model" : null, + "opa_rate" : 0, + "state_num" : 1, + "nodemodel" : "Dell PowerEdge T640", + "max_walltime" : 86400, + "gpu" : null, + "cpuset" : 14, + "ib_count" : 0, + "state" : "Alive", + "cpuarch" : "x86_64", + "eth_rate" : 10, + "myri_count" : 0, + "opa" : "NO", + "cputype" : "Intel Xeon Silver 4110", + "cluster" : "clusterc", + "api_timestamp" : 1569605253, + "last_available_upto" : 0, + "expiry_date" : 0, + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "eth_count" : 1, + "finaud_decision" : "NO", + "next_finaud_decision" : "NO", + "cpu" : 2, + "core" : 15, + "drain" : "NO", + "type" : "default", + "scheduler_priority" : 0, + "myri" : "NO", + "disktype" : "SATA", + "myri_rate" : 0, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "memcore" : 8192, + "diskpath" : null, + "disk" : null, + "switch" : null, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-1.fakesite.grid5000.fr", + "rel" : "member", + "title" : "node" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/15" + }, + { + "title" : "jobs", + "rel" : "collection", + "href" : "//oarapi/resources/15/jobs" + } + ], + "last_job_date" : 0, + "id" : 15, + "cluster_priority" : 201906, + "memnode" : 131072, + "ip" : "172.16.64.1", + "suspended_jobs" : "NO", + "deploy" : "NO", + "available_upto" : 2147483647, + "production" : "YES", + "ib" : "NO", + "next_state" : "UnChanged", + "memcpu" : 65536, + "opa_count" : 0, + "mic" : "NO", + "gpudevice" : null, + "desktop_computing" : "NO", + "network_address" : "clusterc-1.fakesite.grid5000.fr", + "virtual" : "ivt", + "ib_rate" : 0 + }, + { + "ib" : "NO", + "production" : "YES", + "next_state" : "UnChanged", + "memcpu" : 65536, + "opa_count" : 0, + "mic" : "NO", + "gpudevice" : null, + "desktop_computing" : "NO", + "virtual" : "ivt", + "network_address" : "clusterc-1.fakesite.grid5000.fr", + "ib_rate" : 0, + "wattmeter" : "MULTIPLE", + "gpu_count" : 0, + "memcore" : 8192, + "diskpath" : null, + "disk" : null, + "switch" : null, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-1.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "href" : "//oarapi/resources/16", + "rel" : "self" + }, + { + "href" : "//oarapi/resources/16/jobs", + "title" : "jobs", + "rel" : "collection" + } + ], + "id" : 16, + "last_job_date" : 0, + "cluster_priority" : 201906, + "memnode" : 131072, + "ip" : "172.16.64.1", + "suspended_jobs" : "NO", + "available_upto" : 2147483647, + "deploy" : "NO", + "last_available_upto" : 0, + "expiry_date" : 0, + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "eth_count" : 1, + "finaud_decision" : "NO", + "next_finaud_decision" : "NO", + "cpu" : 2, + "drain" : "NO", + "core" : 16, + "type" : "default", + "scheduler_priority" : 0, + "myri" : "NO", + "disktype" : "SATA", + "myri_rate" : 0, + "besteffort" : "YES", + "maintenance" : "NO", + "host" : "clusterc-1.fakesite.grid5000.fr", + "gpu_model" : null, + "cpucore" : 8, + "opa_rate" : 0, + "state_num" : 1, + "nodemodel" : "Dell PowerEdge T640", + "max_walltime" : 86400, + "gpu" : null, + "cpuset" : 15, + "ib_count" : 0, + "state" : "Alive", + "cpuarch" : "x86_64", + "eth_rate" : 10, + "opa" : "NO", + "myri_count" : 0, + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "api_timestamp" : 1569605253 + }, + { + "opa_count" : null, + "next_state" : "UnChanged", + "memcpu" : null, + "ib" : null, + "production" : "YES", + "ib_rate" : null, + "virtual" : null, + "network_address" : "", + "gpudevice" : null, + "desktop_computing" : "NO", + "mic" : null, + "switch" : null, + "disk" : "sdb.clusterc-1", + "diskpath" : "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:1:0", + "memcore" : null, + "wattmeter" : null, + "gpu_count" : null, + "deploy" : "YES", + "available_upto" : 0, + "suspended_jobs" : "NO", + "ip" : null, + "memnode" : null, + "cluster_priority" : null, + "links" : [ + { + "href" : "//oarapi/resources/nodes/", + "title" : "node", + "rel" : "member" + }, + { + "href" : "//oarapi/resources/17", + "rel" : "self" + }, + { + "href" : "//oarapi/resources/17/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "id" : 17, + "last_job_date" : 0, + "finaud_decision" : "NO", + "eth_count" : null, + "disk_reservation_count" : null, + "cpufreq" : null, + "expiry_date" : 0, + "last_available_upto" : 0, + "myri_rate" : null, + "myri" : null, + "disktype" : null, + "scheduler_priority" : 0, + "type" : "disk", + "core" : null, + "drain" : "NO", + "cpu" : null, + "next_finaud_decision" : "NO", + "gpu" : null, + "max_walltime" : null, + "nodemodel" : null, + "state_num" : 1, + "opa_rate" : null, + "cpucore" : null, + "maintenance" : "NO", + "host" : "clusterc-1.fakesite.grid5000.fr", + "gpu_model" : null, + "besteffort" : "YES", + "api_timestamp" : 1569605253, + "cputype" : null, + "cluster" : "clusterc", + "myri_count" : null, + "opa" : null, + "eth_rate" : null, + "cpuarch" : null, + "state" : "Alive", + "ib_count" : null, + "cpuset" : -1 + }, + { + "type" : "disk", + "scheduler_priority" : 0, + "core" : null, + "drain" : "NO", + "next_finaud_decision" : "NO", + "cpu" : null, + "myri_rate" : null, + "myri" : null, + "disktype" : null, + "expiry_date" : 0, + "last_available_upto" : 0, + "finaud_decision" : "NO", + "eth_count" : null, + "disk_reservation_count" : null, + "cpufreq" : null, + "cpuarch" : null, + "eth_rate" : null, + "ib_count" : null, + "state" : "Alive", + "cpuset" : -1, + "api_timestamp" : 1569605253, + "cluster" : "clusterc", + "cputype" : null, + "myri_count" : null, + "opa" : null, + "state_num" : 1, + "opa_rate" : null, + "maintenance" : "NO", + "cpucore" : null, + "host" : "clusterc-1.fakesite.grid5000.fr", + "gpu_model" : null, + "besteffort" : "YES", + "gpu" : null, + "max_walltime" : null, + "nodemodel" : null, + "gpudevice" : null, + "desktop_computing" : "NO", + "mic" : null, + "ib_rate" : null, + "network_address" : "", + "virtual" : null, + "production" : "YES", + "ib" : null, + "opa_count" : null, + "memcpu" : null, + "next_state" : "UnChanged", + "memnode" : null, + "cluster_priority" : null, + "last_job_date" : 0, + "links" : [ + { + "href" : "//oarapi/resources/nodes/", + "title" : "node", + "rel" : "member" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/18" + }, + { + "title" : "jobs", + "rel" : "collection", + "href" : "//oarapi/resources/18/jobs" + } + ], + "id" : 18, + "available_upto" : 0, + "deploy" : "YES", + "suspended_jobs" : "NO", + "ip" : null, + "diskpath" : "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:2:0", + "memcore" : null, + "gpu_count" : null, + "wattmeter" : null, + "switch" : null, + "disk" : "sdc.clusterc-1" + }, + { + "expiry_date" : 0, + "last_available_upto" : 0, + "eth_count" : null, + "finaud_decision" : "NO", + "cpufreq" : null, + "disk_reservation_count" : null, + "drain" : "NO", + "core" : null, + "scheduler_priority" : 0, + "type" : "disk", + "next_finaud_decision" : "NO", + "cpu" : null, + "myri_rate" : null, + "disktype" : null, + "myri" : null, + "opa_rate" : null, + "state_num" : 1, + "besteffort" : "YES", + "maintenance" : "NO", + "host" : "clusterc-1.fakesite.grid5000.fr", + "cpucore" : null, + "gpu_model" : null, + "nodemodel" : null, + "max_walltime" : null, + "gpu" : null, + "eth_rate" : null, + "cpuarch" : null, + "cpuset" : -1, + "state" : "Alive", + "ib_count" : null, + "api_timestamp" : 1569605253, + "myri_count" : null, + "opa" : null, + "cputype" : null, + "cluster" : "clusterc", + "ib" : null, + "production" : "YES", + "opa_count" : null, + "next_state" : "UnChanged", + "memcpu" : null, + "mic" : null, + "gpudevice" : null, + "desktop_computing" : "NO", + "network_address" : "", + "virtual" : null, + "ib_rate" : null, + "diskpath" : "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:3:0", + "gpu_count" : null, + "wattmeter" : null, + "memcore" : null, + "switch" : null, + "disk" : "sdd.clusterc-1", + "cluster_priority" : null, + "memnode" : null, + "links" : [ + { + "title" : "node", + "rel" : "member", + "href" : "//oarapi/resources/nodes/" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/19" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/19/jobs" + } + ], + "id" : 19, + "last_job_date" : 0, + "suspended_jobs" : "NO", + "available_upto" : 0, + "deploy" : "YES", + "ip" : null + }, + { + "eth_count" : 1, + "finaud_decision" : "NO", + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "expiry_date" : 0, + "last_available_upto" : 0, + "myri_rate" : 0, + "disktype" : "SATA", + "myri" : "NO", + "drain" : "NO", + "core" : 17, + "type" : "default", + "scheduler_priority" : 0, + "next_finaud_decision" : "NO", + "cpu" : 3, + "nodemodel" : "Dell PowerEdge T640", + "max_walltime" : 86400, + "gpu" : null, + "opa_rate" : 0, + "state_num" : 1, + "besteffort" : "YES", + "maintenance" : "NO", + "cpucore" : 8, + "host" : "clusterc-2.fakesite.grid5000.fr", + "gpu_model" : null, + "api_timestamp" : 1569605253, + "myri_count" : 0, + "opa" : "NO", + "cputype" : "Intel Xeon Silver 4110", + "cluster" : "clusterc", + "eth_rate" : 10, + "cpuarch" : "x86_64", + "cpuset" : 0, + "state" : "Alive", + "ib_count" : 0, + "opa_count" : 0, + "next_state" : "UnChanged", + "memcpu" : 65536, + "production" : "YES", + "ib" : "NO", + "virtual" : "ivt", + "network_address" : "clusterc-2.fakesite.grid5000.fr", + "ib_rate" : 0, + "mic" : "NO", + "gpudevice" : null, + "desktop_computing" : "NO", + "switch" : null, + "disk" : null, + "diskpath" : null, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "memcore" : 8192, + "suspended_jobs" : "NO", + "deploy" : "NO", + "available_upto" : 2147483647, + "ip" : "172.16.64.2", + "cluster_priority" : 201906, + "memnode" : 131072, + "id" : 20, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-2.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "href" : "//oarapi/resources/20", + "rel" : "self" + }, + { + "title" : "jobs", + "rel" : "collection", + "href" : "//oarapi/resources/20/jobs" + } + ], + "last_job_date" : 0 + }, + { + "gpudevice" : null, + "desktop_computing" : "NO", + "mic" : "NO", + "ib_rate" : 0, + "network_address" : "clusterc-2.fakesite.grid5000.fr", + "virtual" : "ivt", + "production" : "YES", + "ib" : "NO", + "next_state" : "UnChanged", + "memcpu" : 65536, + "opa_count" : 0, + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/clusterc-2.fakesite.grid5000.fr" + }, + { + "href" : "//oarapi/resources/21", + "rel" : "self" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/21/jobs" + } + ], + "id" : 21, + "last_job_date" : 0, + "cluster_priority" : 201906, + "memnode" : 131072, + "ip" : "172.16.64.2", + "deploy" : "NO", + "available_upto" : 2147483647, + "suspended_jobs" : "NO", + "memcore" : 8192, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "diskpath" : null, + "disk" : null, + "switch" : null, + "cpu" : 3, + "next_finaud_decision" : "NO", + "type" : "default", + "scheduler_priority" : 0, + "drain" : "NO", + "core" : 18, + "disktype" : "SATA", + "myri" : "NO", + "myri_rate" : 0, + "last_available_upto" : 0, + "expiry_date" : 0, + "disk_reservation_count" : 3, + "cpufreq" : "2.1", + "finaud_decision" : "NO", + "eth_count" : 1, + "state" : "Alive", + "ib_count" : 0, + "cpuset" : 1, + "cpuarch" : "x86_64", + "eth_rate" : 10, + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "myri_count" : 0, + "opa" : "NO", + "api_timestamp" : 1569605253, + "cpucore" : 8, + "maintenance" : "NO", + "host" : "clusterc-2.fakesite.grid5000.fr", + "gpu_model" : null, + "besteffort" : "YES", + "state_num" : 1, + "opa_rate" : 0, + "gpu" : null, + "max_walltime" : 86400, + "nodemodel" : "Dell PowerEdge T640" + }, + { + "ib_rate" : 0, + "virtual" : "ivt", + "network_address" : "clusterc-2.fakesite.grid5000.fr", + "gpudevice" : null, + "desktop_computing" : "NO", + "mic" : "NO", + "opa_count" : 0, + "next_state" : "UnChanged", + "memcpu" : 65536, + "production" : "YES", + "ib" : "NO", + "available_upto" : 2147483647, + "deploy" : "NO", + "suspended_jobs" : "NO", + "ip" : "172.16.64.2", + "cluster_priority" : 201906, + "memnode" : 131072, + "last_job_date" : 0, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-2.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/22" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/22/jobs" + } + ], + "id" : 22, + "switch" : null, + "disk" : null, + "diskpath" : null, + "memcore" : 8192, + "wattmeter" : "MULTIPLE", + "gpu_count" : 0, + "myri_rate" : 0, + "disktype" : "SATA", + "myri" : "NO", + "type" : "default", + "scheduler_priority" : 0, + "core" : 19, + "drain" : "NO", + "next_finaud_decision" : "NO", + "cpu" : 3, + "finaud_decision" : "NO", + "eth_count" : 1, + "disk_reservation_count" : 3, + "cpufreq" : "2.1", + "expiry_date" : 0, + "last_available_upto" : 0, + "api_timestamp" : 1569605253, + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "opa" : "NO", + "myri_count" : 0, + "eth_rate" : 10, + "cpuarch" : "x86_64", + "ib_count" : 0, + "state" : "Alive", + "cpuset" : 2, + "gpu" : null, + "max_walltime" : 86400, + "nodemodel" : "Dell PowerEdge T640", + "state_num" : 1, + "opa_rate" : 0, + "maintenance" : "NO", + "gpu_model" : null, + "host" : "clusterc-2.fakesite.grid5000.fr", + "cpucore" : 8, + "besteffort" : "YES" + }, + { + "gpudevice" : null, + "desktop_computing" : "NO", + "mic" : "NO", + "ib_rate" : 0, + "network_address" : "clusterc-2.fakesite.grid5000.fr", + "virtual" : "ivt", + "production" : "YES", + "ib" : "NO", + "opa_count" : 0, + "memcpu" : 65536, + "next_state" : "UnChanged", + "memnode" : 131072, + "cluster_priority" : 201906, + "last_job_date" : 0, + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/clusterc-2.fakesite.grid5000.fr" + }, + { + "href" : "//oarapi/resources/23", + "rel" : "self" + }, + { + "href" : "//oarapi/resources/23/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "id" : 23, + "available_upto" : 2147483647, + "deploy" : "NO", + "suspended_jobs" : "NO", + "ip" : "172.16.64.2", + "diskpath" : null, + "memcore" : 8192, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "switch" : null, + "disk" : null, + "type" : "default", + "scheduler_priority" : 0, + "core" : 20, + "drain" : "NO", + "cpu" : 3, + "next_finaud_decision" : "NO", + "myri_rate" : 0, + "myri" : "NO", + "disktype" : "SATA", + "expiry_date" : 0, + "last_available_upto" : 0, + "finaud_decision" : "NO", + "eth_count" : 1, + "disk_reservation_count" : 3, + "cpufreq" : "2.1", + "eth_rate" : 10, + "cpuarch" : "x86_64", + "state" : "Alive", + "ib_count" : 0, + "cpuset" : 3, + "api_timestamp" : 1569605253, + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "opa" : "NO", + "myri_count" : 0, + "state_num" : 1, + "opa_rate" : 0, + "maintenance" : "NO", + "gpu_model" : null, + "cpucore" : 8, + "host" : "clusterc-2.fakesite.grid5000.fr", + "besteffort" : "YES", + "max_walltime" : 86400, + "gpu" : null, + "nodemodel" : "Dell PowerEdge T640" + }, + { + "mic" : "NO", + "desktop_computing" : "NO", + "gpudevice" : null, + "network_address" : "clusterc-2.fakesite.grid5000.fr", + "virtual" : "ivt", + "ib_rate" : 0, + "production" : "YES", + "ib" : "NO", + "opa_count" : 0, + "memcpu" : 65536, + "next_state" : "UnChanged", + "memnode" : 131072, + "cluster_priority" : 201906, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-2.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "href" : "//oarapi/resources/24", + "rel" : "self" + }, + { + "href" : "//oarapi/resources/24/jobs", + "title" : "jobs", + "rel" : "collection" + } + ], + "id" : 24, + "last_job_date" : 0, + "suspended_jobs" : "NO", + "available_upto" : 2147483647, + "deploy" : "NO", + "ip" : "172.16.64.2", + "diskpath" : null, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "memcore" : 8192, + "switch" : null, + "disk" : null, + "drain" : "NO", + "core" : 21, + "scheduler_priority" : 0, + "type" : "default", + "next_finaud_decision" : "NO", + "cpu" : 3, + "myri_rate" : 0, + "disktype" : "SATA", + "myri" : "NO", + "expiry_date" : 0, + "last_available_upto" : 0, + "eth_count" : 1, + "finaud_decision" : "NO", + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "eth_rate" : 10, + "cpuarch" : "x86_64", + "cpuset" : 4, + "state" : "Alive", + "ib_count" : 0, + "api_timestamp" : 1569605253, + "opa" : "NO", + "myri_count" : 0, + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "opa_rate" : 0, + "state_num" : 1, + "besteffort" : "YES", + "host" : "clusterc-2.fakesite.grid5000.fr", + "maintenance" : "NO", + "cpucore" : 8, + "gpu_model" : null, + "nodemodel" : "Dell PowerEdge T640", + "max_walltime" : 86400, + "gpu" : null + }, + { + "ib_rate" : 0, + "virtual" : "ivt", + "network_address" : "clusterc-2.fakesite.grid5000.fr", + "gpudevice" : null, + "desktop_computing" : "NO", + "mic" : "NO", + "next_state" : "UnChanged", + "memcpu" : 65536, + "opa_count" : 0, + "ib" : "NO", + "production" : "YES", + "ip" : "172.16.64.2", + "deploy" : "NO", + "available_upto" : 2147483647, + "suspended_jobs" : "NO", + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/clusterc-2.fakesite.grid5000.fr" + }, + { + "href" : "//oarapi/resources/25", + "rel" : "self" + }, + { + "href" : "//oarapi/resources/25/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "last_job_date" : 0, + "id" : 25, + "cluster_priority" : 201906, + "memnode" : 131072, + "disk" : null, + "switch" : null, + "memcore" : 8192, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "diskpath" : null, + "disktype" : "SATA", + "myri" : "NO", + "myri_rate" : 0, + "cpu" : 3, + "next_finaud_decision" : "NO", + "type" : "default", + "scheduler_priority" : 0, + "core" : 22, + "drain" : "NO", + "disk_reservation_count" : 3, + "cpufreq" : "2.1", + "finaud_decision" : "NO", + "eth_count" : 1, + "last_available_upto" : 0, + "expiry_date" : 0, + "cputype" : "Intel Xeon Silver 4110", + "cluster" : "clusterc", + "myri_count" : 0, + "opa" : "NO", + "api_timestamp" : 1569605253, + "ib_count" : 0, + "state" : "Alive", + "cpuset" : 5, + "cpuarch" : "x86_64", + "eth_rate" : 10, + "max_walltime" : 86400, + "gpu" : null, + "nodemodel" : "Dell PowerEdge T640", + "maintenance" : "NO", + "cpucore" : 8, + "host" : "clusterc-2.fakesite.grid5000.fr", + "gpu_model" : null, + "besteffort" : "YES", + "state_num" : 1, + "opa_rate" : 0 + }, + { + "disk" : null, + "switch" : null, + "memcore" : 8192, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "diskpath" : null, + "ip" : "172.16.64.2", + "deploy" : "NO", + "available_upto" : 2147483647, + "suspended_jobs" : "NO", + "id" : 26, + "links" : [ + { + "title" : "node", + "rel" : "member", + "href" : "//oarapi/resources/nodes/clusterc-2.fakesite.grid5000.fr" + }, + { + "href" : "//oarapi/resources/26", + "rel" : "self" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/26/jobs" + } + ], + "last_job_date" : 0, + "cluster_priority" : 201906, + "memnode" : 131072, + "memcpu" : 65536, + "next_state" : "UnChanged", + "opa_count" : 0, + "production" : "YES", + "ib" : "NO", + "ib_rate" : 0, + "virtual" : "ivt", + "network_address" : "clusterc-2.fakesite.grid5000.fr", + "desktop_computing" : "NO", + "gpudevice" : null, + "mic" : "NO", + "max_walltime" : 86400, + "gpu" : null, + "nodemodel" : "Dell PowerEdge T640", + "gpu_model" : null, + "maintenance" : "NO", + "host" : "clusterc-2.fakesite.grid5000.fr", + "cpucore" : 8, + "besteffort" : "YES", + "state_num" : 1, + "opa_rate" : 0, + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "myri_count" : 0, + "opa" : "NO", + "api_timestamp" : 1569605253, + "ib_count" : 0, + "state" : "Alive", + "cpuset" : 6, + "eth_rate" : 10, + "cpuarch" : "x86_64", + "disk_reservation_count" : 3, + "cpufreq" : "2.1", + "finaud_decision" : "NO", + "eth_count" : 1, + "last_available_upto" : 0, + "expiry_date" : 0, + "myri" : "NO", + "disktype" : "SATA", + "myri_rate" : 0, + "next_finaud_decision" : "NO", + "cpu" : 3, + "scheduler_priority" : 0, + "type" : "default", + "core" : 23, + "drain" : "NO" + }, + { + "nodemodel" : "Dell PowerEdge T640", + "gpu" : null, + "max_walltime" : 86400, + "opa_rate" : 0, + "state_num" : 1, + "besteffort" : "YES", + "maintenance" : "NO", + "gpu_model" : null, + "host" : "clusterc-2.fakesite.grid5000.fr", + "cpucore" : 8, + "api_timestamp" : 1569605253, + "opa" : "NO", + "myri_count" : 0, + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "eth_rate" : 10, + "cpuarch" : "x86_64", + "cpuset" : 7, + "ib_count" : 0, + "state" : "Alive", + "eth_count" : 1, + "finaud_decision" : "NO", + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "expiry_date" : 0, + "last_available_upto" : 0, + "myri_rate" : 0, + "myri" : "NO", + "disktype" : "SATA", + "core" : 24, + "drain" : "NO", + "scheduler_priority" : 0, + "type" : "default", + "next_finaud_decision" : "NO", + "cpu" : 3, + "switch" : null, + "disk" : null, + "diskpath" : null, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "memcore" : 8192, + "suspended_jobs" : "NO", + "available_upto" : 2147483647, + "deploy" : "NO", + "ip" : "172.16.64.2", + "cluster_priority" : 201906, + "memnode" : 131072, + "last_job_date" : 0, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-2.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/27" + }, + { + "href" : "//oarapi/resources/27/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "id" : 27, + "opa_count" : 0, + "next_state" : "UnChanged", + "memcpu" : 65536, + "production" : "YES", + "ib" : "NO", + "network_address" : "clusterc-2.fakesite.grid5000.fr", + "virtual" : "ivt", + "ib_rate" : 0, + "mic" : "NO", + "gpudevice" : null, + "desktop_computing" : "NO" + }, + { + "disktype" : "SATA", + "myri" : "NO", + "myri_rate" : 0, + "cpu" : 4, + "next_finaud_decision" : "NO", + "drain" : "NO", + "core" : 25, + "type" : "default", + "scheduler_priority" : 0, + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "eth_count" : 1, + "finaud_decision" : "NO", + "last_available_upto" : 0, + "expiry_date" : 0, + "myri_count" : 0, + "opa" : "NO", + "cputype" : "Intel Xeon Silver 4110", + "cluster" : "clusterc", + "api_timestamp" : 1569605253, + "cpuset" : 8, + "ib_count" : 0, + "state" : "Alive", + "cpuarch" : "x86_64", + "eth_rate" : 10, + "nodemodel" : "Dell PowerEdge T640", + "gpu" : null, + "max_walltime" : 86400, + "besteffort" : "YES", + "host" : "clusterc-2.fakesite.grid5000.fr", + "maintenance" : "NO", + "gpu_model" : null, + "cpucore" : 8, + "opa_rate" : 0, + "state_num" : 1, + "virtual" : "ivt", + "network_address" : "clusterc-2.fakesite.grid5000.fr", + "ib_rate" : 0, + "mic" : "NO", + "gpudevice" : null, + "desktop_computing" : "NO", + "next_state" : "UnChanged", + "memcpu" : 65536, + "opa_count" : 0, + "ib" : "NO", + "production" : "YES", + "ip" : "172.16.64.2", + "suspended_jobs" : "NO", + "available_upto" : 2147483647, + "deploy" : "NO", + "id" : 28, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-2.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "href" : "//oarapi/resources/28", + "rel" : "self" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/28/jobs" + } + ], + "last_job_date" : 0, + "cluster_priority" : 201906, + "memnode" : 131072, + "disk" : null, + "switch" : null, + "wattmeter" : "MULTIPLE", + "gpu_count" : 0, + "memcore" : 8192, + "diskpath" : null + }, + { + "next_finaud_decision" : "NO", + "cpu" : 4, + "core" : 26, + "drain" : "NO", + "type" : "default", + "scheduler_priority" : 0, + "myri" : "NO", + "disktype" : "SATA", + "myri_rate" : 0, + "last_available_upto" : 0, + "expiry_date" : 0, + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "eth_count" : 1, + "finaud_decision" : "NO", + "cpuset" : 9, + "state" : "Alive", + "ib_count" : 0, + "cpuarch" : "x86_64", + "eth_rate" : 10, + "myri_count" : 0, + "opa" : "NO", + "cputype" : "Intel Xeon Silver 4110", + "cluster" : "clusterc", + "api_timestamp" : 1569605253, + "besteffort" : "YES", + "maintenance" : "NO", + "gpu_model" : null, + "host" : "clusterc-2.fakesite.grid5000.fr", + "cpucore" : 8, + "opa_rate" : 0, + "state_num" : 1, + "nodemodel" : "Dell PowerEdge T640", + "max_walltime" : 86400, + "gpu" : null, + "mic" : "NO", + "desktop_computing" : "NO", + "gpudevice" : null, + "network_address" : "clusterc-2.fakesite.grid5000.fr", + "virtual" : "ivt", + "ib_rate" : 0, + "ib" : "NO", + "production" : "YES", + "next_state" : "UnChanged", + "memcpu" : 65536, + "opa_count" : 0, + "last_job_date" : 0, + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/clusterc-2.fakesite.grid5000.fr" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/29" + }, + { + "href" : "//oarapi/resources/29/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "id" : 29, + "memnode" : 131072, + "cluster_priority" : 201906, + "ip" : "172.16.64.2", + "suspended_jobs" : "NO", + "available_upto" : 2147483647, + "deploy" : "NO", + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "memcore" : 8192, + "diskpath" : null, + "disk" : null, + "switch" : null + }, + { + "cpuset" : 10, + "ib_count" : 0, + "state" : "Alive", + "eth_rate" : 10, + "cpuarch" : "x86_64", + "opa" : "NO", + "myri_count" : 0, + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "api_timestamp" : 1569605253, + "besteffort" : "YES", + "maintenance" : "NO", + "host" : "clusterc-2.fakesite.grid5000.fr", + "cpucore" : 8, + "gpu_model" : null, + "opa_rate" : 0, + "state_num" : 1, + "nodemodel" : "Dell PowerEdge T640", + "gpu" : null, + "max_walltime" : 86400, + "cpu" : 4, + "next_finaud_decision" : "NO", + "core" : 27, + "drain" : "NO", + "type" : "default", + "scheduler_priority" : 0, + "disktype" : "SATA", + "myri" : "NO", + "myri_rate" : 0, + "last_available_upto" : 0, + "expiry_date" : 0, + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "eth_count" : 1, + "finaud_decision" : "NO", + "last_job_date" : 0, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-2.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/30" + }, + { + "href" : "//oarapi/resources/30/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "id" : 30, + "cluster_priority" : 201906, + "memnode" : 131072, + "ip" : "172.16.64.2", + "suspended_jobs" : "NO", + "available_upto" : 2147483647, + "deploy" : "NO", + "wattmeter" : "MULTIPLE", + "gpu_count" : 0, + "memcore" : 8192, + "diskpath" : null, + "disk" : null, + "switch" : null, + "mic" : "NO", + "gpudevice" : null, + "desktop_computing" : "NO", + "virtual" : "ivt", + "network_address" : "clusterc-2.fakesite.grid5000.fr", + "ib_rate" : 0, + "ib" : "NO", + "production" : "YES", + "next_state" : "UnChanged", + "memcpu" : 65536, + "opa_count" : 0 + }, + { + "expiry_date" : 0, + "last_available_upto" : 0, + "eth_count" : 1, + "finaud_decision" : "NO", + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "core" : 28, + "drain" : "NO", + "type" : "default", + "scheduler_priority" : 0, + "next_finaud_decision" : "NO", + "cpu" : 4, + "myri_rate" : 0, + "myri" : "NO", + "disktype" : "SATA", + "opa_rate" : 0, + "state_num" : 1, + "besteffort" : "YES", + "maintenance" : "NO", + "host" : "clusterc-2.fakesite.grid5000.fr", + "gpu_model" : null, + "cpucore" : 8, + "nodemodel" : "Dell PowerEdge T640", + "max_walltime" : 86400, + "gpu" : null, + "cpuarch" : "x86_64", + "eth_rate" : 10, + "cpuset" : 11, + "state" : "Alive", + "ib_count" : 0, + "api_timestamp" : 1569605253, + "myri_count" : 0, + "opa" : "NO", + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "ib" : "NO", + "production" : "YES", + "opa_count" : 0, + "next_state" : "UnChanged", + "memcpu" : 65536, + "mic" : "NO", + "gpudevice" : null, + "desktop_computing" : "NO", + "network_address" : "clusterc-2.fakesite.grid5000.fr", + "virtual" : "ivt", + "ib_rate" : 0, + "diskpath" : null, + "wattmeter" : "MULTIPLE", + "gpu_count" : 0, + "memcore" : 8192, + "switch" : null, + "disk" : null, + "cluster_priority" : 201906, + "memnode" : 131072, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-2.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/31" + }, + { + "href" : "//oarapi/resources/31/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "id" : 31, + "last_job_date" : 0, + "suspended_jobs" : "NO", + "available_upto" : 2147483647, + "deploy" : "NO", + "ip" : "172.16.64.2" + }, + { + "ib" : "NO", + "production" : "YES", + "memcpu" : 65536, + "next_state" : "UnChanged", + "opa_count" : 0, + "gpudevice" : null, + "desktop_computing" : "NO", + "mic" : "NO", + "ib_rate" : 0, + "network_address" : "clusterc-2.fakesite.grid5000.fr", + "virtual" : "ivt", + "memcore" : 8192, + "wattmeter" : "MULTIPLE", + "gpu_count" : 0, + "diskpath" : null, + "disk" : null, + "switch" : null, + "id" : 32, + "links" : [ + { + "title" : "node", + "rel" : "member", + "href" : "//oarapi/resources/nodes/clusterc-2.fakesite.grid5000.fr" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/32" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/32/jobs" + } + ], + "last_job_date" : 0, + "memnode" : 131072, + "cluster_priority" : 201906, + "ip" : "172.16.64.2", + "available_upto" : 2147483647, + "deploy" : "NO", + "suspended_jobs" : "NO", + "last_available_upto" : 0, + "expiry_date" : 0, + "disk_reservation_count" : 3, + "cpufreq" : "2.1", + "finaud_decision" : "NO", + "eth_count" : 1, + "cpu" : 4, + "next_finaud_decision" : "NO", + "scheduler_priority" : 0, + "type" : "default", + "drain" : "NO", + "core" : 29, + "disktype" : "SATA", + "myri" : "NO", + "myri_rate" : 0, + "host" : "clusterc-2.fakesite.grid5000.fr", + "maintenance" : "NO", + "gpu_model" : null, + "cpucore" : 8, + "besteffort" : "YES", + "state_num" : 1, + "opa_rate" : 0, + "max_walltime" : 86400, + "gpu" : null, + "nodemodel" : "Dell PowerEdge T640", + "state" : "Alive", + "ib_count" : 0, + "cpuset" : 12, + "cpuarch" : "x86_64", + "eth_rate" : 10, + "cputype" : "Intel Xeon Silver 4110", + "cluster" : "clusterc", + "opa" : "NO", + "myri_count" : 0, + "api_timestamp" : 1569605253 + }, + { + "ib_rate" : 0, + "network_address" : "clusterc-2.fakesite.grid5000.fr", + "virtual" : "ivt", + "gpudevice" : null, + "desktop_computing" : "NO", + "mic" : "NO", + "opa_count" : 0, + "memcpu" : 65536, + "next_state" : "UnChanged", + "production" : "YES", + "ib" : "NO", + "deploy" : "NO", + "available_upto" : 2147483647, + "suspended_jobs" : "NO", + "ip" : "172.16.64.2", + "cluster_priority" : 201906, + "memnode" : 131072, + "links" : [ + { + "title" : "node", + "rel" : "member", + "href" : "//oarapi/resources/nodes/clusterc-2.fakesite.grid5000.fr" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/33" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/33/jobs" + } + ], + "last_job_date" : 0, + "id" : 33, + "switch" : null, + "disk" : null, + "diskpath" : null, + "memcore" : 8192, + "wattmeter" : "MULTIPLE", + "gpu_count" : 0, + "myri_rate" : 0, + "myri" : "NO", + "disktype" : "SATA", + "scheduler_priority" : 0, + "type" : "default", + "drain" : "NO", + "core" : 30, + "next_finaud_decision" : "NO", + "cpu" : 4, + "finaud_decision" : "NO", + "eth_count" : 1, + "disk_reservation_count" : 3, + "cpufreq" : "2.1", + "expiry_date" : 0, + "last_available_upto" : 0, + "api_timestamp" : 1569605253, + "cputype" : "Intel Xeon Silver 4110", + "cluster" : "clusterc", + "opa" : "NO", + "myri_count" : 0, + "eth_rate" : 10, + "cpuarch" : "x86_64", + "ib_count" : 0, + "state" : "Alive", + "cpuset" : 13, + "gpu" : null, + "max_walltime" : 86400, + "nodemodel" : "Dell PowerEdge T640", + "state_num" : 1, + "opa_rate" : 0, + "maintenance" : "NO", + "gpu_model" : null, + "host" : "clusterc-2.fakesite.grid5000.fr", + "cpucore" : 8, + "besteffort" : "YES" + }, + { + "expiry_date" : 0, + "last_available_upto" : 0, + "eth_count" : 1, + "finaud_decision" : "NO", + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "core" : 31, + "drain" : "NO", + "type" : "default", + "scheduler_priority" : 0, + "cpu" : 4, + "next_finaud_decision" : "NO", + "myri_rate" : 0, + "disktype" : "SATA", + "myri" : "NO", + "opa_rate" : 0, + "state_num" : 1, + "besteffort" : "YES", + "maintenance" : "NO", + "cpucore" : 8, + "host" : "clusterc-2.fakesite.grid5000.fr", + "gpu_model" : null, + "nodemodel" : "Dell PowerEdge T640", + "gpu" : null, + "max_walltime" : 86400, + "eth_rate" : 10, + "cpuarch" : "x86_64", + "cpuset" : 14, + "state" : "Alive", + "ib_count" : 0, + "api_timestamp" : 1569605253, + "myri_count" : 0, + "opa" : "NO", + "cputype" : "Intel Xeon Silver 4110", + "cluster" : "clusterc", + "production" : "YES", + "ib" : "NO", + "opa_count" : 0, + "next_state" : "UnChanged", + "memcpu" : 65536, + "mic" : "NO", + "gpudevice" : null, + "desktop_computing" : "NO", + "virtual" : "ivt", + "network_address" : "clusterc-2.fakesite.grid5000.fr", + "ib_rate" : 0, + "diskpath" : null, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "memcore" : 8192, + "switch" : null, + "disk" : null, + "memnode" : 131072, + "cluster_priority" : 201906, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-2.fakesite.grid5000.fr", + "rel" : "member", + "title" : "node" + }, + { + "href" : "//oarapi/resources/34", + "rel" : "self" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/34/jobs" + } + ], + "id" : 34, + "last_job_date" : 0, + "suspended_jobs" : "NO", + "deploy" : "NO", + "available_upto" : 2147483647, + "ip" : "172.16.64.2" + }, + { + "opa" : "NO", + "myri_count" : 0, + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "api_timestamp" : 1569605253, + "cpuset" : 15, + "ib_count" : 0, + "state" : "Alive", + "cpuarch" : "x86_64", + "eth_rate" : 10, + "nodemodel" : "Dell PowerEdge T640", + "gpu" : null, + "max_walltime" : 86400, + "besteffort" : "YES", + "maintenance" : "NO", + "cpucore" : 8, + "gpu_model" : null, + "host" : "clusterc-2.fakesite.grid5000.fr", + "opa_rate" : 0, + "state_num" : 1, + "myri" : "NO", + "disktype" : "SATA", + "myri_rate" : 0, + "next_finaud_decision" : "NO", + "cpu" : 4, + "core" : 32, + "drain" : "NO", + "scheduler_priority" : 0, + "type" : "default", + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "eth_count" : 1, + "finaud_decision" : "NO", + "last_available_upto" : 0, + "expiry_date" : 0, + "ip" : "172.16.64.2", + "suspended_jobs" : "NO", + "available_upto" : 2147483647, + "deploy" : "NO", + "id" : 35, + "links" : [ + { + "title" : "node", + "rel" : "member", + "href" : "//oarapi/resources/nodes/clusterc-2.fakesite.grid5000.fr" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/35" + }, + { + "href" : "//oarapi/resources/35/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "last_job_date" : 0, + "memnode" : 131072, + "cluster_priority" : 201906, + "disk" : null, + "switch" : null, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "memcore" : 8192, + "diskpath" : null, + "virtual" : "ivt", + "network_address" : "clusterc-2.fakesite.grid5000.fr", + "ib_rate" : 0, + "mic" : "NO", + "gpudevice" : null, + "desktop_computing" : "NO", + "memcpu" : 65536, + "next_state" : "UnChanged", + "opa_count" : 0, + "ib" : "NO", + "production" : "YES" + }, + { + "opa_rate" : null, + "state_num" : 1, + "besteffort" : "YES", + "gpu_model" : null, + "maintenance" : "NO", + "cpucore" : null, + "host" : "clusterc-2.fakesite.grid5000.fr", + "nodemodel" : null, + "max_walltime" : null, + "gpu" : null, + "eth_rate" : null, + "cpuarch" : null, + "cpuset" : -1, + "ib_count" : null, + "state" : "Alive", + "api_timestamp" : 1569605253, + "myri_count" : null, + "opa" : null, + "cluster" : "clusterc", + "cputype" : null, + "expiry_date" : 0, + "last_available_upto" : 0, + "eth_count" : null, + "finaud_decision" : "NO", + "cpufreq" : null, + "disk_reservation_count" : null, + "drain" : "NO", + "core" : null, + "type" : "disk", + "scheduler_priority" : 0, + "cpu" : null, + "next_finaud_decision" : "NO", + "myri_rate" : null, + "myri" : null, + "disktype" : null, + "diskpath" : "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:1:0", + "gpu_count" : null, + "wattmeter" : null, + "memcore" : null, + "switch" : null, + "disk" : "sdb.clusterc-2", + "cluster_priority" : null, + "memnode" : null, + "links" : [ + { + "title" : "node", + "rel" : "member", + "href" : "//oarapi/resources/nodes/" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/36" + }, + { + "href" : "//oarapi/resources/36/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "id" : 36, + "last_job_date" : 0, + "suspended_jobs" : "NO", + "available_upto" : 0, + "deploy" : "YES", + "ip" : null, + "ib" : null, + "production" : "YES", + "opa_count" : null, + "next_state" : "UnChanged", + "memcpu" : null, + "mic" : null, + "gpudevice" : null, + "desktop_computing" : "NO", + "virtual" : null, + "network_address" : "", + "ib_rate" : null + }, + { + "gpu" : null, + "max_walltime" : null, + "nodemodel" : null, + "state_num" : 1, + "opa_rate" : null, + "gpu_model" : null, + "maintenance" : "NO", + "cpucore" : null, + "host" : "clusterc-2.fakesite.grid5000.fr", + "besteffort" : "YES", + "api_timestamp" : 1569605253, + "cluster" : "clusterc", + "cputype" : null, + "opa" : null, + "myri_count" : null, + "eth_rate" : null, + "cpuarch" : null, + "state" : "Alive", + "ib_count" : null, + "cpuset" : -1, + "finaud_decision" : "NO", + "eth_count" : null, + "disk_reservation_count" : null, + "cpufreq" : null, + "expiry_date" : 0, + "last_available_upto" : 0, + "myri_rate" : null, + "disktype" : null, + "myri" : null, + "scheduler_priority" : 0, + "type" : "disk", + "drain" : "NO", + "core" : null, + "next_finaud_decision" : "NO", + "cpu" : null, + "switch" : null, + "disk" : "sdc.clusterc-2", + "diskpath" : "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:2:0", + "memcore" : null, + "wattmeter" : null, + "gpu_count" : null, + "deploy" : "YES", + "available_upto" : 0, + "suspended_jobs" : "NO", + "ip" : null, + "memnode" : null, + "cluster_priority" : null, + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/" + }, + { + "href" : "//oarapi/resources/37", + "rel" : "self" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/37/jobs" + } + ], + "last_job_date" : 0, + "id" : 37, + "opa_count" : null, + "next_state" : "UnChanged", + "memcpu" : null, + "production" : "YES", + "ib" : null, + "ib_rate" : null, + "virtual" : null, + "network_address" : "", + "gpudevice" : null, + "desktop_computing" : "NO", + "mic" : null + }, + { + "cputype" : null, + "cluster" : "clusterc", + "myri_count" : null, + "opa" : null, + "api_timestamp" : 1569605253, + "ib_count" : null, + "state" : "Alive", + "cpuset" : -1, + "eth_rate" : null, + "cpuarch" : null, + "gpu" : null, + "max_walltime" : null, + "nodemodel" : null, + "host" : "clusterc-2.fakesite.grid5000.fr", + "maintenance" : "NO", + "gpu_model" : null, + "cpucore" : null, + "besteffort" : "YES", + "state_num" : 1, + "opa_rate" : null, + "myri" : null, + "disktype" : null, + "myri_rate" : null, + "next_finaud_decision" : "NO", + "cpu" : null, + "scheduler_priority" : 0, + "type" : "disk", + "core" : null, + "drain" : "NO", + "disk_reservation_count" : null, + "cpufreq" : null, + "finaud_decision" : "NO", + "eth_count" : null, + "last_available_upto" : 0, + "expiry_date" : 0, + "ip" : null, + "deploy" : "YES", + "available_upto" : 0, + "suspended_jobs" : "NO", + "id" : 38, + "links" : [ + { + "href" : "//oarapi/resources/nodes/", + "title" : "node", + "rel" : "member" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/38" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/38/jobs" + } + ], + "last_job_date" : 0, + "memnode" : null, + "cluster_priority" : null, + "disk" : "sdd.clusterc-2", + "switch" : null, + "memcore" : null, + "gpu_count" : null, + "wattmeter" : null, + "diskpath" : "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:3:0", + "ib_rate" : null, + "network_address" : "", + "virtual" : null, + "gpudevice" : null, + "desktop_computing" : "NO", + "mic" : null, + "memcpu" : null, + "next_state" : "UnChanged", + "opa_count" : null, + "production" : "YES", + "ib" : null + } + ], + "api_timestamp" : 1569605253 +} + diff --git a/spec/stub_oar_properties/load_data_hierarchy_stubbed_data_without_gpu.json b/spec/stub_oar_properties/load_data_hierarchy_stubbed_data_without_gpu.json new file mode 100644 index 00000000000..88f43f9bb15 --- /dev/null +++ b/spec/stub_oar_properties/load_data_hierarchy_stubbed_data_without_gpu.json @@ -0,0 +1,1984 @@ +{ + "sites": { + "fakesite": { + "clusters": { + "clustera": { + "nodes": { + "clustera-1": { + "architecture": { + "nb_cores": 16, + "nb_procs": 2, + "nb_threads": 32, + "platform_type": "x86_64" + }, + "bios": { + "release_date": "06/14/2019", + "vendor": "Dell Inc.", + "version": "2.2.11" + }, + "chassis": { + "manufacturer": "Dell Inc.", + "name": "PowerEdge T640", + "serial": "FL1CBX2" + }, + "cpuset_mapping": "continuous", + "gpu": { + "gpu": true, + "gpu_cores": 17408, + "gpu_count": 4, + "gpu_model": "RTX 2080 Ti", + "gpu_vendor": "Nvidia" + }, + "gpu_devices": { + "nvidia0": { + "cpu_affinity": 0, + "device": "/dev/nvidia0", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.B2", + "vendor": "Nvidia" + }, + "nvidia1": { + "cpu_affinity": 0, + "device": "/dev/nvidia1", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.B2", + "vendor": "Nvidia" + }, + "nvidia2": { + "cpu_affinity": 1, + "device": "/dev/nvidia2", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.0B.40.09", + "vendor": "Nvidia" + }, + "nvidia3": { + "cpu_affinity": 1, + "device": "/dev/nvidia3", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.B2", + "vendor": "Nvidia" + } + }, + "main_memory": { + "ram_size": 137438953472 + }, + "monitoring": { + "wattmeter": "multiple" + }, + "network_adapters": [ + { + "bridged": false, + "device": "eth0", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:3f:64", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno1", + "vendor": "Broadcom" + }, + { + "bridged": false, + "device": "eth1", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:3f:65", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno2d1", + "vendor": "Broadcom" + }, + { + "bridged": true, + "device": "eth2", + "driver": "i40e", + "enabled": true, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "ip": "172.16.64.1", + "mac": "f8:f2:1e:60:41:20", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": true, + "mounted": true, + "name": "enp137s0f0", + "network_address": "clustera-1.fakesite.grid5000.fr", + "rate": 10000000000, + "switch": "gw-fakesite", + "switch_port": "Ethernet6/39", + "vendor": "Intel" + }, + { + "bridged": false, + "device": "eth3", + "driver": "i40e", + "enabled": false, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "mac": "f8:f2:1e:60:41:21", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": false, + "mounted": false, + "name": "enp137s0f1", + "vendor": "Intel" + }, + { + "device": "bmc", + "enabled": true, + "interface": "Ethernet", + "ip": "172.17.64.1", + "mac": "f4:02:70:9a:3f:74", + "management": true, + "mountable": false, + "mounted": false, + "network_address": "clustera-1-bmc.fakesite.grid5000.fr" + } + ], + "operating_system": { + "cstate_driver": "intel_idle", + "cstate_governor": "menu", + "ht_enabled": true, + "pstate_driver": "intel_pstate", + "pstate_governor": "performance", + "turboboost_enabled": true + }, + "performance": { + "core_flops": 17713000000, + "node_flops": 202670000000 + }, + "processor": { + "cache_l1": null, + "cache_l1d": 32768, + "cache_l1i": 32768, + "cache_l2": 1048576, + "cache_l3": 11534336, + "clock_speed": 2100000000, + "ht_capable": true, + "instruction_set": "x86-64", + "microarchitecture": "Skylake", + "model": "Intel Xeon", + "other_description": "Intel(R) Xeon(R) Silver 4110 CPU @ 2.10GHz", + "vendor": "Intel", + "version": "Silver 4110" + }, + "sensors": { + "power": { + "available": true, + "via": { + "api": { + "metric": "power" + }, + "pdu": [ + { + "port": 1, + "uid": "clustera-pdu1" + }, + { + "port": 1, + "uid": "clustera-pdu2" + } + ] + } + } + }, + "storage_devices": [ + { + "by_id": "/dev/disk/by-id/wwn-0x6f402700aefea00024afe4c307e10af8", + "by_path": "/dev/disk/by-path/pci-0000:19:00.0-scsi-0:2:0:0", + "device": "sda", + "driver": "megaraid_sas", + "firmware_version": 4.29, + "interface": "SATA", + "model": "PERC H330 Adp", + "size": 479559942144, + "storage": "SSD", + "vendor": "Dell (Raid)" + } + ], + "supported_job_types": { + "besteffort": true, + "deploy": true, + "max_walltime": 86400, + "queues": [ + "admin", + "production" + ], + "virtual": "ivt" + }, + "type": "node", + "uid": "clustera-1" + }, + "clustera-2": { + "architecture": { + "nb_cores": 16, + "nb_procs": 2, + "nb_threads": 32, + "platform_type": "x86_64" + }, + "bios": { + "release_date": "06/14/2019", + "vendor": "Dell Inc.", + "version": "2.2.11" + }, + "chassis": { + "manufacturer": "Dell Inc.", + "name": "PowerEdge T640", + "serial": "9L1CBX2" + }, + "cpuset_mapping": "continuous", + "gpu": { + "gpu": true, + "gpu_cores": 17408, + "gpu_count": 4, + "gpu_model": "RTX 2080 Ti", + "gpu_vendor": "Nvidia" + }, + "gpu_devices": { + "nvidia0": { + "cpu_affinity": 0, + "device": "/dev/nvidia0", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.B2", + "vendor": "Nvidia" + }, + "nvidia1": { + "cpu_affinity": 0, + "device": "/dev/nvidia1", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.0B.40.09", + "vendor": "Nvidia" + }, + "nvidia2": { + "cpu_affinity": 1, + "device": "/dev/nvidia2", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.0B.40.09", + "vendor": "Nvidia" + }, + "nvidia3": { + "cpu_affinity": 1, + "device": "/dev/nvidia3", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.AC", + "vendor": "Nvidia" + } + }, + "main_memory": { + "ram_size": 137438953472 + }, + "monitoring": { + "wattmeter": "multiple" + }, + "network_adapters": [ + { + "bridged": false, + "device": "eth0", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:48:d8", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno1", + "vendor": "Broadcom" + }, + { + "bridged": false, + "device": "eth1", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:48:d9", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno2d1", + "vendor": "Broadcom" + }, + { + "bridged": true, + "device": "eth2", + "driver": "i40e", + "enabled": true, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "ip": "172.16.64.2", + "mac": "f8:f2:1e:60:3f:a0", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": true, + "mounted": true, + "name": "enp137s0f0", + "network_address": "clustera-2.fakesite.grid5000.fr", + "rate": 10000000000, + "switch": "gw-fakesite", + "switch_port": "Ethernet6/40", + "vendor": "Intel" + }, + { + "bridged": false, + "device": "eth3", + "driver": "i40e", + "enabled": false, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "mac": "f8:f2:1e:60:3f:a1", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": false, + "mounted": false, + "name": "enp137s0f1", + "vendor": "Intel" + }, + { + "device": "bmc", + "enabled": true, + "interface": "Ethernet", + "ip": "172.17.64.2", + "mac": "f4:02:70:9a:48:e8", + "management": true, + "mountable": false, + "mounted": false, + "network_address": "clustera-2-bmc.fakesite.grid5000.fr" + } + ], + "operating_system": { + "cstate_driver": "intel_idle", + "cstate_governor": "menu", + "ht_enabled": true, + "pstate_driver": "intel_pstate", + "pstate_governor": "performance", + "turboboost_enabled": true + }, + "performance": { + "core_flops": 17713000000, + "node_flops": 202670000000 + }, + "processor": { + "cache_l1": null, + "cache_l1d": 32768, + "cache_l1i": 32768, + "cache_l2": 1048576, + "cache_l3": 11534336, + "clock_speed": 2100000000, + "ht_capable": true, + "instruction_set": "x86-64", + "microarchitecture": "Skylake", + "model": "Intel Xeon", + "other_description": "Intel(R) Xeon(R) Silver 4110 CPU @ 2.10GHz", + "vendor": "Intel", + "version": "Silver 4110" + }, + "sensors": { + "power": { + "available": true, + "via": { + "api": { + "metric": "power" + }, + "pdu": [ + { + "port": 6, + "uid": "clustera-pdu1" + }, + { + "port": 6, + "uid": "clustera-pdu2" + } + ] + } + } + }, + "storage_devices": [ + { + "by_id": "/dev/disk/by-id/wwn-0x6f402700aeff430024929b4003cd51d0", + "by_path": "/dev/disk/by-path/pci-0000:19:00.0-scsi-0:2:0:0", + "device": "sda", + "driver": "megaraid_sas", + "firmware_version": 4.29, + "interface": "SATA", + "model": "PERC H330 Adp", + "size": 479559942144, + "storage": "SSD", + "vendor": "Dell (Raid)" + } + ], + "supported_job_types": { + "besteffort": true, + "deploy": true, + "max_walltime": 86400, + "queues": [ + "admin", + "production" + ], + "virtual": "ivt" + }, + "type": "node", + "uid": "clustera-2" + } + }, + "created_at": "Fri, 07 Jun 2019 00:00:00 GMT", + "kavlan": false, + "model": "Dell PowerEdge T640", + "queues": [ + "admin", + "production" + ], + "type": "cluster", + "uid": "clustera" + }, + "clusterc": { + "nodes": { + "clusterc-1": { + "architecture": { + "nb_cores": 16, + "nb_procs": 2, + "nb_threads": 32, + "platform_type": "x86_64" + }, + "bios": { + "release_date": "06/14/2019", + "vendor": "Dell Inc.", + "version": "2.2.11" + }, + "chassis": { + "manufacturer": "Dell Inc.", + "name": "PowerEdge T640", + "serial": "FL1CBX2" + }, + "cpuset_mapping": "continuous", + "gpu": { + "gpu": true, + "gpu_cores": 17408, + "gpu_count": 4, + "gpu_model": "RTX 2080 Ti", + "gpu_vendor": "Nvidia" + }, + "main_memory": { + "ram_size": 137438953472 + }, + "monitoring": { + "wattmeter": "multiple" + }, + "network_adapters": [ + { + "bridged": false, + "device": "eth0", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:3f:64", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno1", + "vendor": "Broadcom" + }, + { + "bridged": false, + "device": "eth1", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:3f:65", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno2d1", + "vendor": "Broadcom" + }, + { + "bridged": true, + "device": "eth2", + "driver": "i40e", + "enabled": true, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "ip": "172.16.64.1", + "mac": "f8:f2:1e:60:41:20", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": true, + "mounted": true, + "name": "enp137s0f0", + "network_address": "clusterc-1.fakesite.grid5000.fr", + "rate": 10000000000, + "switch": null, + "switch_port": null, + "vendor": "Intel" + }, + { + "bridged": false, + "device": "eth3", + "driver": "i40e", + "enabled": false, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "mac": "f8:f2:1e:60:41:21", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": false, + "mounted": false, + "name": "enp137s0f1", + "vendor": "Intel" + }, + { + "device": "bmc", + "enabled": true, + "interface": "Ethernet", + "ip": "172.17.64.1", + "mac": "f4:02:70:9a:3f:74", + "management": true, + "mountable": false, + "mounted": false, + "network_address": "clusterc-1-bmc.fakesite.grid5000.fr" + } + ], + "operating_system": { + "cstate_driver": "intel_idle", + "cstate_governor": "menu", + "ht_enabled": true, + "pstate_driver": "intel_pstate", + "pstate_governor": "performance", + "turboboost_enabled": true + }, + "performance": { + "core_flops": 17713000000, + "node_flops": 202670000000 + }, + "processor": { + "cache_l1": null, + "cache_l1d": 32768, + "cache_l1i": 32768, + "cache_l2": 1048576, + "cache_l3": 11534336, + "clock_speed": 2100000000, + "ht_capable": true, + "instruction_set": "x86-64", + "microarchitecture": "Skylake", + "model": "Intel Xeon", + "other_description": "Intel(R) Xeon(R) Silver 4110 CPU @ 2.10GHz", + "vendor": "Intel", + "version": "Silver 4110" + }, + "sensors": { + "power": { + "available": true, + "via": { + "api": { + "metric": "power" + }, + "pdu": [ + { + "port": 1, + "uid": "clusterc-pdu1" + }, + { + "port": 1, + "uid": "clusterc-pdu2" + } + ] + } + } + }, + "storage_devices": [ + { + "by_id": "/dev/disk/by-id/wwn-0x6f402700aefea00024afe4c307e10af8", + "by_path": "/dev/disk/by-path/pci-0000:19:00.0-scsi-0:2:0:0", + "device": "sda", + "driver": "megaraid_sas", + "firmware_version": 4.29, + "interface": "SATA", + "model": "PERC H330 Adp", + "size": 479559942144, + "storage": "SSD", + "vendor": "Dell (Raid)" + }, + { + "by_id": "/dev/disk/by-id/wwn-0x500003973c8a1ad9", + "by_path": "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:1:0", + "device": "sdb", + "driver": "megaraid_sas", + "firmware_version": "AM04", + "interface": "SAS", + "model": "PX04SMB040", + "reservation": true, + "size": 400088457216, + "storage": "SSD", + "vendor": "Toshiba" + }, + { + "by_id": "/dev/disk/by-id/wwn-0x500003973be828eb", + "by_path": "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:2:0", + "device": "sdc", + "driver": "megaraid_sas", + "firmware_version": "FJ2D", + "interface": "SATA", + "model": "TOSHIBA MG04ACA4", + "reservation": true, + "size": 4000787030016, + "storage": "HDD", + "vendor": "Toshiba" + }, + { + "by_id": "/dev/disk/by-id/wwn-0x500003973be828e9", + "by_path": "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:3:0", + "device": "sdd", + "driver": "megaraid_sas", + "firmware_version": "FJ2D", + "interface": "SATA", + "model": "TOSHIBA MG04ACA4", + "reservation": true, + "size": 4000787030016, + "storage": "HDD", + "vendor": "Toshiba" + } + ], + "supported_job_types": { + "besteffort": true, + "deploy": true, + "max_walltime": 86400, + "queues": [ + "admin", + "production" + ], + "virtual": "ivt" + }, + "type": "node", + "uid": "clusterc-1" + }, + "clusterc-2": { + "architecture": { + "nb_cores": 16, + "nb_procs": 2, + "nb_threads": 32, + "platform_type": "x86_64" + }, + "bios": { + "release_date": "06/14/2019", + "vendor": "Dell Inc.", + "version": "2.2.11" + }, + "chassis": { + "manufacturer": "Dell Inc.", + "name": "PowerEdge T640", + "serial": "9L1CBX2" + }, + "cpuset_mapping": "continuous", + "gpu": { + "gpu": true, + "gpu_cores": 17408, + "gpu_count": 4, + "gpu_model": "RTX 2080 Ti", + "gpu_vendor": "Nvidia" + }, + "main_memory": { + "ram_size": 137438953472 + }, + "monitoring": { + "wattmeter": "multiple" + }, + "network_adapters": [ + { + "bridged": false, + "device": "eth0", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:48:d8", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno1", + "vendor": "Broadcom" + }, + { + "bridged": false, + "device": "eth1", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:48:d9", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno2d1", + "vendor": "Broadcom" + }, + { + "bridged": true, + "device": "eth2", + "driver": "i40e", + "enabled": true, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "ip": "172.16.64.2", + "mac": "f8:f2:1e:60:3f:a0", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": true, + "mounted": true, + "name": "enp137s0f0", + "network_address": "clusterc-2.fakesite.grid5000.fr", + "rate": 10000000000, + "switch": null, + "switch_port": null, + "vendor": "Intel" + }, + { + "bridged": false, + "device": "eth3", + "driver": "i40e", + "enabled": false, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "mac": "f8:f2:1e:60:3f:a1", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": false, + "mounted": false, + "name": "enp137s0f1", + "vendor": "Intel" + }, + { + "device": "bmc", + "enabled": true, + "interface": "Ethernet", + "ip": "172.17.64.2", + "mac": "f4:02:70:9a:48:e8", + "management": true, + "mountable": false, + "mounted": false, + "network_address": "clusterc-2-bmc.fakesite.grid5000.fr" + } + ], + "operating_system": { + "cstate_driver": "intel_idle", + "cstate_governor": "menu", + "ht_enabled": true, + "pstate_driver": "intel_pstate", + "pstate_governor": "performance", + "turboboost_enabled": true + }, + "performance": { + "core_flops": 17713000000, + "node_flops": 202670000000 + }, + "processor": { + "cache_l1": null, + "cache_l1d": 32768, + "cache_l1i": 32768, + "cache_l2": 1048576, + "cache_l3": 11534336, + "clock_speed": 2100000000, + "ht_capable": true, + "instruction_set": "x86-64", + "microarchitecture": "Skylake", + "model": "Intel Xeon", + "other_description": "Intel(R) Xeon(R) Silver 4110 CPU @ 2.10GHz", + "vendor": "Intel", + "version": "Silver 4110" + }, + "sensors": { + "power": { + "available": true, + "via": { + "api": { + "metric": "power" + }, + "pdu": [ + { + "port": 6, + "uid": "clusterc-pdu1" + }, + { + "port": 6, + "uid": "clusterc-pdu2" + } + ] + } + } + }, + "storage_devices": [ + { + "by_id": "/dev/disk/by-id/wwn-0x6f402700aeff430024929b4003cd51d0", + "by_path": "/dev/disk/by-path/pci-0000:19:00.0-scsi-0:2:0:0", + "device": "sda", + "driver": "megaraid_sas", + "firmware_version": 4.29, + "interface": "SATA", + "model": "PERC H330 Adp", + "size": 479559942144, + "storage": "SSD", + "vendor": "Dell (Raid)" + }, + { + "by_id": "/dev/disk/by-id/wwn-0x500003973c8a1ad9", + "by_path": "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:1:0", + "device": "sdb", + "driver": "megaraid_sas", + "firmware_version": "AM04", + "interface": "SAS", + "model": "PX04SMB040", + "reservation": true, + "size": 400088457216, + "storage": "SSD", + "vendor": "Toshiba" + }, + { + "by_id": "/dev/disk/by-id/wwn-0x500003973be828eb", + "by_path": "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:2:0", + "device": "sdc", + "driver": "megaraid_sas", + "firmware_version": "FJ2D", + "interface": "SATA", + "model": "TOSHIBA MG04ACA4", + "reservation": true, + "size": 4000787030016, + "storage": "HDD", + "vendor": "Toshiba" + }, + { + "by_id": "/dev/disk/by-id/wwn-0x500003973be828e9", + "by_path": "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:3:0", + "device": "sdd", + "driver": "megaraid_sas", + "firmware_version": "FJ2D", + "interface": "SATA", + "model": "TOSHIBA MG04ACA4", + "reservation": true, + "size": 4000787030016, + "storage": "HDD", + "vendor": "Toshiba" + } + ], + "supported_job_types": { + "besteffort": true, + "deploy": true, + "max_walltime": 86400, + "queues": [ + "admin", + "production" + ], + "virtual": "ivt" + }, + "type": "node", + "uid": "clusterc-2" + } + }, + "created_at": "Fri, 07 Jun 2019 00:00:00 GMT", + "kavlan": false, + "model": "Dell PowerEdge T640", + "queues": [ + "admin", + "production" + ], + "type": "cluster", + "uid": "clusterc" + }, + "clusterb": { + "nodes": { + "clusterb-2": { + "architecture": { + "nb_cores": 16, + "nb_procs": 2, + "nb_threads": 32, + "platform_type": "x86_64" + }, + "bios": { + "release_date": "06/14/2019", + "vendor": "Dell Inc.", + "version": "2.2.11" + }, + "chassis": { + "manufacturer": "Dell Inc.", + "name": "PowerEdge T640", + "serial": "9L1CBX2" + }, + "cpuset_mapping": "continuous", + "gpu": { + "gpu": true, + "gpu_cores": 17408, + "gpu_count": 4, + "gpu_model": "RTX 2080 Ti", + "gpu_vendor": "Nvidia" + }, + "gpu_devices": { + "nvidia0": { + "cpu_affinity": 0, + "device": "/dev/nvidia0", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.B2", + "vendor": "Nvidia" + }, + "nvidia1": { + "cpu_affinity": 0, + "device": "/dev/nvidia1", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.0B.40.09", + "vendor": "Nvidia" + }, + "nvidia2": { + "cpu_affinity": 1, + "device": "/dev/nvidia2", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.0B.40.09", + "vendor": "Nvidia" + }, + "nvidia3": { + "cpu_affinity": 1, + "device": "/dev/nvidia3", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.AC", + "vendor": "Nvidia" + } + }, + "main_memory": { + "ram_size": 137438953472 + }, + "monitoring": { + "wattmeter": "multiple" + }, + "network_adapters": [ + { + "bridged": false, + "device": "eth0", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:48:d8", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno1", + "vendor": "Broadcom" + }, + { + "bridged": false, + "device": "eth1", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:48:d9", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno2d1", + "vendor": "Broadcom" + }, + { + "bridged": true, + "device": "eth2", + "driver": "i40e", + "enabled": true, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "ip": "172.16.64.2", + "mac": "f8:f2:1e:60:3f:a0", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": true, + "mounted": true, + "name": "enp137s0f0", + "network_address": "clusterb-2.fakesite.grid5000.fr", + "rate": 10000000000, + "switch": null, + "switch_port": null, + "vendor": "Intel" + }, + { + "bridged": false, + "device": "eth3", + "driver": "i40e", + "enabled": false, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "mac": "f8:f2:1e:60:3f:a1", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": false, + "mounted": false, + "name": "enp137s0f1", + "vendor": "Intel" + }, + { + "device": "bmc", + "enabled": true, + "interface": "Ethernet", + "ip": "172.17.64.2", + "mac": "f4:02:70:9a:48:e8", + "management": true, + "mountable": false, + "mounted": false, + "network_address": "clusterb-2-bmc.fakesite.grid5000.fr" + } + ], + "operating_system": { + "cstate_driver": "intel_idle", + "cstate_governor": "menu", + "ht_enabled": true, + "pstate_driver": "intel_pstate", + "pstate_governor": "performance", + "turboboost_enabled": true + }, + "performance": { + "core_flops": 17713000000, + "node_flops": 202670000000 + }, + "processor": { + "cache_l1": null, + "cache_l1d": 32768, + "cache_l1i": 32768, + "cache_l2": 1048576, + "cache_l3": 11534336, + "clock_speed": 2100000000, + "ht_capable": true, + "instruction_set": "x86-64", + "microarchitecture": "Skylake", + "model": "Intel Xeon", + "other_description": "Intel(R) Xeon(R) Silver 4110 CPU @ 2.10GHz", + "vendor": "Intel", + "version": "Silver 4110" + }, + "sensors": { + "power": { + "available": true, + "via": { + "api": { + "metric": "power" + }, + "pdu": [ + { + "port": 6, + "uid": "clusterb-pdu1" + }, + { + "port": 6, + "uid": "clusterb-pdu2" + } + ] + } + } + }, + "storage_devices": [ + { + "by_id": "/dev/disk/by-id/wwn-0x6f402700aeff430024929b4003cd51d0", + "by_path": "/dev/disk/by-path/pci-0000:19:00.0-scsi-0:2:0:0", + "device": "sda", + "driver": "megaraid_sas", + "firmware_version": 4.29, + "interface": "SATA", + "model": "PERC H330 Adp", + "size": 479559942144, + "storage": "SSD", + "vendor": "Dell (Raid)" + }, + { + "by_id": "/dev/disk/by-id/wwn-0x500003973c8a1ad9", + "by_path": "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:1:0", + "device": "sdb", + "driver": "megaraid_sas", + "firmware_version": "AM04", + "interface": "SAS", + "model": "PX04SMB040", + "reservation": true, + "size": 400088457216, + "storage": "SSD", + "vendor": "Toshiba" + }, + { + "by_id": "/dev/disk/by-id/wwn-0x500003973be828eb", + "by_path": "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:2:0", + "device": "sdc", + "driver": "megaraid_sas", + "firmware_version": "FJ2D", + "interface": "SATA", + "model": "TOSHIBA MG04ACA4", + "reservation": true, + "size": 4000787030016, + "storage": "HDD", + "vendor": "Toshiba" + }, + { + "by_id": "/dev/disk/by-id/wwn-0x500003973be828e9", + "by_path": "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:3:0", + "device": "sdd", + "driver": "megaraid_sas", + "firmware_version": "FJ2D", + "interface": "SATA", + "model": "TOSHIBA MG04ACA4", + "reservation": true, + "size": 4000787030016, + "storage": "HDD", + "vendor": "Toshiba" + } + ], + "supported_job_types": { + "besteffort": true, + "deploy": true, + "max_walltime": 86400, + "queues": [ + "admin", + "production" + ], + "virtual": "ivt" + }, + "type": "node", + "uid": "clusterb-2" + }, + "clusterb-1": { + "architecture": { + "nb_cores": 16, + "nb_procs": 2, + "nb_threads": 32, + "platform_type": "x86_64" + }, + "bios": { + "release_date": "06/14/2019", + "vendor": "Dell Inc.", + "version": "2.2.11" + }, + "chassis": { + "manufacturer": "Dell Inc.", + "name": "PowerEdge T640", + "serial": "FL1CBX2" + }, + "cpuset_mapping": "continuous", + "gpu": { + "gpu": true, + "gpu_cores": 17408, + "gpu_count": 4, + "gpu_model": "RTX 2080 Ti", + "gpu_vendor": "Nvidia" + }, + "gpu_devices": { + "nvidia0": { + "cpu_affinity": 0, + "device": "/dev/nvidia0", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.B2", + "vendor": "Nvidia" + }, + "nvidia1": { + "cpu_affinity": 0, + "device": "/dev/nvidia1", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.B2", + "vendor": "Nvidia" + }, + "nvidia2": { + "cpu_affinity": 1, + "device": "/dev/nvidia2", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.0B.40.09", + "vendor": "Nvidia" + }, + "nvidia3": { + "cpu_affinity": 1, + "device": "/dev/nvidia3", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.B2", + "vendor": "Nvidia" + } + }, + "main_memory": { + "ram_size": 137438953472 + }, + "monitoring": { + "wattmeter": "multiple" + }, + "network_adapters": [ + { + "bridged": false, + "device": "eth0", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:3f:64", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno1", + "vendor": "Broadcom" + }, + { + "bridged": false, + "device": "eth1", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:3f:65", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno2d1", + "vendor": "Broadcom" + }, + { + "bridged": true, + "device": "eth2", + "driver": "i40e", + "enabled": true, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "ip": "172.16.64.1", + "mac": "f8:f2:1e:60:41:20", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": true, + "mounted": true, + "name": "enp137s0f0", + "network_address": "clusterb-1.fakesite.grid5000.fr", + "rate": 10000000000, + "switch": null, + "switch_port": null, + "vendor": "Intel" + }, + { + "bridged": false, + "device": "eth3", + "driver": "i40e", + "enabled": false, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "mac": "f8:f2:1e:60:41:21", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": false, + "mounted": false, + "name": "enp137s0f1", + "vendor": "Intel" + }, + { + "device": "bmc", + "enabled": true, + "interface": "Ethernet", + "ip": "172.17.64.1", + "mac": "f4:02:70:9a:3f:74", + "management": true, + "mountable": false, + "mounted": false, + "network_address": "clusterb-1-bmc.fakesite.grid5000.fr" + } + ], + "operating_system": { + "cstate_driver": "intel_idle", + "cstate_governor": "menu", + "ht_enabled": true, + "pstate_driver": "intel_pstate", + "pstate_governor": "performance", + "turboboost_enabled": true + }, + "performance": { + "core_flops": 17713000000, + "node_flops": 202670000000 + }, + "processor": { + "cache_l1": null, + "cache_l1d": 32768, + "cache_l1i": 32768, + "cache_l2": 1048576, + "cache_l3": 11534336, + "clock_speed": 2100000000, + "ht_capable": true, + "instruction_set": "x86-64", + "microarchitecture": "Skylake", + "model": "Intel Xeon", + "other_description": "Intel(R) Xeon(R) Silver 4110 CPU @ 2.10GHz", + "vendor": "Intel", + "version": "Silver 4110" + }, + "sensors": { + "power": { + "available": true, + "via": { + "api": { + "metric": "power" + }, + "pdu": [ + { + "port": 1, + "uid": "clusterb-pdu1" + }, + { + "port": 1, + "uid": "clusterb-pdu2" + } + ] + } + } + }, + "storage_devices": [ + { + "by_id": "/dev/disk/by-id/wwn-0x6f402700aefea00024afe4c307e10af8", + "by_path": "/dev/disk/by-path/pci-0000:19:00.0-scsi-0:2:0:0", + "device": "sda", + "driver": "megaraid_sas", + "firmware_version": 4.29, + "interface": "SATA", + "model": "PERC H330 Adp", + "size": 479559942144, + "storage": "SSD", + "vendor": "Dell (Raid)" + }, + { + "by_id": "/dev/disk/by-id/wwn-0x500003973c8a1ad9", + "by_path": "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:1:0", + "device": "sdb", + "driver": "megaraid_sas", + "firmware_version": "AM04", + "interface": "SAS", + "model": "PX04SMB040", + "reservation": true, + "size": 400088457216, + "storage": "SSD", + "vendor": "Toshiba" + }, + { + "by_id": "/dev/disk/by-id/wwn-0x500003973be828eb", + "by_path": "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:2:0", + "device": "sdc", + "driver": "megaraid_sas", + "firmware_version": "FJ2D", + "interface": "SATA", + "model": "TOSHIBA MG04ACA4", + "reservation": true, + "size": 4000787030016, + "storage": "HDD", + "vendor": "Toshiba" + }, + { + "by_id": "/dev/disk/by-id/wwn-0x500003973be828e9", + "by_path": "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:3:0", + "device": "sdd", + "driver": "megaraid_sas", + "firmware_version": "FJ2D", + "interface": "SATA", + "model": "TOSHIBA MG04ACA4", + "reservation": true, + "size": 4000787030016, + "storage": "HDD", + "vendor": "Toshiba" + } + ], + "supported_job_types": { + "besteffort": true, + "deploy": true, + "max_walltime": 86400, + "queues": [ + "admin", + "production" + ], + "virtual": "ivt" + }, + "type": "node", + "uid": "clusterb-1" + } + }, + "created_at": "Fri, 07 Jun 2019 00:00:00 GMT", + "kavlan": false, + "model": "Dell PowerEdge T640", + "queues": [ + "admin", + "production" + ], + "type": "cluster", + "uid": "clusterb" + } + }, + "network_equipments": { + "gw-fakesite": { + "backplane_bps": 1280000000000, + "kind": "router", + "linecards": [ + {}, + {}, + {}, + {}, + {}, + {}, + { + "backplane_bps": 1280000000000, + "kavlan_pattern": "Ethernet%LINECARD%/%PORT%", + "kind": "node", + "model": "N9K-X9464PX", + "ports": [ + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + { + "kind": "node", + "port": "eth2", + "uid": "clustera-1" + }, + { + "kind": "node", + "port": "eth2", + "uid": "clustera-2" + } + ], + "rate": 10000000000, + "snmp_pattern": "Ethernet%LINECARD%/%PORT%" + } + ], + "model": "Cisco Nexus 9508", + "monitoring": { + "metric": "power", + "wattmeter": "multiple" + }, + "sensors": { + "network": { + "available": true, + "resolution": 10 + }, + "power": { + "available": true, + "resolution": 1, + "via": { + "pdu": [ + { + "port": 8, + "uid": "graoully-pdu1" + }, + { + "port": 8, + "uid": "graoully-pdu2" + }, + { + "port": 8, + "uid": "grimoire-pdu1" + }, + { + "port": 8, + "uid": "grimoire-pdu2" + } + ] + } + } + }, + "site": "fakesite", + "snmp_community": "public", + "type": "network_equipment", + "uid": "gw-fakesite", + "vlans": { + "vlan100": { + "addresses": [ + "172.16.79.254" + ], + "administrative": true + }, + "vlan101": { + "addresses": [ + "172.17.79.254" + ] + }, + "vlan500": { + "addresses": [ + "192.168.4.14" + ] + }, + "vlan701": { + "addresses": [ + "192.168.192.0/20" + ], + "name": "kavlan-1" + }, + "vlan702": { + "addresses": [ + "192.168.208.0/20" + ], + "name": "kavlan-2" + }, + "vlan703": { + "addresses": [ + "192.168.224.0/20" + ], + "name": "kavlan-3" + }, + "vlan704": { + "addresses": [ + "10.16.0.0/18" + ], + "name": "kavlan-4" + }, + "vlan705": { + "addresses": [ + "10.16.64.0/18" + ], + "name": "kavlan-5" + }, + "vlan706": { + "addresses": [ + "10.16.128.0/18" + ], + "name": "kavlan-6" + }, + "vlan707": { + "addresses": [ + "10.16.192.0/18" + ], + "name": "kavlan-7" + }, + "vlan708": { + "addresses": [ + "10.17.0.0/18" + ], + "name": "kavlan-8" + }, + "vlan709": { + "addresses": [ + "10.17.64.0/18" + ], + "name": "kavlan-9" + }, + "vlan714": { + "addresses": [ + "10.19.192.0/18" + ], + "name": "kavlan-14" + } + }, + "warranty": "2020-09-01", + "weathermap": {} + } + }, + "pdus": { + "clustera-pdu1": { + "ip": "172.17.79.226", + "mac": "28:29:86:0B:3B:06", + "model": "AP8653", + "ports": { + "1": "clustera-1", + "6": "clustera-2" + }, + "sensors": [ + { + "power": { + "per_outlets": true, + "resolution": 1, + "snmp": { + "available": true, + "outlet_prefix_oid": "iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7", + "total_oids": [ + "iso.3.6.1.4.1.318.1.1.12.1.16.0" + ], + "unit": "W" + } + } + } + ], + "type": "pdu", + "uid": "clustera-pdu1", + "vendor": "APC" + }, + "clustera-pdu3": { + "ip": "172.17.79.231", + "mac": "28:29:86:12:27:FF", + "model": "AP8653", + "ports": {}, + "sensors": [ + { + "power": { + "per_outlets": true, + "resolution": 1, + "snmp": { + "available": true, + "outlet_prefix_oid": "iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7", + "total_oids": [ + "iso.3.6.1.4.1.318.1.1.12.1.16.0" + ], + "unit": "W" + } + } + } + ], + "type": "pdu", + "uid": "clustera-pdu3", + "vendor": "APC" + }, + "clustera-pdu2": { + "ip": "172.17.79.227", + "mac": "28:29:86:10:0E:8C", + "model": "AP8653", + "ports": { + "1": "clustera-1", + "6": "clustera-2" + }, + "sensors": [ + { + "power": { + "per_outlets": true, + "resolution": 1, + "snmp": { + "available": true, + "outlet_prefix_oid": "iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7", + "total_oids": [ + "iso.3.6.1.4.1.318.1.1.12.1.16.0" + ], + "unit": "W" + } + } + } + ], + "type": "pdu", + "uid": "clustera-pdu2", + "vendor": "APC" + }, + "clustera-pdu4": { + "ip": "172.17.79.232", + "mac": "28:29:86:10:0E:B4", + "model": "AP8653", + "ports": {}, + "sensors": [ + { + "power": { + "per_outlets": true, + "resolution": 1, + "snmp": { + "available": true, + "outlet_prefix_oid": "iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7", + "total_oids": [ + "iso.3.6.1.4.1.318.1.1.12.1.16.0" + ], + "unit": "W" + } + } + } + ], + "type": "pdu", + "uid": "clustera-pdu4", + "vendor": "APC" + } + }, + "compilation_server": false, + "description": "Grid5000 Fakesite site", + "email_contact": "support-staff@lists.grid5000.fr", + "frontend_ip": "172.16.79.101", + "g5ksubnet": { + "gateway": "10.147.255.254", + "network": "10.144.0.0/14" + }, + "latitude": 48.7, + "location": "Fakesite, France", + "longitude": 6.2, + "name": "Fakesite", + "production": true, + "renater_ip": "192.168.4.14", + "security_contact": "support-staff@lists.grid5000.fr", + "storage5k": false, + "sys_admin_contact": "support-staff@lists.grid5000.fr", + "type": "site", + "uid": "fakesite", + "user_support_contact": "support-staff@lists.grid5000.fr", + "virt_ip_range": "10.144.0.0/14", + "web": "http://www.grid5000.fr/mediawiki/index.php/Fakesite:Home" + } + }, + "network_equipments": { + "renater-rennes": { + "kind": "virtual", + "linecards": [ + { + "ports": [ + { + "uid": "renater-nantes" + }, + { + "kind": "router", + "site_uid": "rennes", + "uid": "gw-rennes" + } + ], + "rate": 10000000000 + } + ], + "type": "network_equipment", + "uid": "renater-rennes", + "weathermap": {} + }, + "renater-luxembourg": { + "kind": "virtual", + "linecards": [ + { + "ports": [ + { + "uid": "renater-nancy" + }, + { + "kind": "router", + "site_uid": "luxembourg", + "uid": "gw-luxembourg" + } + ], + "rate": 10000000000 + } + ], + "type": "network_equipment", + "uid": "renater-luxembourg", + "weathermap": {} + }, + "renater-lyon": { + "kind": "virtual", + "linecards": [ + { + "ports": [ + { + "uid": "renater-paris" + }, + { + "uid": "renater-sophia" + }, + { + "uid": "renater-grenoble" + }, + { + "uid": "renater-nantes" + }, + { + "kind": "router", + "site_uid": "lyon", + "uid": "gw-lyon" + } + ], + "rate": 10000000000 + } + ], + "type": "network_equipment", + "uid": "renater-lyon", + "weathermap": {} + }, + "renater-grenoble": { + "kind": "virtual", + "linecards": [ + { + "ports": [ + { + "uid": "renater-lyon" + }, + { + "kind": "router", + "site_uid": "grenoble", + "uid": "gw-grenoble" + } + ], + "rate": 10000000000 + } + ], + "type": "network_equipment", + "uid": "renater-grenoble", + "weathermap": {} + }, + "renater-paris": { + "kind": "virtual", + "linecards": [ + { + "ports": [ + { + "uid": "renater-lille" + }, + { + "uid": "renater-lyon" + }, + { + "uid": "renater-nancy" + } + ], + "rate": 10000000000 + } + ], + "type": "network_equipment", + "uid": "renater-paris", + "weathermap": {} + }, + "renater-nancy": { + "kind": "virtual", + "linecards": [ + { + "ports": [ + { + "uid": "renater-luxembourg" + }, + { + "uid": "renater-paris" + }, + { + "kind": "router", + "site_uid": "nancy", + "uid": "gw-nancy" + } + ], + "rate": 10000000000 + } + ], + "type": "network_equipment", + "uid": "renater-nancy", + "weathermap": {} + }, + "renater-sophia": { + "kind": "virtual", + "linecards": [ + { + "ports": [ + { + "uid": "renater-lyon" + }, + { + "kind": "router", + "site_uid": "sophia", + "uid": "gw-sophia" + } + ], + "rate": 10000000000 + } + ], + "type": "network_equipment", + "uid": "renater-sophia", + "weathermap": {} + }, + "renater-lille": { + "kind": "virtual", + "linecards": [ + { + "ports": [ + { + "uid": "renater-paris" + }, + { + "kind": "router", + "site_uid": "lille", + "uid": "gw-lille" + } + ], + "rate": 10000000000 + } + ], + "type": "network_equipment", + "uid": "renater-lille", + "weathermap": {} + }, + "renater-nantes": { + "kind": "virtual", + "linecards": [ + { + "ports": [ + { + "uid": "renater-lyon" + }, + { + "uid": "renater-rennes" + }, + { + "kind": "router", + "site_uid": "nantes", + "uid": "gw-nantes" + } + ], + "rate": 10000000000 + } + ], + "type": "network_equipment", + "uid": "renater-nantes", + "weathermap": {} + } + }, + "type": "grid", + "uid": "grid5000" +} -- GitLab From 5f3ae6456f64056cddcf87f0c2ee19f65a0201f9 Mon Sep 17 00:00:00 2001 From: Jonathan Pastor <jonathancmoa@gmail.com> Date: Fri, 4 Oct 2019 17:24:36 +0200 Subject: [PATCH 23/57] remove unused function --- lib/refrepo/gen/oar-properties.rb | 8 -------- 1 file changed, 8 deletions(-) diff --git a/lib/refrepo/gen/oar-properties.rb b/lib/refrepo/gen/oar-properties.rb index 5f780448c41..72f9040d860 100644 --- a/lib/refrepo/gen/oar-properties.rb +++ b/lib/refrepo/gen/oar-properties.rb @@ -742,14 +742,6 @@ def ignore_keys() return ignore_default_keys() + ignore_disk_keys() end -def oarcmd_set_node_properties(host, default_properties) - return '' if default_properties.size == 0 - command = "echo; echo 'Setting properties for #{host}:'; echo\n" - command += "oarnodesetting --sql \"host='#{host}' and type='default'\" -p " - command += properties_internal(default_properties) - return command + "\n\n" -end - def get_oar_resources_from_oar(options) properties = {} options.fetch(:sites).each do |site_uid| -- GitLab From 32b77ff179807d049558586d15012cdd7dbb9ee9 Mon Sep 17 00:00:00 2001 From: Jonathan Pastor <jonathancmoa@gmail.com> Date: Fri, 4 Oct 2019 17:25:27 +0200 Subject: [PATCH 24/57] add spec tests for cases of misconfigured resources (core, gpu, quirk cluster) --- spec/oar_properties_spec.rb | 234 ++ ...configured_server_misconfigured_cores.json | 2978 +++++++++++++++++ ...i_configured_server_misconfigured_gpu.json | 2446 ++++++++++++++ ...r_api_configured_server_quirk_cluster.json | 2978 +++++++++++++++++ 4 files changed, 8636 insertions(+) create mode 100644 spec/stub_oar_properties/dump_oar_api_configured_server_misconfigured_cores.json create mode 100644 spec/stub_oar_properties/dump_oar_api_configured_server_misconfigured_gpu.json create mode 100644 spec/stub_oar_properties/dump_oar_api_configured_server_quirk_cluster.json diff --git a/spec/oar_properties_spec.rb b/spec/oar_properties_spec.rb index 6b7ccb05548..cf1e8cf0fc3 100644 --- a/spec/oar_properties_spec.rb +++ b/spec/oar_properties_spec.rb @@ -1335,4 +1335,238 @@ TXT expect(generator_output[:stdout]).to include(expected_clusterc1_diff) end end + + context 'interracting with a configured OAR server (quirk cluster)' do + before do + prepare_stubs("dump_oar_api_configured_server_quirk_cluster.json", "load_data_hierarchy_stubbed_data_without_gpu.json") + end + + it 'should generate correctly a table of nodes' do + + uri = URI(conf["uri"]) + + response = Net::HTTP.get(uri) + + expect(response).to be_an_instance_of(String) + + options = { + :table => true, + :print => false, + :update => false, + :diff => false, + :site => "fakesite", + :clusters => ["clusterc"] + } + + expected_header = <<-TXT ++---------- + -------------------- + ----- + ----- + -------- + ---- + -------------------- + ------------------------------ + ------------------------------+ +| cluster | host | cpu | core | cpuset | gpu | gpudevice | cpumodel | gpumodel | ++---------- + -------------------- + ----- + ----- + -------- + ---- + -------------------- + ------------------------------ + ------------------------------+ + TXT + + expected_clusterc1_desc = <<-TXT +| clusterc | clusterc-1 | 1 | 1 | 0 | | | Intel Xeon Silver 4110 | | +| clusterc | clusterc-1 | 1 | 3 | 1 | | | Intel Xeon Silver 4110 | | +| clusterc | clusterc-1 | 1 | 2 | 2 | | | Intel Xeon Silver 4110 | | +| clusterc | clusterc-1 | 1 | 4 | 3 | | | Intel Xeon Silver 4110 | | +| clusterc | clusterc-1 | 1 | 5 | 4 | | | Intel Xeon Silver 4110 | | +| clusterc | clusterc-1 | 1 | 6 | 5 | | | Intel Xeon Silver 4110 | | + TXT + + expected_clusterc2_desc = <<-TXT +| clusterc | clusterc-2 | 4 | 26 | 9 | | | Intel Xeon Silver 4110 | | +| clusterc | clusterc-2 | 4 | 27 | 10 | | | Intel Xeon Silver 4110 | | +| clusterc | clusterc-2 | 4 | 28 | 11 | | | Intel Xeon Silver 4110 | | +| clusterc | clusterc-2 | 4 | 29 | 12 | | | Intel Xeon Silver 4110 | | +| clusterc | clusterc-2 | 4 | 30 | 13 | | | Intel Xeon Silver 4110 | | +| clusterc | clusterc-2 | 4 | 31 | 14 | | | Intel Xeon Silver 4110 | | +| clusterc | clusterc-2 | 4 | 32 | 15 | | | Intel Xeon Silver 4110 | | +TXT + generator_output = capture do + generate_oar_properties(options) + end + + expect(generator_output[:stdout]).to include(expected_header) + expect(generator_output[:stdout]).to include(expected_clusterc1_desc) + expect(generator_output[:stdout]).to include(expected_clusterc2_desc) + end + + it 'should generate correctly all the commands to update OAR' do + + uri = URI(conf["uri"]) + + response = Net::HTTP.get(uri) + + expect(response).to be_an_instance_of(String) + + options = { + :table => false, + :print => true, + :update => false, + :diff => false, + :site => "fakesite", + :clusters => ["clusterc"] + } + + expected_header = <<-TXT +############################################# +# Create OAR properties that were created by 'oar_resources_add' +############################################# +property_exist 'host' || oarproperty -a host --varchar +property_exist 'cpu' || oarproperty -a cpu +property_exist 'core' || oarproperty -a core +property_exist 'gpudevice' || oarproperty -a gpudevice +property_exist 'gpu' || oarproperty -a gpu +property_exist 'gpu_model' || oarproperty -a gpu_model --varchar +TXT + + expected_clusterc1_cmds = <<-TXT +################################### +# clusterc-1.fakesite.grid5000.fr +################################### +oarnodesetting --sql "host='clusterc-1.fakesite.grid5000.fr' AND resource_id='1' AND type='default'" -p cpu=1 -p core=1 -p cpuset=0 +oarnodesetting --sql "host='clusterc-1.fakesite.grid5000.fr' AND resource_id='2' AND type='default'" -p cpu=1 -p core=3 -p cpuset=1 +oarnodesetting --sql "host='clusterc-1.fakesite.grid5000.fr' AND resource_id='3' AND type='default'" -p cpu=1 -p core=2 -p cpuset=2 +TXT + + expected_clusterc2_cmds = <<-TXT +oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' AND resource_id='32' AND type='default'" -p cpu=4 -p core=29 -p cpuset=12 +oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' AND resource_id='33' AND type='default'" -p cpu=4 -p core=30 -p cpuset=13 +oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' AND resource_id='34' AND type='default'" -p cpu=4 -p core=31 -p cpuset=14 +oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' AND resource_id='35' AND type='default'" -p cpu=4 -p core=32 -p cpuset=15 +TXT + expected_clusterc3_cmds = <<-TXT +oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' and type='default'" -p ip='172.16.64.2' -p cluster='clusterc' -p nodemodel='Dell PowerEdge T640' -p virtual='ivt' -p cpuarch='x86_64' -p cpucore=8 -p cputype='Intel Xeon Silver 4110' -p cpufreq='2.1' -p disktype='SATA' -p eth_count=1 -p eth_rate=10 -p ib_count=0 -p ib_rate=0 -p ib='NO' -p opa_count=0 -p opa_rate=0 -p opa='NO' -p myri_count=0 -p myri_rate=0 -p myri='NO' -p memcore=8192 -p memcpu=65536 -p memnode=131072 -p gpu_count=0 -p mic='NO' -p wattmeter='MULTIPLE' -p cluster_priority=201906 -p max_walltime=86400 -p production='YES' -p maintenance='NO' -p disk_reservation_count=3 +TXT + + generator_output = capture do + generate_oar_properties(options) + end + + expect(generator_output[:stdout]).to include(expected_header) + expect(generator_output[:stdout]).to include(expected_clusterc1_cmds) + expect(generator_output[:stdout]).to include(expected_clusterc2_cmds) + expect(generator_output[:stdout]).to include(expected_clusterc3_cmds) + end + + it 'should generate correctly a diff with the OAR server' do + + uri = URI(conf["uri"]) + + response = Net::HTTP.get(uri) + + expect(response).to be_an_instance_of(String) + + options = { + :table => false, + :print => false, + :update => false, + :diff => true, + :site => "fakesite", + :clusters => ["clusterc"], + :verbose => 2 + } + + expected_clusterc1_diff = <<-TXT +Output format: [ '-', 'key', 'value'] for missing, [ '+', 'key', 'value'] for added, ['~', 'key', 'old value', 'new value'] for changed + clusterc-1: OK + clusterc-2: OK + ["clusterc-1", "sdb.clusterc-1"]: OK + ["clusterc-1", "sdc.clusterc-1"]: OK + ["clusterc-1", "sdd.clusterc-1"]: OK + ["clusterc-2", "sdb.clusterc-2"]: OK + ["clusterc-2", "sdc.clusterc-2"]: OK + ["clusterc-2", "sdd.clusterc-2"]: OK +TXT + + + generator_output = capture do + generate_oar_properties(options) + end + + expect(generator_output[:stdout]).to include(expected_clusterc1_diff) + end + end + + context 'interracting with a configured OAR server (misconfigured cores)' do + before do + prepare_stubs("dump_oar_api_configured_server_misconfigured_cores.json", "load_data_hierarchy_stubbed_data_without_gpu.json") + end + + it 'should generate generate an error' do + + uri = URI(conf["uri"]) + + response = Net::HTTP.get(uri) + + expect(response).to be_an_instance_of(String) + + options = { + :table => false, + :print => true, + :update => false, + :diff => false, + :site => "fakesite", + :clusters => ["clusterc"] + } + + expected_output = <<-TXT +################################ +# Error: resources with ids [2, 3] have the same value for core (core is equal to 3) +# You can review this situation via the following command: +################################ +oarnodes -Y --sql "resource_id='2' OR resource_id='3'" +TXT + + has_encountered_an_error = false + generator_output = capture do + begin + generate_oar_properties(options) + rescue + has_encountered_an_error = true + end + end + + expect(generator_output[:stdout]).to include(expected_output) + expect(has_encountered_an_error).to be true + end + end + + context 'interracting with a configured OAR server (misconfigured gpu)' do + before do + prepare_stubs("dump_oar_api_configured_server_misconfigured_gpu.json", "load_data_hierarchy_stubbed_data_without_gpu.json") + end + + it 'should propose a correction' do + + uri = URI(conf["uri"]) + + response = Net::HTTP.get(uri) + + expect(response).to be_an_instance_of(String) + + options = { + :table => false, + :print => false, + :update => false, + :diff => true, + :site => "fakesite", + :clusters => ["clustera"] + } + + expected_output = <<-TXT +Error: resource 9 is associated to GPU (2), while I computed that it should be associated to 3 +TXT + expected_output2 = <<-TXT +oarnodesetting --sql "resource_id='9' AND type='default'" -p gpu=3 +TXT + + generator_output = capture do + generate_oar_properties(options) + end + + expect(generator_output[:stdout]).to include(expected_output) + expect(generator_output[:stdout]).to include(expected_output2) + end + end end diff --git a/spec/stub_oar_properties/dump_oar_api_configured_server_misconfigured_cores.json b/spec/stub_oar_properties/dump_oar_api_configured_server_misconfigured_cores.json new file mode 100644 index 00000000000..f3fe880a923 --- /dev/null +++ b/spec/stub_oar_properties/dump_oar_api_configured_server_misconfigured_cores.json @@ -0,0 +1,2978 @@ +{ + "links" : [ + { + "href" : "//oarapi/resources/details.json?limit=999999&offset=0", + "rel" : "self" + } + ], + "total" : 38, + "offset" : 0, + "items" : [ + { + "opa" : "NO", + "myri_count" : 0, + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "api_timestamp" : 1569605253, + "cpuset" : 0, + "ib_count" : 0, + "state" : "Alive", + "cpuarch" : "x86_64", + "eth_rate" : 10, + "nodemodel" : "Dell PowerEdge T640", + "gpu" : null, + "max_walltime" : 86400, + "besteffort" : "YES", + "host" : "clusterc-1.fakesite.grid5000.fr", + "maintenance" : "NO", + "cpucore" : 8, + "gpu_model" : null, + "opa_rate" : 0, + "state_num" : 1, + "myri" : "NO", + "disktype" : "SATA", + "myri_rate" : 0, + "next_finaud_decision" : "NO", + "cpu" : 1, + "drain" : "NO", + "core" : 1, + "scheduler_priority" : 0, + "type" : "default", + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "eth_count" : 1, + "finaud_decision" : "NO", + "last_available_upto" : 0, + "expiry_date" : 0, + "ip" : "172.16.64.1", + "suspended_jobs" : "NO", + "available_upto" : 2147483647, + "deploy" : "NO", + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-1.fakesite.grid5000.fr", + "rel" : "member", + "title" : "node" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/1" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/1/jobs" + } + ], + "last_job_date" : 0, + "id" : 1, + "memnode" : 131072, + "cluster_priority" : 201906, + "disk" : null, + "switch" : null, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "memcore" : 8192, + "diskpath" : null, + "virtual" : "ivt", + "network_address" : "clusterc-1.fakesite.grid5000.fr", + "ib_rate" : 0, + "mic" : "NO", + "gpudevice" : null, + "desktop_computing" : "NO", + "next_state" : "UnChanged", + "memcpu" : 65536, + "opa_count" : 0, + "production" : "YES", + "ib" : "NO" + }, + { + "cpu" : 1, + "next_finaud_decision" : "NO", + "scheduler_priority" : 0, + "type" : "default", + "core" : 3, + "drain" : "NO", + "disktype" : "SATA", + "myri" : "NO", + "myri_rate" : 0, + "last_available_upto" : 0, + "expiry_date" : 0, + "disk_reservation_count" : 3, + "cpufreq" : "2.1", + "finaud_decision" : "NO", + "eth_count" : 1, + "state" : "Alive", + "ib_count" : 0, + "cpuset" : 1, + "eth_rate" : 10, + "cpuarch" : "x86_64", + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "myri_count" : 0, + "opa" : "NO", + "api_timestamp" : 1569605253, + "maintenance" : "NO", + "gpu_model" : null, + "host" : "clusterc-1.fakesite.grid5000.fr", + "cpucore" : 8, + "besteffort" : "YES", + "state_num" : 1, + "opa_rate" : 0, + "gpu" : null, + "max_walltime" : 86400, + "nodemodel" : "Dell PowerEdge T640", + "gpudevice" : null, + "desktop_computing" : "NO", + "mic" : "NO", + "ib_rate" : 0, + "network_address" : "clusterc-1.fakesite.grid5000.fr", + "virtual" : "ivt", + "ib" : "NO", + "production" : "YES", + "memcpu" : 65536, + "next_state" : "UnChanged", + "opa_count" : 0, + "id" : 2, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-1.fakesite.grid5000.fr", + "rel" : "member", + "title" : "node" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/2" + }, + { + "href" : "//oarapi/resources/2/jobs", + "title" : "jobs", + "rel" : "collection" + } + ], + "last_job_date" : 0, + "memnode" : 131072, + "cluster_priority" : 201906, + "ip" : "172.16.64.1", + "available_upto" : 2147483647, + "deploy" : "NO", + "suspended_jobs" : "NO", + "memcore" : 8192, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "diskpath" : null, + "disk" : null, + "switch" : null + }, + { + "disk" : null, + "switch" : null, + "memcore" : 8192, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "diskpath" : null, + "ip" : "172.16.64.1", + "deploy" : "NO", + "available_upto" : 2147483647, + "suspended_jobs" : "NO", + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/clusterc-1.fakesite.grid5000.fr" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/3" + }, + { + "href" : "//oarapi/resources/3/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "id" : 3, + "last_job_date" : 0, + "cluster_priority" : 201906, + "memnode" : 131072, + "next_state" : "UnChanged", + "memcpu" : 65536, + "opa_count" : 0, + "ib" : "NO", + "production" : "YES", + "ib_rate" : 0, + "virtual" : "ivt", + "network_address" : "clusterc-1.fakesite.grid5000.fr", + "desktop_computing" : "NO", + "gpudevice" : null, + "mic" : "NO", + "gpu" : null, + "max_walltime" : 86400, + "nodemodel" : "Dell PowerEdge T640", + "gpu_model" : null, + "maintenance" : "NO", + "host" : "clusterc-1.fakesite.grid5000.fr", + "cpucore" : 8, + "besteffort" : "YES", + "state_num" : 1, + "opa_rate" : 0, + "cputype" : "Intel Xeon Silver 4110", + "cluster" : "clusterc", + "opa" : "NO", + "myri_count" : 0, + "api_timestamp" : 1569605253, + "state" : "Alive", + "ib_count" : 0, + "cpuset" : 2, + "cpuarch" : "x86_64", + "eth_rate" : 10, + "disk_reservation_count" : 3, + "cpufreq" : "2.1", + "finaud_decision" : "NO", + "eth_count" : 1, + "last_available_upto" : 0, + "expiry_date" : 0, + "disktype" : "SATA", + "myri" : "NO", + "myri_rate" : 0, + "cpu" : 1, + "next_finaud_decision" : "NO", + "scheduler_priority" : 0, + "type" : "default", + "drain" : "NO", + "core" : 3 + }, + { + "cluster_priority" : 201906, + "memnode" : 131072, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-1.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/4" + }, + { + "href" : "//oarapi/resources/4/jobs", + "title" : "jobs", + "rel" : "collection" + } + ], + "last_job_date" : 0, + "id" : 4, + "available_upto" : 2147483647, + "deploy" : "NO", + "suspended_jobs" : "NO", + "ip" : "172.16.64.1", + "diskpath" : null, + "memcore" : 8192, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "switch" : null, + "disk" : null, + "gpudevice" : null, + "desktop_computing" : "NO", + "mic" : "NO", + "ib_rate" : 0, + "network_address" : "clusterc-1.fakesite.grid5000.fr", + "virtual" : "ivt", + "production" : "YES", + "ib" : "NO", + "opa_count" : 0, + "next_state" : "UnChanged", + "memcpu" : 65536, + "cpuarch" : "x86_64", + "eth_rate" : 10, + "state" : "Alive", + "ib_count" : 0, + "cpuset" : 3, + "api_timestamp" : 1569605253, + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "opa" : "NO", + "myri_count" : 0, + "state_num" : 1, + "opa_rate" : 0, + "maintenance" : "NO", + "host" : "clusterc-1.fakesite.grid5000.fr", + "gpu_model" : null, + "cpucore" : 8, + "besteffort" : "YES", + "gpu" : null, + "max_walltime" : 86400, + "nodemodel" : "Dell PowerEdge T640", + "type" : "default", + "scheduler_priority" : 0, + "core" : 4, + "drain" : "NO", + "cpu" : 1, + "next_finaud_decision" : "NO", + "myri_rate" : 0, + "disktype" : "SATA", + "myri" : "NO", + "expiry_date" : 0, + "last_available_upto" : 0, + "finaud_decision" : "NO", + "eth_count" : 1, + "disk_reservation_count" : 3, + "cpufreq" : "2.1" + }, + { + "finaud_decision" : "NO", + "eth_count" : 1, + "disk_reservation_count" : 3, + "cpufreq" : "2.1", + "expiry_date" : 0, + "last_available_upto" : 0, + "myri_rate" : 0, + "disktype" : "SATA", + "myri" : "NO", + "scheduler_priority" : 0, + "type" : "default", + "drain" : "NO", + "core" : 5, + "next_finaud_decision" : "NO", + "cpu" : 1, + "gpu" : null, + "max_walltime" : 86400, + "nodemodel" : "Dell PowerEdge T640", + "state_num" : 1, + "opa_rate" : 0, + "host" : "clusterc-1.fakesite.grid5000.fr", + "maintenance" : "NO", + "cpucore" : 8, + "gpu_model" : null, + "besteffort" : "YES", + "api_timestamp" : 1569605253, + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "myri_count" : 0, + "opa" : "NO", + "eth_rate" : 10, + "cpuarch" : "x86_64", + "state" : "Alive", + "ib_count" : 0, + "cpuset" : 4, + "opa_count" : 0, + "next_state" : "UnChanged", + "memcpu" : 65536, + "ib" : "NO", + "production" : "YES", + "ib_rate" : 0, + "virtual" : "ivt", + "network_address" : "clusterc-1.fakesite.grid5000.fr", + "gpudevice" : null, + "desktop_computing" : "NO", + "mic" : "NO", + "switch" : null, + "disk" : null, + "diskpath" : null, + "memcore" : 8192, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "deploy" : "NO", + "available_upto" : 2147483647, + "suspended_jobs" : "NO", + "ip" : "172.16.64.1", + "memnode" : 131072, + "cluster_priority" : 201906, + "last_job_date" : 0, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-1.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/5" + }, + { + "title" : "jobs", + "rel" : "collection", + "href" : "//oarapi/resources/5/jobs" + } + ], + "id" : 5 + }, + { + "besteffort" : "YES", + "host" : "clusterc-1.fakesite.grid5000.fr", + "maintenance" : "NO", + "gpu_model" : null, + "cpucore" : 8, + "opa_rate" : 0, + "state_num" : 1, + "nodemodel" : "Dell PowerEdge T640", + "gpu" : null, + "max_walltime" : 86400, + "cpuset" : 5, + "ib_count" : 0, + "state" : "Alive", + "eth_rate" : 10, + "cpuarch" : "x86_64", + "opa" : "NO", + "myri_count" : 0, + "cputype" : "Intel Xeon Silver 4110", + "cluster" : "clusterc", + "api_timestamp" : 1569605253, + "last_available_upto" : 0, + "expiry_date" : 0, + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "eth_count" : 1, + "finaud_decision" : "NO", + "cpu" : 1, + "next_finaud_decision" : "NO", + "core" : 6, + "drain" : "NO", + "type" : "default", + "scheduler_priority" : 0, + "myri" : "NO", + "disktype" : "SATA", + "myri_rate" : 0, + "wattmeter" : "MULTIPLE", + "gpu_count" : 0, + "memcore" : 8192, + "diskpath" : null, + "disk" : null, + "switch" : null, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-1.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "href" : "//oarapi/resources/6", + "rel" : "self" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/6/jobs" + } + ], + "last_job_date" : 0, + "id" : 6, + "cluster_priority" : 201906, + "memnode" : 131072, + "ip" : "172.16.64.1", + "suspended_jobs" : "NO", + "available_upto" : 2147483647, + "deploy" : "NO", + "ib" : "NO", + "production" : "YES", + "next_state" : "UnChanged", + "memcpu" : 65536, + "opa_count" : 0, + "mic" : "NO", + "gpudevice" : null, + "desktop_computing" : "NO", + "virtual" : "ivt", + "network_address" : "clusterc-1.fakesite.grid5000.fr", + "ib_rate" : 0 + }, + { + "next_state" : "UnChanged", + "memcpu" : 65536, + "opa_count" : 0, + "ib" : "NO", + "production" : "YES", + "ib_rate" : 0, + "virtual" : "ivt", + "network_address" : "clusterc-1.fakesite.grid5000.fr", + "desktop_computing" : "NO", + "gpudevice" : null, + "mic" : "NO", + "disk" : null, + "switch" : null, + "memcore" : 8192, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "diskpath" : null, + "ip" : "172.16.64.1", + "available_upto" : 2147483647, + "deploy" : "NO", + "suspended_jobs" : "NO", + "last_job_date" : 0, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-1.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/7" + }, + { + "href" : "//oarapi/resources/7/jobs", + "title" : "jobs", + "rel" : "collection" + } + ], + "id" : 7, + "cluster_priority" : 201906, + "memnode" : 131072, + "disk_reservation_count" : 3, + "cpufreq" : "2.1", + "finaud_decision" : "NO", + "eth_count" : 1, + "last_available_upto" : 0, + "expiry_date" : 0, + "myri" : "NO", + "disktype" : "SATA", + "myri_rate" : 0, + "cpu" : 1, + "next_finaud_decision" : "NO", + "scheduler_priority" : 0, + "type" : "default", + "drain" : "NO", + "core" : 7, + "gpu" : null, + "max_walltime" : 86400, + "nodemodel" : "Dell PowerEdge T640", + "gpu_model" : null, + "maintenance" : "NO", + "host" : "clusterc-1.fakesite.grid5000.fr", + "cpucore" : 8, + "besteffort" : "YES", + "state_num" : 1, + "opa_rate" : 0, + "cputype" : "Intel Xeon Silver 4110", + "cluster" : "clusterc", + "opa" : "NO", + "myri_count" : 0, + "api_timestamp" : 1569605253, + "ib_count" : 0, + "state" : "Alive", + "cpuset" : 6, + "cpuarch" : "x86_64", + "eth_rate" : 10 + }, + { + "cputype" : "Intel Xeon Silver 4110", + "cluster" : "clusterc", + "myri_count" : 0, + "opa" : "NO", + "api_timestamp" : 1569605253, + "state" : "Alive", + "ib_count" : 0, + "cpuset" : 7, + "cpuarch" : "x86_64", + "eth_rate" : 10, + "gpu" : null, + "max_walltime" : 86400, + "nodemodel" : "Dell PowerEdge T640", + "maintenance" : "NO", + "cpucore" : 8, + "host" : "clusterc-1.fakesite.grid5000.fr", + "gpu_model" : null, + "besteffort" : "YES", + "state_num" : 1, + "opa_rate" : 0, + "myri" : "NO", + "disktype" : "SATA", + "myri_rate" : 0, + "cpu" : 1, + "next_finaud_decision" : "NO", + "type" : "default", + "scheduler_priority" : 0, + "drain" : "NO", + "core" : 8, + "disk_reservation_count" : 3, + "cpufreq" : "2.1", + "finaud_decision" : "NO", + "eth_count" : 1, + "last_available_upto" : 0, + "expiry_date" : 0, + "ip" : "172.16.64.1", + "available_upto" : 2147483647, + "deploy" : "NO", + "suspended_jobs" : "NO", + "id" : 8, + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/clusterc-1.fakesite.grid5000.fr" + }, + { + "href" : "//oarapi/resources/8", + "rel" : "self" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/8/jobs" + } + ], + "last_job_date" : 0, + "memnode" : 131072, + "cluster_priority" : 201906, + "disk" : null, + "switch" : null, + "memcore" : 8192, + "wattmeter" : "MULTIPLE", + "gpu_count" : 0, + "diskpath" : null, + "ib_rate" : 0, + "network_address" : "clusterc-1.fakesite.grid5000.fr", + "virtual" : "ivt", + "gpudevice" : null, + "desktop_computing" : "NO", + "mic" : "NO", + "next_state" : "UnChanged", + "memcpu" : 65536, + "opa_count" : 0, + "production" : "YES", + "ib" : "NO" + }, + { + "production" : "YES", + "ib" : "NO", + "opa_count" : 0, + "next_state" : "UnChanged", + "memcpu" : 65536, + "mic" : "NO", + "gpudevice" : null, + "desktop_computing" : "NO", + "virtual" : "ivt", + "network_address" : "clusterc-1.fakesite.grid5000.fr", + "ib_rate" : 0, + "diskpath" : null, + "wattmeter" : "MULTIPLE", + "gpu_count" : 0, + "memcore" : 8192, + "switch" : null, + "disk" : null, + "cluster_priority" : 201906, + "memnode" : 131072, + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/clusterc-1.fakesite.grid5000.fr" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/9" + }, + { + "href" : "//oarapi/resources/9/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "last_job_date" : 0, + "id" : 9, + "suspended_jobs" : "NO", + "available_upto" : 2147483647, + "deploy" : "NO", + "ip" : "172.16.64.1", + "expiry_date" : 0, + "last_available_upto" : 0, + "eth_count" : 1, + "finaud_decision" : "NO", + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "core" : 9, + "drain" : "NO", + "scheduler_priority" : 0, + "type" : "default", + "next_finaud_decision" : "NO", + "cpu" : 2, + "myri_rate" : 0, + "myri" : "NO", + "disktype" : "SATA", + "opa_rate" : 0, + "state_num" : 1, + "besteffort" : "YES", + "maintenance" : "NO", + "host" : "clusterc-1.fakesite.grid5000.fr", + "cpucore" : 8, + "gpu_model" : null, + "nodemodel" : "Dell PowerEdge T640", + "gpu" : null, + "max_walltime" : 86400, + "cpuarch" : "x86_64", + "eth_rate" : 10, + "cpuset" : 8, + "ib_count" : 0, + "state" : "Alive", + "api_timestamp" : 1569605253, + "myri_count" : 0, + "opa" : "NO", + "cputype" : "Intel Xeon Silver 4110", + "cluster" : "clusterc" + }, + { + "next_state" : "UnChanged", + "memcpu" : 65536, + "opa_count" : 0, + "ib" : "NO", + "production" : "YES", + "network_address" : "clusterc-1.fakesite.grid5000.fr", + "virtual" : "ivt", + "ib_rate" : 0, + "mic" : "NO", + "gpudevice" : null, + "desktop_computing" : "NO", + "disk" : null, + "switch" : null, + "wattmeter" : "MULTIPLE", + "gpu_count" : 0, + "memcore" : 8192, + "diskpath" : null, + "ip" : "172.16.64.1", + "suspended_jobs" : "NO", + "available_upto" : 2147483647, + "deploy" : "NO", + "last_job_date" : 0, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-1.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "href" : "//oarapi/resources/10", + "rel" : "self" + }, + { + "href" : "//oarapi/resources/10/jobs", + "title" : "jobs", + "rel" : "collection" + } + ], + "id" : 10, + "cluster_priority" : 201906, + "memnode" : 131072, + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "eth_count" : 1, + "finaud_decision" : "NO", + "last_available_upto" : 0, + "expiry_date" : 0, + "disktype" : "SATA", + "myri" : "NO", + "myri_rate" : 0, + "next_finaud_decision" : "NO", + "cpu" : 2, + "drain" : "NO", + "core" : 10, + "type" : "default", + "scheduler_priority" : 0, + "nodemodel" : "Dell PowerEdge T640", + "max_walltime" : 86400, + "gpu" : null, + "besteffort" : "YES", + "maintenance" : "NO", + "host" : "clusterc-1.fakesite.grid5000.fr", + "gpu_model" : null, + "cpucore" : 8, + "opa_rate" : 0, + "state_num" : 1, + "myri_count" : 0, + "opa" : "NO", + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "api_timestamp" : 1569605253, + "cpuset" : 9, + "ib_count" : 0, + "state" : "Alive", + "eth_rate" : 10, + "cpuarch" : "x86_64" + }, + { + "cpu" : 2, + "next_finaud_decision" : "NO", + "core" : 11, + "drain" : "NO", + "scheduler_priority" : 0, + "type" : "default", + "myri" : "NO", + "disktype" : "SATA", + "myri_rate" : 0, + "last_available_upto" : 0, + "expiry_date" : 0, + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "eth_count" : 1, + "finaud_decision" : "NO", + "cpuset" : 10, + "state" : "Alive", + "ib_count" : 0, + "eth_rate" : 10, + "cpuarch" : "x86_64", + "opa" : "NO", + "myri_count" : 0, + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "api_timestamp" : 1569605253, + "besteffort" : "YES", + "gpu_model" : null, + "maintenance" : "NO", + "cpucore" : 8, + "host" : "clusterc-1.fakesite.grid5000.fr", + "opa_rate" : 0, + "state_num" : 1, + "nodemodel" : "Dell PowerEdge T640", + "max_walltime" : 86400, + "gpu" : null, + "mic" : "NO", + "gpudevice" : null, + "desktop_computing" : "NO", + "network_address" : "clusterc-1.fakesite.grid5000.fr", + "virtual" : "ivt", + "ib_rate" : 0, + "production" : "YES", + "ib" : "NO", + "next_state" : "UnChanged", + "memcpu" : 65536, + "opa_count" : 0, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-1.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/11" + }, + { + "href" : "//oarapi/resources/11/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "last_job_date" : 0, + "id" : 11, + "cluster_priority" : 201906, + "memnode" : 131072, + "ip" : "172.16.64.1", + "suspended_jobs" : "NO", + "deploy" : "NO", + "available_upto" : 2147483647, + "wattmeter" : "MULTIPLE", + "gpu_count" : 0, + "memcore" : 8192, + "diskpath" : null, + "disk" : null, + "switch" : null + }, + { + "myri_rate" : 0, + "myri" : "NO", + "disktype" : "SATA", + "drain" : "NO", + "core" : 12, + "scheduler_priority" : 0, + "type" : "default", + "next_finaud_decision" : "NO", + "cpu" : 2, + "eth_count" : 1, + "finaud_decision" : "NO", + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "expiry_date" : 0, + "last_available_upto" : 0, + "api_timestamp" : 1569605253, + "myri_count" : 0, + "opa" : "NO", + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "cpuarch" : "x86_64", + "eth_rate" : 10, + "cpuset" : 11, + "ib_count" : 0, + "state" : "Alive", + "nodemodel" : "Dell PowerEdge T640", + "max_walltime" : 86400, + "gpu" : null, + "opa_rate" : 0, + "state_num" : 1, + "besteffort" : "YES", + "maintenance" : "NO", + "host" : "clusterc-1.fakesite.grid5000.fr", + "gpu_model" : null, + "cpucore" : 8, + "virtual" : "ivt", + "network_address" : "clusterc-1.fakesite.grid5000.fr", + "ib_rate" : 0, + "mic" : "NO", + "desktop_computing" : "NO", + "gpudevice" : null, + "opa_count" : 0, + "memcpu" : 65536, + "next_state" : "UnChanged", + "ib" : "NO", + "production" : "YES", + "suspended_jobs" : "NO", + "available_upto" : 2147483647, + "deploy" : "NO", + "ip" : "172.16.64.1", + "memnode" : 131072, + "cluster_priority" : 201906, + "id" : 12, + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/clusterc-1.fakesite.grid5000.fr" + }, + { + "href" : "//oarapi/resources/12", + "rel" : "self" + }, + { + "title" : "jobs", + "rel" : "collection", + "href" : "//oarapi/resources/12/jobs" + } + ], + "last_job_date" : 0, + "switch" : null, + "disk" : null, + "diskpath" : null, + "wattmeter" : "MULTIPLE", + "gpu_count" : 0, + "memcore" : 8192 + }, + { + "expiry_date" : 0, + "last_available_upto" : 0, + "eth_count" : 1, + "finaud_decision" : "NO", + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "core" : 13, + "drain" : "NO", + "scheduler_priority" : 0, + "type" : "default", + "cpu" : 2, + "next_finaud_decision" : "NO", + "myri_rate" : 0, + "disktype" : "SATA", + "myri" : "NO", + "opa_rate" : 0, + "state_num" : 1, + "besteffort" : "YES", + "host" : "clusterc-1.fakesite.grid5000.fr", + "maintenance" : "NO", + "gpu_model" : null, + "cpucore" : 8, + "nodemodel" : "Dell PowerEdge T640", + "gpu" : null, + "max_walltime" : 86400, + "eth_rate" : 10, + "cpuarch" : "x86_64", + "cpuset" : 12, + "ib_count" : 0, + "state" : "Alive", + "api_timestamp" : 1569605253, + "opa" : "NO", + "myri_count" : 0, + "cputype" : "Intel Xeon Silver 4110", + "cluster" : "clusterc", + "ib" : "NO", + "production" : "YES", + "opa_count" : 0, + "next_state" : "UnChanged", + "memcpu" : 65536, + "mic" : "NO", + "desktop_computing" : "NO", + "gpudevice" : null, + "network_address" : "clusterc-1.fakesite.grid5000.fr", + "virtual" : "ivt", + "ib_rate" : 0, + "diskpath" : null, + "wattmeter" : "MULTIPLE", + "gpu_count" : 0, + "memcore" : 8192, + "switch" : null, + "disk" : null, + "cluster_priority" : 201906, + "memnode" : 131072, + "last_job_date" : 0, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-1.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/13" + }, + { + "title" : "jobs", + "rel" : "collection", + "href" : "//oarapi/resources/13/jobs" + } + ], + "id" : 13, + "suspended_jobs" : "NO", + "available_upto" : 2147483647, + "deploy" : "NO", + "ip" : "172.16.64.1" + }, + { + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "opa" : "NO", + "myri_count" : 0, + "api_timestamp" : 1569605253, + "state" : "Alive", + "ib_count" : 0, + "cpuset" : 13, + "cpuarch" : "x86_64", + "eth_rate" : 10, + "max_walltime" : 86400, + "gpu" : null, + "nodemodel" : "Dell PowerEdge T640", + "host" : "clusterc-1.fakesite.grid5000.fr", + "maintenance" : "NO", + "gpu_model" : null, + "cpucore" : 8, + "besteffort" : "YES", + "state_num" : 1, + "opa_rate" : 0, + "myri" : "NO", + "disktype" : "SATA", + "myri_rate" : 0, + "next_finaud_decision" : "NO", + "cpu" : 2, + "scheduler_priority" : 0, + "type" : "default", + "core" : 14, + "drain" : "NO", + "disk_reservation_count" : 3, + "cpufreq" : "2.1", + "finaud_decision" : "NO", + "eth_count" : 1, + "last_available_upto" : 0, + "expiry_date" : 0, + "ip" : "172.16.64.1", + "available_upto" : 2147483647, + "deploy" : "NO", + "suspended_jobs" : "NO", + "links" : [ + { + "title" : "node", + "rel" : "member", + "href" : "//oarapi/resources/nodes/clusterc-1.fakesite.grid5000.fr" + }, + { + "href" : "//oarapi/resources/14", + "rel" : "self" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/14/jobs" + } + ], + "last_job_date" : 0, + "id" : 14, + "memnode" : 131072, + "cluster_priority" : 201906, + "disk" : null, + "switch" : null, + "memcore" : 8192, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "diskpath" : null, + "ib_rate" : 0, + "network_address" : "clusterc-1.fakesite.grid5000.fr", + "virtual" : "ivt", + "gpudevice" : null, + "desktop_computing" : "NO", + "mic" : "NO", + "memcpu" : 65536, + "next_state" : "UnChanged", + "opa_count" : 0, + "production" : "YES", + "ib" : "NO" + }, + { + "besteffort" : "YES", + "maintenance" : "NO", + "host" : "clusterc-1.fakesite.grid5000.fr", + "cpucore" : 8, + "gpu_model" : null, + "opa_rate" : 0, + "state_num" : 1, + "nodemodel" : "Dell PowerEdge T640", + "max_walltime" : 86400, + "gpu" : null, + "cpuset" : 14, + "ib_count" : 0, + "state" : "Alive", + "cpuarch" : "x86_64", + "eth_rate" : 10, + "myri_count" : 0, + "opa" : "NO", + "cputype" : "Intel Xeon Silver 4110", + "cluster" : "clusterc", + "api_timestamp" : 1569605253, + "last_available_upto" : 0, + "expiry_date" : 0, + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "eth_count" : 1, + "finaud_decision" : "NO", + "next_finaud_decision" : "NO", + "cpu" : 2, + "core" : 15, + "drain" : "NO", + "type" : "default", + "scheduler_priority" : 0, + "myri" : "NO", + "disktype" : "SATA", + "myri_rate" : 0, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "memcore" : 8192, + "diskpath" : null, + "disk" : null, + "switch" : null, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-1.fakesite.grid5000.fr", + "rel" : "member", + "title" : "node" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/15" + }, + { + "title" : "jobs", + "rel" : "collection", + "href" : "//oarapi/resources/15/jobs" + } + ], + "last_job_date" : 0, + "id" : 15, + "cluster_priority" : 201906, + "memnode" : 131072, + "ip" : "172.16.64.1", + "suspended_jobs" : "NO", + "deploy" : "NO", + "available_upto" : 2147483647, + "production" : "YES", + "ib" : "NO", + "next_state" : "UnChanged", + "memcpu" : 65536, + "opa_count" : 0, + "mic" : "NO", + "gpudevice" : null, + "desktop_computing" : "NO", + "network_address" : "clusterc-1.fakesite.grid5000.fr", + "virtual" : "ivt", + "ib_rate" : 0 + }, + { + "ib" : "NO", + "production" : "YES", + "next_state" : "UnChanged", + "memcpu" : 65536, + "opa_count" : 0, + "mic" : "NO", + "gpudevice" : null, + "desktop_computing" : "NO", + "virtual" : "ivt", + "network_address" : "clusterc-1.fakesite.grid5000.fr", + "ib_rate" : 0, + "wattmeter" : "MULTIPLE", + "gpu_count" : 0, + "memcore" : 8192, + "diskpath" : null, + "disk" : null, + "switch" : null, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-1.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "href" : "//oarapi/resources/16", + "rel" : "self" + }, + { + "href" : "//oarapi/resources/16/jobs", + "title" : "jobs", + "rel" : "collection" + } + ], + "id" : 16, + "last_job_date" : 0, + "cluster_priority" : 201906, + "memnode" : 131072, + "ip" : "172.16.64.1", + "suspended_jobs" : "NO", + "available_upto" : 2147483647, + "deploy" : "NO", + "last_available_upto" : 0, + "expiry_date" : 0, + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "eth_count" : 1, + "finaud_decision" : "NO", + "next_finaud_decision" : "NO", + "cpu" : 2, + "drain" : "NO", + "core" : 16, + "type" : "default", + "scheduler_priority" : 0, + "myri" : "NO", + "disktype" : "SATA", + "myri_rate" : 0, + "besteffort" : "YES", + "maintenance" : "NO", + "host" : "clusterc-1.fakesite.grid5000.fr", + "gpu_model" : null, + "cpucore" : 8, + "opa_rate" : 0, + "state_num" : 1, + "nodemodel" : "Dell PowerEdge T640", + "max_walltime" : 86400, + "gpu" : null, + "cpuset" : 15, + "ib_count" : 0, + "state" : "Alive", + "cpuarch" : "x86_64", + "eth_rate" : 10, + "opa" : "NO", + "myri_count" : 0, + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "api_timestamp" : 1569605253 + }, + { + "opa_count" : null, + "next_state" : "UnChanged", + "memcpu" : null, + "ib" : null, + "production" : "YES", + "ib_rate" : null, + "virtual" : null, + "network_address" : "", + "gpudevice" : null, + "desktop_computing" : "NO", + "mic" : null, + "switch" : null, + "disk" : "sdb.clusterc-1", + "diskpath" : "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:1:0", + "memcore" : null, + "wattmeter" : null, + "gpu_count" : null, + "deploy" : "YES", + "available_upto" : 0, + "suspended_jobs" : "NO", + "ip" : null, + "memnode" : null, + "cluster_priority" : null, + "links" : [ + { + "href" : "//oarapi/resources/nodes/", + "title" : "node", + "rel" : "member" + }, + { + "href" : "//oarapi/resources/17", + "rel" : "self" + }, + { + "href" : "//oarapi/resources/17/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "id" : 17, + "last_job_date" : 0, + "finaud_decision" : "NO", + "eth_count" : null, + "disk_reservation_count" : null, + "cpufreq" : null, + "expiry_date" : 0, + "last_available_upto" : 0, + "myri_rate" : null, + "myri" : null, + "disktype" : null, + "scheduler_priority" : 0, + "type" : "disk", + "core" : null, + "drain" : "NO", + "cpu" : null, + "next_finaud_decision" : "NO", + "gpu" : null, + "max_walltime" : null, + "nodemodel" : null, + "state_num" : 1, + "opa_rate" : null, + "cpucore" : null, + "maintenance" : "NO", + "host" : "clusterc-1.fakesite.grid5000.fr", + "gpu_model" : null, + "besteffort" : "YES", + "api_timestamp" : 1569605253, + "cputype" : null, + "cluster" : "clusterc", + "myri_count" : null, + "opa" : null, + "eth_rate" : null, + "cpuarch" : null, + "state" : "Alive", + "ib_count" : null, + "cpuset" : -1 + }, + { + "type" : "disk", + "scheduler_priority" : 0, + "core" : null, + "drain" : "NO", + "next_finaud_decision" : "NO", + "cpu" : null, + "myri_rate" : null, + "myri" : null, + "disktype" : null, + "expiry_date" : 0, + "last_available_upto" : 0, + "finaud_decision" : "NO", + "eth_count" : null, + "disk_reservation_count" : null, + "cpufreq" : null, + "cpuarch" : null, + "eth_rate" : null, + "ib_count" : null, + "state" : "Alive", + "cpuset" : -1, + "api_timestamp" : 1569605253, + "cluster" : "clusterc", + "cputype" : null, + "myri_count" : null, + "opa" : null, + "state_num" : 1, + "opa_rate" : null, + "maintenance" : "NO", + "cpucore" : null, + "host" : "clusterc-1.fakesite.grid5000.fr", + "gpu_model" : null, + "besteffort" : "YES", + "gpu" : null, + "max_walltime" : null, + "nodemodel" : null, + "gpudevice" : null, + "desktop_computing" : "NO", + "mic" : null, + "ib_rate" : null, + "network_address" : "", + "virtual" : null, + "production" : "YES", + "ib" : null, + "opa_count" : null, + "memcpu" : null, + "next_state" : "UnChanged", + "memnode" : null, + "cluster_priority" : null, + "last_job_date" : 0, + "links" : [ + { + "href" : "//oarapi/resources/nodes/", + "title" : "node", + "rel" : "member" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/18" + }, + { + "title" : "jobs", + "rel" : "collection", + "href" : "//oarapi/resources/18/jobs" + } + ], + "id" : 18, + "available_upto" : 0, + "deploy" : "YES", + "suspended_jobs" : "NO", + "ip" : null, + "diskpath" : "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:2:0", + "memcore" : null, + "gpu_count" : null, + "wattmeter" : null, + "switch" : null, + "disk" : "sdc.clusterc-1" + }, + { + "expiry_date" : 0, + "last_available_upto" : 0, + "eth_count" : null, + "finaud_decision" : "NO", + "cpufreq" : null, + "disk_reservation_count" : null, + "drain" : "NO", + "core" : null, + "scheduler_priority" : 0, + "type" : "disk", + "next_finaud_decision" : "NO", + "cpu" : null, + "myri_rate" : null, + "disktype" : null, + "myri" : null, + "opa_rate" : null, + "state_num" : 1, + "besteffort" : "YES", + "maintenance" : "NO", + "host" : "clusterc-1.fakesite.grid5000.fr", + "cpucore" : null, + "gpu_model" : null, + "nodemodel" : null, + "max_walltime" : null, + "gpu" : null, + "eth_rate" : null, + "cpuarch" : null, + "cpuset" : -1, + "state" : "Alive", + "ib_count" : null, + "api_timestamp" : 1569605253, + "myri_count" : null, + "opa" : null, + "cputype" : null, + "cluster" : "clusterc", + "ib" : null, + "production" : "YES", + "opa_count" : null, + "next_state" : "UnChanged", + "memcpu" : null, + "mic" : null, + "gpudevice" : null, + "desktop_computing" : "NO", + "network_address" : "", + "virtual" : null, + "ib_rate" : null, + "diskpath" : "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:3:0", + "gpu_count" : null, + "wattmeter" : null, + "memcore" : null, + "switch" : null, + "disk" : "sdd.clusterc-1", + "cluster_priority" : null, + "memnode" : null, + "links" : [ + { + "title" : "node", + "rel" : "member", + "href" : "//oarapi/resources/nodes/" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/19" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/19/jobs" + } + ], + "id" : 19, + "last_job_date" : 0, + "suspended_jobs" : "NO", + "available_upto" : 0, + "deploy" : "YES", + "ip" : null + }, + { + "eth_count" : 1, + "finaud_decision" : "NO", + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "expiry_date" : 0, + "last_available_upto" : 0, + "myri_rate" : 0, + "disktype" : "SATA", + "myri" : "NO", + "drain" : "NO", + "core" : 17, + "type" : "default", + "scheduler_priority" : 0, + "next_finaud_decision" : "NO", + "cpu" : 3, + "nodemodel" : "Dell PowerEdge T640", + "max_walltime" : 86400, + "gpu" : null, + "opa_rate" : 0, + "state_num" : 1, + "besteffort" : "YES", + "maintenance" : "NO", + "cpucore" : 8, + "host" : "clusterc-2.fakesite.grid5000.fr", + "gpu_model" : null, + "api_timestamp" : 1569605253, + "myri_count" : 0, + "opa" : "NO", + "cputype" : "Intel Xeon Silver 4110", + "cluster" : "clusterc", + "eth_rate" : 10, + "cpuarch" : "x86_64", + "cpuset" : 0, + "state" : "Alive", + "ib_count" : 0, + "opa_count" : 0, + "next_state" : "UnChanged", + "memcpu" : 65536, + "production" : "YES", + "ib" : "NO", + "virtual" : "ivt", + "network_address" : "clusterc-2.fakesite.grid5000.fr", + "ib_rate" : 0, + "mic" : "NO", + "gpudevice" : null, + "desktop_computing" : "NO", + "switch" : null, + "disk" : null, + "diskpath" : null, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "memcore" : 8192, + "suspended_jobs" : "NO", + "deploy" : "NO", + "available_upto" : 2147483647, + "ip" : "172.16.64.2", + "cluster_priority" : 201906, + "memnode" : 131072, + "id" : 20, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-2.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "href" : "//oarapi/resources/20", + "rel" : "self" + }, + { + "title" : "jobs", + "rel" : "collection", + "href" : "//oarapi/resources/20/jobs" + } + ], + "last_job_date" : 0 + }, + { + "gpudevice" : null, + "desktop_computing" : "NO", + "mic" : "NO", + "ib_rate" : 0, + "network_address" : "clusterc-2.fakesite.grid5000.fr", + "virtual" : "ivt", + "production" : "YES", + "ib" : "NO", + "next_state" : "UnChanged", + "memcpu" : 65536, + "opa_count" : 0, + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/clusterc-2.fakesite.grid5000.fr" + }, + { + "href" : "//oarapi/resources/21", + "rel" : "self" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/21/jobs" + } + ], + "id" : 21, + "last_job_date" : 0, + "cluster_priority" : 201906, + "memnode" : 131072, + "ip" : "172.16.64.2", + "deploy" : "NO", + "available_upto" : 2147483647, + "suspended_jobs" : "NO", + "memcore" : 8192, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "diskpath" : null, + "disk" : null, + "switch" : null, + "cpu" : 3, + "next_finaud_decision" : "NO", + "type" : "default", + "scheduler_priority" : 0, + "drain" : "NO", + "core" : 18, + "disktype" : "SATA", + "myri" : "NO", + "myri_rate" : 0, + "last_available_upto" : 0, + "expiry_date" : 0, + "disk_reservation_count" : 3, + "cpufreq" : "2.1", + "finaud_decision" : "NO", + "eth_count" : 1, + "state" : "Alive", + "ib_count" : 0, + "cpuset" : 1, + "cpuarch" : "x86_64", + "eth_rate" : 10, + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "myri_count" : 0, + "opa" : "NO", + "api_timestamp" : 1569605253, + "cpucore" : 8, + "maintenance" : "NO", + "host" : "clusterc-2.fakesite.grid5000.fr", + "gpu_model" : null, + "besteffort" : "YES", + "state_num" : 1, + "opa_rate" : 0, + "gpu" : null, + "max_walltime" : 86400, + "nodemodel" : "Dell PowerEdge T640" + }, + { + "ib_rate" : 0, + "virtual" : "ivt", + "network_address" : "clusterc-2.fakesite.grid5000.fr", + "gpudevice" : null, + "desktop_computing" : "NO", + "mic" : "NO", + "opa_count" : 0, + "next_state" : "UnChanged", + "memcpu" : 65536, + "production" : "YES", + "ib" : "NO", + "available_upto" : 2147483647, + "deploy" : "NO", + "suspended_jobs" : "NO", + "ip" : "172.16.64.2", + "cluster_priority" : 201906, + "memnode" : 131072, + "last_job_date" : 0, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-2.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/22" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/22/jobs" + } + ], + "id" : 22, + "switch" : null, + "disk" : null, + "diskpath" : null, + "memcore" : 8192, + "wattmeter" : "MULTIPLE", + "gpu_count" : 0, + "myri_rate" : 0, + "disktype" : "SATA", + "myri" : "NO", + "type" : "default", + "scheduler_priority" : 0, + "core" : 19, + "drain" : "NO", + "next_finaud_decision" : "NO", + "cpu" : 3, + "finaud_decision" : "NO", + "eth_count" : 1, + "disk_reservation_count" : 3, + "cpufreq" : "2.1", + "expiry_date" : 0, + "last_available_upto" : 0, + "api_timestamp" : 1569605253, + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "opa" : "NO", + "myri_count" : 0, + "eth_rate" : 10, + "cpuarch" : "x86_64", + "ib_count" : 0, + "state" : "Alive", + "cpuset" : 2, + "gpu" : null, + "max_walltime" : 86400, + "nodemodel" : "Dell PowerEdge T640", + "state_num" : 1, + "opa_rate" : 0, + "maintenance" : "NO", + "gpu_model" : null, + "host" : "clusterc-2.fakesite.grid5000.fr", + "cpucore" : 8, + "besteffort" : "YES" + }, + { + "gpudevice" : null, + "desktop_computing" : "NO", + "mic" : "NO", + "ib_rate" : 0, + "network_address" : "clusterc-2.fakesite.grid5000.fr", + "virtual" : "ivt", + "production" : "YES", + "ib" : "NO", + "opa_count" : 0, + "memcpu" : 65536, + "next_state" : "UnChanged", + "memnode" : 131072, + "cluster_priority" : 201906, + "last_job_date" : 0, + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/clusterc-2.fakesite.grid5000.fr" + }, + { + "href" : "//oarapi/resources/23", + "rel" : "self" + }, + { + "href" : "//oarapi/resources/23/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "id" : 23, + "available_upto" : 2147483647, + "deploy" : "NO", + "suspended_jobs" : "NO", + "ip" : "172.16.64.2", + "diskpath" : null, + "memcore" : 8192, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "switch" : null, + "disk" : null, + "type" : "default", + "scheduler_priority" : 0, + "core" : 20, + "drain" : "NO", + "cpu" : 3, + "next_finaud_decision" : "NO", + "myri_rate" : 0, + "myri" : "NO", + "disktype" : "SATA", + "expiry_date" : 0, + "last_available_upto" : 0, + "finaud_decision" : "NO", + "eth_count" : 1, + "disk_reservation_count" : 3, + "cpufreq" : "2.1", + "eth_rate" : 10, + "cpuarch" : "x86_64", + "state" : "Alive", + "ib_count" : 0, + "cpuset" : 3, + "api_timestamp" : 1569605253, + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "opa" : "NO", + "myri_count" : 0, + "state_num" : 1, + "opa_rate" : 0, + "maintenance" : "NO", + "gpu_model" : null, + "cpucore" : 8, + "host" : "clusterc-2.fakesite.grid5000.fr", + "besteffort" : "YES", + "max_walltime" : 86400, + "gpu" : null, + "nodemodel" : "Dell PowerEdge T640" + }, + { + "mic" : "NO", + "desktop_computing" : "NO", + "gpudevice" : null, + "network_address" : "clusterc-2.fakesite.grid5000.fr", + "virtual" : "ivt", + "ib_rate" : 0, + "production" : "YES", + "ib" : "NO", + "opa_count" : 0, + "memcpu" : 65536, + "next_state" : "UnChanged", + "memnode" : 131072, + "cluster_priority" : 201906, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-2.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "href" : "//oarapi/resources/24", + "rel" : "self" + }, + { + "href" : "//oarapi/resources/24/jobs", + "title" : "jobs", + "rel" : "collection" + } + ], + "id" : 24, + "last_job_date" : 0, + "suspended_jobs" : "NO", + "available_upto" : 2147483647, + "deploy" : "NO", + "ip" : "172.16.64.2", + "diskpath" : null, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "memcore" : 8192, + "switch" : null, + "disk" : null, + "drain" : "NO", + "core" : 21, + "scheduler_priority" : 0, + "type" : "default", + "next_finaud_decision" : "NO", + "cpu" : 3, + "myri_rate" : 0, + "disktype" : "SATA", + "myri" : "NO", + "expiry_date" : 0, + "last_available_upto" : 0, + "eth_count" : 1, + "finaud_decision" : "NO", + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "eth_rate" : 10, + "cpuarch" : "x86_64", + "cpuset" : 4, + "state" : "Alive", + "ib_count" : 0, + "api_timestamp" : 1569605253, + "opa" : "NO", + "myri_count" : 0, + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "opa_rate" : 0, + "state_num" : 1, + "besteffort" : "YES", + "host" : "clusterc-2.fakesite.grid5000.fr", + "maintenance" : "NO", + "cpucore" : 8, + "gpu_model" : null, + "nodemodel" : "Dell PowerEdge T640", + "max_walltime" : 86400, + "gpu" : null + }, + { + "ib_rate" : 0, + "virtual" : "ivt", + "network_address" : "clusterc-2.fakesite.grid5000.fr", + "gpudevice" : null, + "desktop_computing" : "NO", + "mic" : "NO", + "next_state" : "UnChanged", + "memcpu" : 65536, + "opa_count" : 0, + "ib" : "NO", + "production" : "YES", + "ip" : "172.16.64.2", + "deploy" : "NO", + "available_upto" : 2147483647, + "suspended_jobs" : "NO", + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/clusterc-2.fakesite.grid5000.fr" + }, + { + "href" : "//oarapi/resources/25", + "rel" : "self" + }, + { + "href" : "//oarapi/resources/25/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "last_job_date" : 0, + "id" : 25, + "cluster_priority" : 201906, + "memnode" : 131072, + "disk" : null, + "switch" : null, + "memcore" : 8192, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "diskpath" : null, + "disktype" : "SATA", + "myri" : "NO", + "myri_rate" : 0, + "cpu" : 3, + "next_finaud_decision" : "NO", + "type" : "default", + "scheduler_priority" : 0, + "core" : 22, + "drain" : "NO", + "disk_reservation_count" : 3, + "cpufreq" : "2.1", + "finaud_decision" : "NO", + "eth_count" : 1, + "last_available_upto" : 0, + "expiry_date" : 0, + "cputype" : "Intel Xeon Silver 4110", + "cluster" : "clusterc", + "myri_count" : 0, + "opa" : "NO", + "api_timestamp" : 1569605253, + "ib_count" : 0, + "state" : "Alive", + "cpuset" : 5, + "cpuarch" : "x86_64", + "eth_rate" : 10, + "max_walltime" : 86400, + "gpu" : null, + "nodemodel" : "Dell PowerEdge T640", + "maintenance" : "NO", + "cpucore" : 8, + "host" : "clusterc-2.fakesite.grid5000.fr", + "gpu_model" : null, + "besteffort" : "YES", + "state_num" : 1, + "opa_rate" : 0 + }, + { + "disk" : null, + "switch" : null, + "memcore" : 8192, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "diskpath" : null, + "ip" : "172.16.64.2", + "deploy" : "NO", + "available_upto" : 2147483647, + "suspended_jobs" : "NO", + "id" : 26, + "links" : [ + { + "title" : "node", + "rel" : "member", + "href" : "//oarapi/resources/nodes/clusterc-2.fakesite.grid5000.fr" + }, + { + "href" : "//oarapi/resources/26", + "rel" : "self" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/26/jobs" + } + ], + "last_job_date" : 0, + "cluster_priority" : 201906, + "memnode" : 131072, + "memcpu" : 65536, + "next_state" : "UnChanged", + "opa_count" : 0, + "production" : "YES", + "ib" : "NO", + "ib_rate" : 0, + "virtual" : "ivt", + "network_address" : "clusterc-2.fakesite.grid5000.fr", + "desktop_computing" : "NO", + "gpudevice" : null, + "mic" : "NO", + "max_walltime" : 86400, + "gpu" : null, + "nodemodel" : "Dell PowerEdge T640", + "gpu_model" : null, + "maintenance" : "NO", + "host" : "clusterc-2.fakesite.grid5000.fr", + "cpucore" : 8, + "besteffort" : "YES", + "state_num" : 1, + "opa_rate" : 0, + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "myri_count" : 0, + "opa" : "NO", + "api_timestamp" : 1569605253, + "ib_count" : 0, + "state" : "Alive", + "cpuset" : 6, + "eth_rate" : 10, + "cpuarch" : "x86_64", + "disk_reservation_count" : 3, + "cpufreq" : "2.1", + "finaud_decision" : "NO", + "eth_count" : 1, + "last_available_upto" : 0, + "expiry_date" : 0, + "myri" : "NO", + "disktype" : "SATA", + "myri_rate" : 0, + "next_finaud_decision" : "NO", + "cpu" : 3, + "scheduler_priority" : 0, + "type" : "default", + "core" : 23, + "drain" : "NO" + }, + { + "nodemodel" : "Dell PowerEdge T640", + "gpu" : null, + "max_walltime" : 86400, + "opa_rate" : 0, + "state_num" : 1, + "besteffort" : "YES", + "maintenance" : "NO", + "gpu_model" : null, + "host" : "clusterc-2.fakesite.grid5000.fr", + "cpucore" : 8, + "api_timestamp" : 1569605253, + "opa" : "NO", + "myri_count" : 0, + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "eth_rate" : 10, + "cpuarch" : "x86_64", + "cpuset" : 7, + "ib_count" : 0, + "state" : "Alive", + "eth_count" : 1, + "finaud_decision" : "NO", + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "expiry_date" : 0, + "last_available_upto" : 0, + "myri_rate" : 0, + "myri" : "NO", + "disktype" : "SATA", + "core" : 24, + "drain" : "NO", + "scheduler_priority" : 0, + "type" : "default", + "next_finaud_decision" : "NO", + "cpu" : 3, + "switch" : null, + "disk" : null, + "diskpath" : null, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "memcore" : 8192, + "suspended_jobs" : "NO", + "available_upto" : 2147483647, + "deploy" : "NO", + "ip" : "172.16.64.2", + "cluster_priority" : 201906, + "memnode" : 131072, + "last_job_date" : 0, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-2.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/27" + }, + { + "href" : "//oarapi/resources/27/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "id" : 27, + "opa_count" : 0, + "next_state" : "UnChanged", + "memcpu" : 65536, + "production" : "YES", + "ib" : "NO", + "network_address" : "clusterc-2.fakesite.grid5000.fr", + "virtual" : "ivt", + "ib_rate" : 0, + "mic" : "NO", + "gpudevice" : null, + "desktop_computing" : "NO" + }, + { + "disktype" : "SATA", + "myri" : "NO", + "myri_rate" : 0, + "cpu" : 4, + "next_finaud_decision" : "NO", + "drain" : "NO", + "core" : 25, + "type" : "default", + "scheduler_priority" : 0, + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "eth_count" : 1, + "finaud_decision" : "NO", + "last_available_upto" : 0, + "expiry_date" : 0, + "myri_count" : 0, + "opa" : "NO", + "cputype" : "Intel Xeon Silver 4110", + "cluster" : "clusterc", + "api_timestamp" : 1569605253, + "cpuset" : 8, + "ib_count" : 0, + "state" : "Alive", + "cpuarch" : "x86_64", + "eth_rate" : 10, + "nodemodel" : "Dell PowerEdge T640", + "gpu" : null, + "max_walltime" : 86400, + "besteffort" : "YES", + "host" : "clusterc-2.fakesite.grid5000.fr", + "maintenance" : "NO", + "gpu_model" : null, + "cpucore" : 8, + "opa_rate" : 0, + "state_num" : 1, + "virtual" : "ivt", + "network_address" : "clusterc-2.fakesite.grid5000.fr", + "ib_rate" : 0, + "mic" : "NO", + "gpudevice" : null, + "desktop_computing" : "NO", + "next_state" : "UnChanged", + "memcpu" : 65536, + "opa_count" : 0, + "ib" : "NO", + "production" : "YES", + "ip" : "172.16.64.2", + "suspended_jobs" : "NO", + "available_upto" : 2147483647, + "deploy" : "NO", + "id" : 28, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-2.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "href" : "//oarapi/resources/28", + "rel" : "self" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/28/jobs" + } + ], + "last_job_date" : 0, + "cluster_priority" : 201906, + "memnode" : 131072, + "disk" : null, + "switch" : null, + "wattmeter" : "MULTIPLE", + "gpu_count" : 0, + "memcore" : 8192, + "diskpath" : null + }, + { + "next_finaud_decision" : "NO", + "cpu" : 4, + "core" : 26, + "drain" : "NO", + "type" : "default", + "scheduler_priority" : 0, + "myri" : "NO", + "disktype" : "SATA", + "myri_rate" : 0, + "last_available_upto" : 0, + "expiry_date" : 0, + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "eth_count" : 1, + "finaud_decision" : "NO", + "cpuset" : 9, + "state" : "Alive", + "ib_count" : 0, + "cpuarch" : "x86_64", + "eth_rate" : 10, + "myri_count" : 0, + "opa" : "NO", + "cputype" : "Intel Xeon Silver 4110", + "cluster" : "clusterc", + "api_timestamp" : 1569605253, + "besteffort" : "YES", + "maintenance" : "NO", + "gpu_model" : null, + "host" : "clusterc-2.fakesite.grid5000.fr", + "cpucore" : 8, + "opa_rate" : 0, + "state_num" : 1, + "nodemodel" : "Dell PowerEdge T640", + "max_walltime" : 86400, + "gpu" : null, + "mic" : "NO", + "desktop_computing" : "NO", + "gpudevice" : null, + "network_address" : "clusterc-2.fakesite.grid5000.fr", + "virtual" : "ivt", + "ib_rate" : 0, + "ib" : "NO", + "production" : "YES", + "next_state" : "UnChanged", + "memcpu" : 65536, + "opa_count" : 0, + "last_job_date" : 0, + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/clusterc-2.fakesite.grid5000.fr" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/29" + }, + { + "href" : "//oarapi/resources/29/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "id" : 29, + "memnode" : 131072, + "cluster_priority" : 201906, + "ip" : "172.16.64.2", + "suspended_jobs" : "NO", + "available_upto" : 2147483647, + "deploy" : "NO", + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "memcore" : 8192, + "diskpath" : null, + "disk" : null, + "switch" : null + }, + { + "cpuset" : 10, + "ib_count" : 0, + "state" : "Alive", + "eth_rate" : 10, + "cpuarch" : "x86_64", + "opa" : "NO", + "myri_count" : 0, + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "api_timestamp" : 1569605253, + "besteffort" : "YES", + "maintenance" : "NO", + "host" : "clusterc-2.fakesite.grid5000.fr", + "cpucore" : 8, + "gpu_model" : null, + "opa_rate" : 0, + "state_num" : 1, + "nodemodel" : "Dell PowerEdge T640", + "gpu" : null, + "max_walltime" : 86400, + "cpu" : 4, + "next_finaud_decision" : "NO", + "core" : 27, + "drain" : "NO", + "type" : "default", + "scheduler_priority" : 0, + "disktype" : "SATA", + "myri" : "NO", + "myri_rate" : 0, + "last_available_upto" : 0, + "expiry_date" : 0, + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "eth_count" : 1, + "finaud_decision" : "NO", + "last_job_date" : 0, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-2.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/30" + }, + { + "href" : "//oarapi/resources/30/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "id" : 30, + "cluster_priority" : 201906, + "memnode" : 131072, + "ip" : "172.16.64.2", + "suspended_jobs" : "NO", + "available_upto" : 2147483647, + "deploy" : "NO", + "wattmeter" : "MULTIPLE", + "gpu_count" : 0, + "memcore" : 8192, + "diskpath" : null, + "disk" : null, + "switch" : null, + "mic" : "NO", + "gpudevice" : null, + "desktop_computing" : "NO", + "virtual" : "ivt", + "network_address" : "clusterc-2.fakesite.grid5000.fr", + "ib_rate" : 0, + "ib" : "NO", + "production" : "YES", + "next_state" : "UnChanged", + "memcpu" : 65536, + "opa_count" : 0 + }, + { + "expiry_date" : 0, + "last_available_upto" : 0, + "eth_count" : 1, + "finaud_decision" : "NO", + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "core" : 28, + "drain" : "NO", + "type" : "default", + "scheduler_priority" : 0, + "next_finaud_decision" : "NO", + "cpu" : 4, + "myri_rate" : 0, + "myri" : "NO", + "disktype" : "SATA", + "opa_rate" : 0, + "state_num" : 1, + "besteffort" : "YES", + "maintenance" : "NO", + "host" : "clusterc-2.fakesite.grid5000.fr", + "gpu_model" : null, + "cpucore" : 8, + "nodemodel" : "Dell PowerEdge T640", + "max_walltime" : 86400, + "gpu" : null, + "cpuarch" : "x86_64", + "eth_rate" : 10, + "cpuset" : 11, + "state" : "Alive", + "ib_count" : 0, + "api_timestamp" : 1569605253, + "myri_count" : 0, + "opa" : "NO", + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "ib" : "NO", + "production" : "YES", + "opa_count" : 0, + "next_state" : "UnChanged", + "memcpu" : 65536, + "mic" : "NO", + "gpudevice" : null, + "desktop_computing" : "NO", + "network_address" : "clusterc-2.fakesite.grid5000.fr", + "virtual" : "ivt", + "ib_rate" : 0, + "diskpath" : null, + "wattmeter" : "MULTIPLE", + "gpu_count" : 0, + "memcore" : 8192, + "switch" : null, + "disk" : null, + "cluster_priority" : 201906, + "memnode" : 131072, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-2.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/31" + }, + { + "href" : "//oarapi/resources/31/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "id" : 31, + "last_job_date" : 0, + "suspended_jobs" : "NO", + "available_upto" : 2147483647, + "deploy" : "NO", + "ip" : "172.16.64.2" + }, + { + "ib" : "NO", + "production" : "YES", + "memcpu" : 65536, + "next_state" : "UnChanged", + "opa_count" : 0, + "gpudevice" : null, + "desktop_computing" : "NO", + "mic" : "NO", + "ib_rate" : 0, + "network_address" : "clusterc-2.fakesite.grid5000.fr", + "virtual" : "ivt", + "memcore" : 8192, + "wattmeter" : "MULTIPLE", + "gpu_count" : 0, + "diskpath" : null, + "disk" : null, + "switch" : null, + "id" : 32, + "links" : [ + { + "title" : "node", + "rel" : "member", + "href" : "//oarapi/resources/nodes/clusterc-2.fakesite.grid5000.fr" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/32" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/32/jobs" + } + ], + "last_job_date" : 0, + "memnode" : 131072, + "cluster_priority" : 201906, + "ip" : "172.16.64.2", + "available_upto" : 2147483647, + "deploy" : "NO", + "suspended_jobs" : "NO", + "last_available_upto" : 0, + "expiry_date" : 0, + "disk_reservation_count" : 3, + "cpufreq" : "2.1", + "finaud_decision" : "NO", + "eth_count" : 1, + "cpu" : 4, + "next_finaud_decision" : "NO", + "scheduler_priority" : 0, + "type" : "default", + "drain" : "NO", + "core" : 29, + "disktype" : "SATA", + "myri" : "NO", + "myri_rate" : 0, + "host" : "clusterc-2.fakesite.grid5000.fr", + "maintenance" : "NO", + "gpu_model" : null, + "cpucore" : 8, + "besteffort" : "YES", + "state_num" : 1, + "opa_rate" : 0, + "max_walltime" : 86400, + "gpu" : null, + "nodemodel" : "Dell PowerEdge T640", + "state" : "Alive", + "ib_count" : 0, + "cpuset" : 12, + "cpuarch" : "x86_64", + "eth_rate" : 10, + "cputype" : "Intel Xeon Silver 4110", + "cluster" : "clusterc", + "opa" : "NO", + "myri_count" : 0, + "api_timestamp" : 1569605253 + }, + { + "ib_rate" : 0, + "network_address" : "clusterc-2.fakesite.grid5000.fr", + "virtual" : "ivt", + "gpudevice" : null, + "desktop_computing" : "NO", + "mic" : "NO", + "opa_count" : 0, + "memcpu" : 65536, + "next_state" : "UnChanged", + "production" : "YES", + "ib" : "NO", + "deploy" : "NO", + "available_upto" : 2147483647, + "suspended_jobs" : "NO", + "ip" : "172.16.64.2", + "cluster_priority" : 201906, + "memnode" : 131072, + "links" : [ + { + "title" : "node", + "rel" : "member", + "href" : "//oarapi/resources/nodes/clusterc-2.fakesite.grid5000.fr" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/33" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/33/jobs" + } + ], + "last_job_date" : 0, + "id" : 33, + "switch" : null, + "disk" : null, + "diskpath" : null, + "memcore" : 8192, + "wattmeter" : "MULTIPLE", + "gpu_count" : 0, + "myri_rate" : 0, + "myri" : "NO", + "disktype" : "SATA", + "scheduler_priority" : 0, + "type" : "default", + "drain" : "NO", + "core" : 30, + "next_finaud_decision" : "NO", + "cpu" : 4, + "finaud_decision" : "NO", + "eth_count" : 1, + "disk_reservation_count" : 3, + "cpufreq" : "2.1", + "expiry_date" : 0, + "last_available_upto" : 0, + "api_timestamp" : 1569605253, + "cputype" : "Intel Xeon Silver 4110", + "cluster" : "clusterc", + "opa" : "NO", + "myri_count" : 0, + "eth_rate" : 10, + "cpuarch" : "x86_64", + "ib_count" : 0, + "state" : "Alive", + "cpuset" : 13, + "gpu" : null, + "max_walltime" : 86400, + "nodemodel" : "Dell PowerEdge T640", + "state_num" : 1, + "opa_rate" : 0, + "maintenance" : "NO", + "gpu_model" : null, + "host" : "clusterc-2.fakesite.grid5000.fr", + "cpucore" : 8, + "besteffort" : "YES" + }, + { + "expiry_date" : 0, + "last_available_upto" : 0, + "eth_count" : 1, + "finaud_decision" : "NO", + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "core" : 31, + "drain" : "NO", + "type" : "default", + "scheduler_priority" : 0, + "cpu" : 4, + "next_finaud_decision" : "NO", + "myri_rate" : 0, + "disktype" : "SATA", + "myri" : "NO", + "opa_rate" : 0, + "state_num" : 1, + "besteffort" : "YES", + "maintenance" : "NO", + "cpucore" : 8, + "host" : "clusterc-2.fakesite.grid5000.fr", + "gpu_model" : null, + "nodemodel" : "Dell PowerEdge T640", + "gpu" : null, + "max_walltime" : 86400, + "eth_rate" : 10, + "cpuarch" : "x86_64", + "cpuset" : 14, + "state" : "Alive", + "ib_count" : 0, + "api_timestamp" : 1569605253, + "myri_count" : 0, + "opa" : "NO", + "cputype" : "Intel Xeon Silver 4110", + "cluster" : "clusterc", + "production" : "YES", + "ib" : "NO", + "opa_count" : 0, + "next_state" : "UnChanged", + "memcpu" : 65536, + "mic" : "NO", + "gpudevice" : null, + "desktop_computing" : "NO", + "virtual" : "ivt", + "network_address" : "clusterc-2.fakesite.grid5000.fr", + "ib_rate" : 0, + "diskpath" : null, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "memcore" : 8192, + "switch" : null, + "disk" : null, + "memnode" : 131072, + "cluster_priority" : 201906, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-2.fakesite.grid5000.fr", + "rel" : "member", + "title" : "node" + }, + { + "href" : "//oarapi/resources/34", + "rel" : "self" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/34/jobs" + } + ], + "id" : 34, + "last_job_date" : 0, + "suspended_jobs" : "NO", + "deploy" : "NO", + "available_upto" : 2147483647, + "ip" : "172.16.64.2" + }, + { + "opa" : "NO", + "myri_count" : 0, + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "api_timestamp" : 1569605253, + "cpuset" : 15, + "ib_count" : 0, + "state" : "Alive", + "cpuarch" : "x86_64", + "eth_rate" : 10, + "nodemodel" : "Dell PowerEdge T640", + "gpu" : null, + "max_walltime" : 86400, + "besteffort" : "YES", + "maintenance" : "NO", + "cpucore" : 8, + "gpu_model" : null, + "host" : "clusterc-2.fakesite.grid5000.fr", + "opa_rate" : 0, + "state_num" : 1, + "myri" : "NO", + "disktype" : "SATA", + "myri_rate" : 0, + "next_finaud_decision" : "NO", + "cpu" : 4, + "core" : 32, + "drain" : "NO", + "scheduler_priority" : 0, + "type" : "default", + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "eth_count" : 1, + "finaud_decision" : "NO", + "last_available_upto" : 0, + "expiry_date" : 0, + "ip" : "172.16.64.2", + "suspended_jobs" : "NO", + "available_upto" : 2147483647, + "deploy" : "NO", + "id" : 35, + "links" : [ + { + "title" : "node", + "rel" : "member", + "href" : "//oarapi/resources/nodes/clusterc-2.fakesite.grid5000.fr" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/35" + }, + { + "href" : "//oarapi/resources/35/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "last_job_date" : 0, + "memnode" : 131072, + "cluster_priority" : 201906, + "disk" : null, + "switch" : null, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "memcore" : 8192, + "diskpath" : null, + "virtual" : "ivt", + "network_address" : "clusterc-2.fakesite.grid5000.fr", + "ib_rate" : 0, + "mic" : "NO", + "gpudevice" : null, + "desktop_computing" : "NO", + "memcpu" : 65536, + "next_state" : "UnChanged", + "opa_count" : 0, + "ib" : "NO", + "production" : "YES" + }, + { + "opa_rate" : null, + "state_num" : 1, + "besteffort" : "YES", + "gpu_model" : null, + "maintenance" : "NO", + "cpucore" : null, + "host" : "clusterc-2.fakesite.grid5000.fr", + "nodemodel" : null, + "max_walltime" : null, + "gpu" : null, + "eth_rate" : null, + "cpuarch" : null, + "cpuset" : -1, + "ib_count" : null, + "state" : "Alive", + "api_timestamp" : 1569605253, + "myri_count" : null, + "opa" : null, + "cluster" : "clusterc", + "cputype" : null, + "expiry_date" : 0, + "last_available_upto" : 0, + "eth_count" : null, + "finaud_decision" : "NO", + "cpufreq" : null, + "disk_reservation_count" : null, + "drain" : "NO", + "core" : null, + "type" : "disk", + "scheduler_priority" : 0, + "cpu" : null, + "next_finaud_decision" : "NO", + "myri_rate" : null, + "myri" : null, + "disktype" : null, + "diskpath" : "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:1:0", + "gpu_count" : null, + "wattmeter" : null, + "memcore" : null, + "switch" : null, + "disk" : "sdb.clusterc-2", + "cluster_priority" : null, + "memnode" : null, + "links" : [ + { + "title" : "node", + "rel" : "member", + "href" : "//oarapi/resources/nodes/" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/36" + }, + { + "href" : "//oarapi/resources/36/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "id" : 36, + "last_job_date" : 0, + "suspended_jobs" : "NO", + "available_upto" : 0, + "deploy" : "YES", + "ip" : null, + "ib" : null, + "production" : "YES", + "opa_count" : null, + "next_state" : "UnChanged", + "memcpu" : null, + "mic" : null, + "gpudevice" : null, + "desktop_computing" : "NO", + "virtual" : null, + "network_address" : "", + "ib_rate" : null + }, + { + "gpu" : null, + "max_walltime" : null, + "nodemodel" : null, + "state_num" : 1, + "opa_rate" : null, + "gpu_model" : null, + "maintenance" : "NO", + "cpucore" : null, + "host" : "clusterc-2.fakesite.grid5000.fr", + "besteffort" : "YES", + "api_timestamp" : 1569605253, + "cluster" : "clusterc", + "cputype" : null, + "opa" : null, + "myri_count" : null, + "eth_rate" : null, + "cpuarch" : null, + "state" : "Alive", + "ib_count" : null, + "cpuset" : -1, + "finaud_decision" : "NO", + "eth_count" : null, + "disk_reservation_count" : null, + "cpufreq" : null, + "expiry_date" : 0, + "last_available_upto" : 0, + "myri_rate" : null, + "disktype" : null, + "myri" : null, + "scheduler_priority" : 0, + "type" : "disk", + "drain" : "NO", + "core" : null, + "next_finaud_decision" : "NO", + "cpu" : null, + "switch" : null, + "disk" : "sdc.clusterc-2", + "diskpath" : "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:2:0", + "memcore" : null, + "wattmeter" : null, + "gpu_count" : null, + "deploy" : "YES", + "available_upto" : 0, + "suspended_jobs" : "NO", + "ip" : null, + "memnode" : null, + "cluster_priority" : null, + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/" + }, + { + "href" : "//oarapi/resources/37", + "rel" : "self" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/37/jobs" + } + ], + "last_job_date" : 0, + "id" : 37, + "opa_count" : null, + "next_state" : "UnChanged", + "memcpu" : null, + "production" : "YES", + "ib" : null, + "ib_rate" : null, + "virtual" : null, + "network_address" : "", + "gpudevice" : null, + "desktop_computing" : "NO", + "mic" : null + }, + { + "cputype" : null, + "cluster" : "clusterc", + "myri_count" : null, + "opa" : null, + "api_timestamp" : 1569605253, + "ib_count" : null, + "state" : "Alive", + "cpuset" : -1, + "eth_rate" : null, + "cpuarch" : null, + "gpu" : null, + "max_walltime" : null, + "nodemodel" : null, + "host" : "clusterc-2.fakesite.grid5000.fr", + "maintenance" : "NO", + "gpu_model" : null, + "cpucore" : null, + "besteffort" : "YES", + "state_num" : 1, + "opa_rate" : null, + "myri" : null, + "disktype" : null, + "myri_rate" : null, + "next_finaud_decision" : "NO", + "cpu" : null, + "scheduler_priority" : 0, + "type" : "disk", + "core" : null, + "drain" : "NO", + "disk_reservation_count" : null, + "cpufreq" : null, + "finaud_decision" : "NO", + "eth_count" : null, + "last_available_upto" : 0, + "expiry_date" : 0, + "ip" : null, + "deploy" : "YES", + "available_upto" : 0, + "suspended_jobs" : "NO", + "id" : 38, + "links" : [ + { + "href" : "//oarapi/resources/nodes/", + "title" : "node", + "rel" : "member" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/38" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/38/jobs" + } + ], + "last_job_date" : 0, + "memnode" : null, + "cluster_priority" : null, + "disk" : "sdd.clusterc-2", + "switch" : null, + "memcore" : null, + "gpu_count" : null, + "wattmeter" : null, + "diskpath" : "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:3:0", + "ib_rate" : null, + "network_address" : "", + "virtual" : null, + "gpudevice" : null, + "desktop_computing" : "NO", + "mic" : null, + "memcpu" : null, + "next_state" : "UnChanged", + "opa_count" : null, + "production" : "YES", + "ib" : null + } + ], + "api_timestamp" : 1569605253 +} + diff --git a/spec/stub_oar_properties/dump_oar_api_configured_server_misconfigured_gpu.json b/spec/stub_oar_properties/dump_oar_api_configured_server_misconfigured_gpu.json new file mode 100644 index 00000000000..7bc0597f21e --- /dev/null +++ b/spec/stub_oar_properties/dump_oar_api_configured_server_misconfigured_gpu.json @@ -0,0 +1,2446 @@ +{ + "offset": 0, + "api_timestamp": 1568902577, + "items": [ + { + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "gpu": 1, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "cpuset": 0, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/1" + }, + { + "href": "//oarapi/resources/1/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "production": "YES", + "type": "default", + "opa_count": 0, + "id": 1, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 0, + "next_state": "UnChanged", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "drain": "NO", + "cpu": 1, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "memcpu": 65536, + "myri_count": 0, + "ip": "172.16.64.1", + "core": 1, + "myri": "NO", + "max_walltime": 86400, + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO" + }, + { + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "id": 2, + "opa_count": 0, + "type": "default", + "production": "YES", + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/2", + "rel": "self" + }, + { + "title": "jobs", + "href": "//oarapi/resources/2/jobs", + "rel": "collection" + } + ], + "cpuset": 1, + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "gpu": 1, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "myri_rate": 0, + "api_timestamp": 1568902577, + "cpucore": 8, + "scheduler_priority": 0, + "last_available_upto": 0, + "finaud_decision": "NO", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "max_walltime": 86400, + "myri": "NO", + "core": 2, + "myri_count": 0, + "ip": "172.16.64.1", + "memcpu": 65536, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpu": 1, + "drain": "NO", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 0, + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE" + }, + { + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "core": 3, + "ip": "172.16.64.1", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 1, + "drain": "NO", + "memcpu": 65536, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "eth_count": 1, + "switch": "gw-fakesite", + "gpudevice": 0, + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_state": "UnChanged", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "cpuset": 2, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/3" + }, + { + "title": "jobs", + "href": "//oarapi/resources/3/jobs", + "rel": "collection" + } + ], + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "opa_count": 0, + "id": 3, + "type": "default", + "production": "YES", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 1, + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "last_available_upto": 0, + "finaud_decision": "NO", + "myri_rate": 0, + "api_timestamp": 1568902577, + "cpucore": 8, + "scheduler_priority": 0 + }, + { + "cpu": 1, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "drain": "NO", + "memcpu": 65536, + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO", + "max_walltime": 86400, + "myri": "NO", + "ip": "172.16.64.1", + "myri_count": 0, + "core": 4, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 0, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "next_state": "UnChanged", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "available_upto": 2147483647, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "rel": "member" + }, + { + "href": "//oarapi/resources/4", + "rel": "self" + }, + { + "href": "//oarapi/resources/4/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "cpuset": 3, + "besteffort": "YES", + "ib_rate": 0, + "id": 4, + "opa_count": 0, + "production": "YES", + "type": "default", + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "scheduler_priority": 0, + "cpucore": 8, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 1, + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive" + }, + { + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "type": "default", + "production": "YES", + "opa_count": 0, + "id": 5, + "ib_rate": 0, + "besteffort": "YES", + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node" + }, + { + "rel": "self", + "href": "//oarapi/resources/5" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/5/jobs" + } + ], + "cpuset": 4, + "available_upto": 2147483647, + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "gpu": 2, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "cpucore": 8, + "scheduler_priority": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "finaud_decision": "NO", + "last_available_upto": 0, + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "suspended_jobs": "NO", + "ib": "NO", + "disk_reservation_count": 0, + "myri_count": 0, + "ip": "172.16.64.1", + "core": 5, + "myri": "NO", + "max_walltime": 86400, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "memcpu": 65536, + "drain": "NO", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 1, + "switch": "gw-fakesite", + "eth_count": 1, + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "next_state": "UnChanged", + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 1, + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr" + }, + { + "opa_count": 0, + "id": 6, + "type": "default", + "production": "YES", + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node" + }, + { + "href": "//oarapi/resources/6", + "rel": "self" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/6/jobs" + } + ], + "cpuset": 5, + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "scheduler_priority": 0, + "cpucore": 8, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 2, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "memcpu": 65536, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpu": 1, + "drain": "NO", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "ip": "172.16.64.1", + "core": 6, + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 1, + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0 + }, + { + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "gpu": 2, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "scheduler_priority": 0, + "cpucore": 8, + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "opa": "NO", + "eth_rate": 10, + "available_upto": 2147483647, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/7", + "rel": "self" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/7/jobs" + } + ], + "cpuset": 6, + "besteffort": "YES", + "ib_rate": 0, + "opa_count": 0, + "id": 7, + "production": "YES", + "type": "default", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "gpudevice": 1, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "next_state": "UnChanged", + "max_walltime": 86400, + "myri": "NO", + "myri_count": 0, + "core": 7, + "ip": "172.16.64.1", + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "cpu": 1, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "drain": "NO", + "memcpu": 65536, + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO" + }, + { + "api_timestamp": 1568902577, + "myri_rate": 0, + "scheduler_priority": 0, + "cpucore": 8, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 2, + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "id": 8, + "opa_count": 0, + "production": "YES", + "type": "default", + "available_upto": 2147483647, + "cpuset": 7, + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node" + }, + { + "href": "//oarapi/resources/8", + "rel": "self" + }, + { + "rel": "collection", + "href": "//oarapi/resources/8/jobs", + "title": "jobs" + } + ], + "besteffort": "YES", + "ib_rate": 0, + "last_job_date": 0, + "opa": "NO", + "eth_rate": 10, + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "next_state": "UnChanged", + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 1, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "memcpu": 65536, + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "cpu": 1, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "drain": "NO", + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "myri": "NO", + "max_walltime": 86400, + "core": 8, + "myri_count": 0, + "ip": "172.16.64.1" + }, + { + "finaud_decision": "NO", + "last_available_upto": 0, + "scheduler_priority": 0, + "cpucore": 8, + "api_timestamp": 1568902577, + "myri_rate": 0, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "gpu": 2, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node" + }, + { + "rel": "self", + "href": "//oarapi/resources/9" + }, + { + "rel": "collection", + "href": "//oarapi/resources/9/jobs", + "title": "jobs" + } + ], + "cpuset": 8, + "production": "YES", + "type": "default", + "id": 9, + "opa_count": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "gpudevice": 2, + "next_state": "UnChanged", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "drain": "NO", + "cpu": 2, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO", + "memcpu": 65536, + "myri_count": 0, + "core": 9, + "ip": "172.16.64.1", + "myri": "NO", + "max_walltime": 86400, + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO" + }, + { + "drain": "NO", + "cpu": 2, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "memcpu": 65536, + "myri_count": 0, + "core": 10, + "ip": "172.16.64.1", + "max_walltime": 86400, + "myri": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "gpudevice": 2, + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "links": [ + { + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node", + "rel": "member" + }, + { + "href": "//oarapi/resources/10", + "rel": "self" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/10/jobs" + } + ], + "cpuset": 9, + "production": "YES", + "type": "default", + "id": 10, + "opa_count": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "gpu": 3 + }, + { + "cpu": 2, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "drain": "NO", + "memcpu": 65536, + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "myri": "NO", + "max_walltime": 86400, + "core": 11, + "myri_count": 0, + "ip": "172.16.64.1", + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "gpudevice": 2, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "next_state": "UnChanged", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "available_upto": 2147483647, + "cpuset": 10, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/11", + "rel": "self" + }, + { + "title": "jobs", + "href": "//oarapi/resources/11/jobs", + "rel": "collection" + } + ], + "besteffort": "YES", + "ib_rate": 0, + "id": 11, + "opa_count": 0, + "production": "YES", + "type": "default", + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "scheduler_priority": 0, + "cpucore": 8, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 3, + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive" + }, + { + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 2, + "switch": "gw-fakesite", + "eth_count": 1, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "memcpu": 65536, + "drain": "NO", + "cpu": 2, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "myri_count": 0, + "ip": "172.16.64.1", + "core": 12, + "myri": "NO", + "max_walltime": 86400, + "scheduler_priority": 0, + "cpucore": 8, + "api_timestamp": 1568902577, + "myri_rate": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "gpu": 3, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "production": "YES", + "type": "default", + "opa_count": 0, + "id": 12, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "links": [ + { + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node", + "rel": "member" + }, + { + "href": "//oarapi/resources/12", + "rel": "self" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/12/jobs" + } + ], + "cpuset": 11, + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072 + }, + { + "core": 13, + "myri_count": 0, + "ip": "172.16.64.1", + "myri": "NO", + "max_walltime": 86400, + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "suspended_jobs": "NO", + "ib": "NO", + "disk_reservation_count": 0, + "drain": "NO", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 2, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "memcpu": 65536, + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 3, + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "next_state": "UnChanged", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "ib_rate": 0, + "besteffort": "YES", + "cpuset": 12, + "links": [ + { + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/13" + }, + { + "href": "//oarapi/resources/13/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "available_upto": 2147483647, + "type": "default", + "production": "YES", + "id": 13, + "opa_count": 0, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "gpu": 4, + "finaud_decision": "NO", + "last_available_upto": 0, + "scheduler_priority": 0, + "cpucore": 8, + "myri_rate": 0, + "api_timestamp": 1568902577 + }, + { + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "gpu": 4, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "cpuset": 13, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "rel": "self", + "href": "//oarapi/resources/14" + }, + { + "rel": "collection", + "href": "//oarapi/resources/14/jobs", + "title": "jobs" + } + ], + "production": "YES", + "type": "default", + "id": 14, + "opa_count": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 3, + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "drain": "NO", + "cpu": 2, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO", + "memcpu": 65536, + "myri_count": 0, + "ip": "172.16.64.1", + "core": 14, + "max_walltime": 86400, + "myri": "NO", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO" + }, + { + "memcpu": 65536, + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "cpu": 2, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "drain": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "max_walltime": 86400, + "myri": "NO", + "myri_count": 0, + "core": 15, + "ip": "172.16.64.1", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "next_state": "UnChanged", + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "gpudevice": 3, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "opa_count": 0, + "id": 15, + "production": "YES", + "type": "default", + "available_upto": 2147483647, + "cpuset": 14, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "rel": "self", + "href": "//oarapi/resources/15" + }, + { + "href": "//oarapi/resources/15/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "besteffort": "YES", + "ib_rate": 0, + "last_job_date": 0, + "opa": "NO", + "eth_rate": 10, + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "cpucore": 8, + "scheduler_priority": 0, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 4, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0 + }, + { + "last_available_upto": 0, + "finaud_decision": "NO", + "myri_rate": 0, + "api_timestamp": 1568902577, + "scheduler_priority": 0, + "cpucore": 8, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 4, + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "cpuset": 15, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/16", + "rel": "self" + }, + { + "href": "//oarapi/resources/16/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "opa_count": 0, + "id": 16, + "type": "default", + "production": "YES", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "gpudevice": 3, + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_state": "UnChanged", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "eth_count": 1, + "switch": "gw-fakesite", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 2, + "drain": "NO", + "memcpu": 65536, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "ip": "172.16.64.1", + "core": 16, + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1 + }, + { + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 0, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "next_state": "UnChanged", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "cpu": 3, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "drain": "NO", + "memcpu": 65536, + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "core": 17, + "ip": "172.16.64.2", + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "scheduler_priority": 0, + "cpucore": 8, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "gpu": 5, + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "available_upto": 2147483647, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "href": "//oarapi/resources/17", + "rel": "self" + }, + { + "title": "jobs", + "href": "//oarapi/resources/17/jobs", + "rel": "collection" + } + ], + "cpuset": 0, + "besteffort": "YES", + "ib_rate": 0, + "opa_count": 0, + "id": 17, + "production": "YES", + "type": "default", + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO" + }, + { + "max_walltime": 86400, + "myri": "NO", + "myri_count": 0, + "ip": "172.16.64.2", + "core": 18, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "cpu": 3, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "drain": "NO", + "memcpu": 65536, + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "gpudevice": 0, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "next_state": "UnChanged", + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "available_upto": 2147483647, + "cpuset": 1, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/18", + "rel": "self" + }, + { + "href": "//oarapi/resources/18/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "besteffort": "YES", + "ib_rate": 0, + "opa_count": 0, + "id": 18, + "production": "YES", + "type": "default", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 5, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "cpucore": 8, + "scheduler_priority": 0 + }, + { + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "type": "default", + "production": "YES", + "opa_count": 0, + "id": 19, + "ib_rate": 0, + "besteffort": "YES", + "cpuset": 2, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "rel": "self", + "href": "//oarapi/resources/19" + }, + { + "href": "//oarapi/resources/19/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "available_upto": 2147483647, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "gpu": 5, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "cpucore": 8, + "scheduler_priority": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "finaud_decision": "NO", + "last_available_upto": 0, + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "myri_count": 0, + "ip": "172.16.64.2", + "core": 19, + "max_walltime": 86400, + "myri": "NO", + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "memcpu": 65536, + "drain": "NO", + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpu": 3, + "switch": "gw-fakesite", + "eth_count": 1, + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "next_state": "UnChanged", + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 0, + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64" + }, + { + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "gpu": 5, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "scheduler_priority": 0, + "cpucore": 8, + "myri_rate": 0, + "api_timestamp": 1568902577, + "finaud_decision": "NO", + "last_available_upto": 0, + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "type": "default", + "production": "YES", + "id": 20, + "opa_count": 0, + "ib_rate": 0, + "besteffort": "YES", + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/20" + }, + { + "href": "//oarapi/resources/20/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "cpuset": 3, + "available_upto": 2147483647, + "switch": "gw-fakesite", + "eth_count": 1, + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "next_state": "UnChanged", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 0, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "myri_count": 0, + "core": 20, + "ip": "172.16.64.2", + "max_walltime": 86400, + "myri": "NO", + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "memcpu": 65536, + "drain": "NO", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 3 + }, + { + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 1, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "memcpu": 65536, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 3, + "drain": "NO", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "core": 21, + "ip": "172.16.64.2", + "myri_rate": 0, + "api_timestamp": 1568902577, + "scheduler_priority": 0, + "cpucore": 8, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 6, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "opa_count": 0, + "id": 21, + "type": "default", + "production": "YES", + "cpuset": 4, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/21" + }, + { + "rel": "collection", + "href": "//oarapi/resources/21/jobs", + "title": "jobs" + } + ], + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "last_job_date": 0, + "opa": "NO", + "eth_rate": 10, + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0 + }, + { + "opa_count": 0, + "id": 22, + "type": "default", + "production": "YES", + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "rel": "self", + "href": "//oarapi/resources/22" + }, + { + "title": "jobs", + "href": "//oarapi/resources/22/jobs", + "rel": "collection" + } + ], + "cpuset": 5, + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "scheduler_priority": 0, + "cpucore": 8, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 6, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "memcpu": 65536, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpu": 3, + "drain": "NO", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "max_walltime": 86400, + "myri": "NO", + "core": 22, + "myri_count": 0, + "ip": "172.16.64.2", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 1, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0 + }, + { + "gpudevice": 1, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_state": "UnChanged", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "eth_count": 1, + "switch": "gw-fakesite", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 3, + "drain": "NO", + "memcpu": 65536, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "max_walltime": 86400, + "myri": "NO", + "ip": "172.16.64.2", + "myri_count": 0, + "core": 23, + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "last_available_upto": 0, + "finaud_decision": "NO", + "myri_rate": 0, + "api_timestamp": 1568902577, + "scheduler_priority": 0, + "cpucore": 8, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 6, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/23" + }, + { + "rel": "collection", + "href": "//oarapi/resources/23/jobs", + "title": "jobs" + } + ], + "cpuset": 6, + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "id": 23, + "opa_count": 0, + "type": "default", + "production": "YES", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO" + }, + { + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 1, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "next_state": "UnChanged", + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "ip": "172.16.64.2", + "core": 24, + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "cpu": 3, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "drain": "NO", + "memcpu": 65536, + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 6, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "cpucore": 8, + "scheduler_priority": 0, + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "opa": "NO", + "eth_rate": 10, + "available_upto": 2147483647, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/24", + "rel": "self" + }, + { + "rel": "collection", + "href": "//oarapi/resources/24/jobs", + "title": "jobs" + } + ], + "cpuset": 7, + "besteffort": "YES", + "ib_rate": 0, + "opa_count": 0, + "id": 24, + "production": "YES", + "type": "default" + }, + { + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 2, + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "next_state": "UnChanged", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "drain": "NO", + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpu": 4, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "memcpu": 65536, + "myri_count": 0, + "ip": "172.16.64.2", + "core": 25, + "myri": "NO", + "max_walltime": 86400, + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "gpu": 7, + "ib_rate": 0, + "besteffort": "YES", + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/25", + "rel": "self" + }, + { + "href": "//oarapi/resources/25/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "cpuset": 8, + "available_upto": 2147483647, + "type": "default", + "production": "YES", + "opa_count": 0, + "id": 25, + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0 + }, + { + "id": 26, + "opa_count": 0, + "type": "default", + "production": "YES", + "cpuset": 9, + "links": [ + { + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "title": "node", + "rel": "member" + }, + { + "href": "//oarapi/resources/26", + "rel": "self" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/26/jobs" + } + ], + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "cpucore": 8, + "scheduler_priority": 0, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 7, + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "memcpu": 65536, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 4, + "drain": "NO", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "max_walltime": 86400, + "myri": "NO", + "core": 26, + "myri_count": 0, + "ip": "172.16.64.2", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 2, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0 + }, + { + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "ib_rate": 0, + "besteffort": "YES", + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "title": "node" + }, + { + "rel": "self", + "href": "//oarapi/resources/27" + }, + { + "href": "//oarapi/resources/27/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "cpuset": 10, + "available_upto": 2147483647, + "type": "default", + "production": "YES", + "opa_count": 0, + "id": 27, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "gpu": 7, + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "core": 27, + "myri_count": 0, + "ip": "172.16.64.2", + "myri": "NO", + "max_walltime": 86400, + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "suspended_jobs": "NO", + "ib": "NO", + "disk_reservation_count": 0, + "drain": "NO", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 4, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "memcpu": 65536, + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "gpudevice": 2, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "next_state": "UnChanged", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO" + }, + { + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "gpudevice": 2, + "switch": "gw-fakesite", + "eth_count": 1, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "memcpu": 65536, + "drain": "NO", + "cpu": 4, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "core": 28, + "myri_count": 0, + "ip": "172.16.64.2", + "max_walltime": 86400, + "myri": "NO", + "cpucore": 8, + "scheduler_priority": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "gpu": 7, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "production": "YES", + "type": "default", + "opa_count": 0, + "id": 28, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/28", + "rel": "self" + }, + { + "rel": "collection", + "href": "//oarapi/resources/28/jobs", + "title": "jobs" + } + ], + "cpuset": 11, + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072 + }, + { + "drain": "NO", + "cpu": 4, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO", + "memcpu": 65536, + "core": 29, + "myri_count": 0, + "ip": "172.16.64.2", + "myri": "NO", + "max_walltime": 86400, + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 3, + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "title": "node" + }, + { + "rel": "self", + "href": "//oarapi/resources/29" + }, + { + "rel": "collection", + "href": "//oarapi/resources/29/jobs", + "title": "jobs" + } + ], + "cpuset": 12, + "production": "YES", + "type": "default", + "id": 29, + "opa_count": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "gpu": 8 + }, + { + "gpu": 8, + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "myri_rate": 0, + "api_timestamp": 1568902577, + "cpucore": 8, + "scheduler_priority": 0, + "last_available_upto": 0, + "finaud_decision": "NO", + "last_job_date": 0, + "opa": "NO", + "eth_rate": 10, + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "id": 30, + "opa_count": 0, + "type": "default", + "production": "YES", + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/30" + }, + { + "title": "jobs", + "href": "//oarapi/resources/30/jobs", + "rel": "collection" + } + ], + "cpuset": 13, + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 3, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "suspended_jobs": "NO", + "ib": "NO", + "disk_reservation_count": 0, + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "max_walltime": 86400, + "myri": "NO", + "myri_count": 0, + "core": 30, + "ip": "172.16.64.2", + "memcpu": 65536, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 4, + "drain": "NO" + }, + { + "drain": "NO", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 4, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "memcpu": 65536, + "myri_count": 0, + "ip": "172.16.64.2", + "core": 31, + "max_walltime": 86400, + "myri": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 3, + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "next_state": "UnChanged", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "ib_rate": 0, + "besteffort": "YES", + "cpuset": 14, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/31" + }, + { + "href": "//oarapi/resources/31/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "available_upto": 2147483647, + "type": "default", + "production": "YES", + "opa_count": 0, + "id": 31, + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "gpu": 8 + }, + { + "switch": "gw-fakesite", + "eth_count": 1, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "gpudevice": 3, + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "myri_count": 0, + "core": 32, + "ip": "172.16.64.2", + "max_walltime": 86400, + "myri": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "memcpu": 65536, + "drain": "NO", + "cpu": 4, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "gpu": 8, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "scheduler_priority": 0, + "cpucore": 8, + "api_timestamp": 1568902577, + "myri_rate": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "production": "YES", + "type": "default", + "opa_count": 0, + "id": 32, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "cpuset": 15, + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "title": "node" + }, + { + "href": "//oarapi/resources/32", + "rel": "self" + }, + { + "rel": "collection", + "href": "//oarapi/resources/32/jobs", + "title": "jobs" + } + ] + } + ], + "total": 32, + "links": [ + { + "href": "//oarapi/resources/details.json?limit=999999&offset=0", + "rel": "self" + } + ] +} + diff --git a/spec/stub_oar_properties/dump_oar_api_configured_server_quirk_cluster.json b/spec/stub_oar_properties/dump_oar_api_configured_server_quirk_cluster.json new file mode 100644 index 00000000000..7d56c7b0f5e --- /dev/null +++ b/spec/stub_oar_properties/dump_oar_api_configured_server_quirk_cluster.json @@ -0,0 +1,2978 @@ +{ + "links" : [ + { + "href" : "//oarapi/resources/details.json?limit=999999&offset=0", + "rel" : "self" + } + ], + "total" : 38, + "offset" : 0, + "items" : [ + { + "opa" : "NO", + "myri_count" : 0, + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "api_timestamp" : 1569605253, + "cpuset" : 0, + "ib_count" : 0, + "state" : "Alive", + "cpuarch" : "x86_64", + "eth_rate" : 10, + "nodemodel" : "Dell PowerEdge T640", + "gpu" : null, + "max_walltime" : 86400, + "besteffort" : "YES", + "host" : "clusterc-1.fakesite.grid5000.fr", + "maintenance" : "NO", + "cpucore" : 8, + "gpu_model" : null, + "opa_rate" : 0, + "state_num" : 1, + "myri" : "NO", + "disktype" : "SATA", + "myri_rate" : 0, + "next_finaud_decision" : "NO", + "cpu" : 1, + "drain" : "NO", + "core" : 1, + "scheduler_priority" : 0, + "type" : "default", + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "eth_count" : 1, + "finaud_decision" : "NO", + "last_available_upto" : 0, + "expiry_date" : 0, + "ip" : "172.16.64.1", + "suspended_jobs" : "NO", + "available_upto" : 2147483647, + "deploy" : "NO", + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-1.fakesite.grid5000.fr", + "rel" : "member", + "title" : "node" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/1" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/1/jobs" + } + ], + "last_job_date" : 0, + "id" : 1, + "memnode" : 131072, + "cluster_priority" : 201906, + "disk" : null, + "switch" : null, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "memcore" : 8192, + "diskpath" : null, + "virtual" : "ivt", + "network_address" : "clusterc-1.fakesite.grid5000.fr", + "ib_rate" : 0, + "mic" : "NO", + "gpudevice" : null, + "desktop_computing" : "NO", + "next_state" : "UnChanged", + "memcpu" : 65536, + "opa_count" : 0, + "production" : "YES", + "ib" : "NO" + }, + { + "cpu" : 1, + "next_finaud_decision" : "NO", + "scheduler_priority" : 0, + "type" : "default", + "core" : 3, + "drain" : "NO", + "disktype" : "SATA", + "myri" : "NO", + "myri_rate" : 0, + "last_available_upto" : 0, + "expiry_date" : 0, + "disk_reservation_count" : 3, + "cpufreq" : "2.1", + "finaud_decision" : "NO", + "eth_count" : 1, + "state" : "Alive", + "ib_count" : 0, + "cpuset" : 1, + "eth_rate" : 10, + "cpuarch" : "x86_64", + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "myri_count" : 0, + "opa" : "NO", + "api_timestamp" : 1569605253, + "maintenance" : "NO", + "gpu_model" : null, + "host" : "clusterc-1.fakesite.grid5000.fr", + "cpucore" : 8, + "besteffort" : "YES", + "state_num" : 1, + "opa_rate" : 0, + "gpu" : null, + "max_walltime" : 86400, + "nodemodel" : "Dell PowerEdge T640", + "gpudevice" : null, + "desktop_computing" : "NO", + "mic" : "NO", + "ib_rate" : 0, + "network_address" : "clusterc-1.fakesite.grid5000.fr", + "virtual" : "ivt", + "ib" : "NO", + "production" : "YES", + "memcpu" : 65536, + "next_state" : "UnChanged", + "opa_count" : 0, + "id" : 2, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-1.fakesite.grid5000.fr", + "rel" : "member", + "title" : "node" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/2" + }, + { + "href" : "//oarapi/resources/2/jobs", + "title" : "jobs", + "rel" : "collection" + } + ], + "last_job_date" : 0, + "memnode" : 131072, + "cluster_priority" : 201906, + "ip" : "172.16.64.1", + "available_upto" : 2147483647, + "deploy" : "NO", + "suspended_jobs" : "NO", + "memcore" : 8192, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "diskpath" : null, + "disk" : null, + "switch" : null + }, + { + "disk" : null, + "switch" : null, + "memcore" : 8192, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "diskpath" : null, + "ip" : "172.16.64.1", + "deploy" : "NO", + "available_upto" : 2147483647, + "suspended_jobs" : "NO", + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/clusterc-1.fakesite.grid5000.fr" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/3" + }, + { + "href" : "//oarapi/resources/3/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "id" : 3, + "last_job_date" : 0, + "cluster_priority" : 201906, + "memnode" : 131072, + "next_state" : "UnChanged", + "memcpu" : 65536, + "opa_count" : 0, + "ib" : "NO", + "production" : "YES", + "ib_rate" : 0, + "virtual" : "ivt", + "network_address" : "clusterc-1.fakesite.grid5000.fr", + "desktop_computing" : "NO", + "gpudevice" : null, + "mic" : "NO", + "gpu" : null, + "max_walltime" : 86400, + "nodemodel" : "Dell PowerEdge T640", + "gpu_model" : null, + "maintenance" : "NO", + "host" : "clusterc-1.fakesite.grid5000.fr", + "cpucore" : 8, + "besteffort" : "YES", + "state_num" : 1, + "opa_rate" : 0, + "cputype" : "Intel Xeon Silver 4110", + "cluster" : "clusterc", + "opa" : "NO", + "myri_count" : 0, + "api_timestamp" : 1569605253, + "state" : "Alive", + "ib_count" : 0, + "cpuset" : 2, + "cpuarch" : "x86_64", + "eth_rate" : 10, + "disk_reservation_count" : 3, + "cpufreq" : "2.1", + "finaud_decision" : "NO", + "eth_count" : 1, + "last_available_upto" : 0, + "expiry_date" : 0, + "disktype" : "SATA", + "myri" : "NO", + "myri_rate" : 0, + "cpu" : 1, + "next_finaud_decision" : "NO", + "scheduler_priority" : 0, + "type" : "default", + "drain" : "NO", + "core" : 2 + }, + { + "cluster_priority" : 201906, + "memnode" : 131072, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-1.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/4" + }, + { + "href" : "//oarapi/resources/4/jobs", + "title" : "jobs", + "rel" : "collection" + } + ], + "last_job_date" : 0, + "id" : 4, + "available_upto" : 2147483647, + "deploy" : "NO", + "suspended_jobs" : "NO", + "ip" : "172.16.64.1", + "diskpath" : null, + "memcore" : 8192, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "switch" : null, + "disk" : null, + "gpudevice" : null, + "desktop_computing" : "NO", + "mic" : "NO", + "ib_rate" : 0, + "network_address" : "clusterc-1.fakesite.grid5000.fr", + "virtual" : "ivt", + "production" : "YES", + "ib" : "NO", + "opa_count" : 0, + "next_state" : "UnChanged", + "memcpu" : 65536, + "cpuarch" : "x86_64", + "eth_rate" : 10, + "state" : "Alive", + "ib_count" : 0, + "cpuset" : 3, + "api_timestamp" : 1569605253, + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "opa" : "NO", + "myri_count" : 0, + "state_num" : 1, + "opa_rate" : 0, + "maintenance" : "NO", + "host" : "clusterc-1.fakesite.grid5000.fr", + "gpu_model" : null, + "cpucore" : 8, + "besteffort" : "YES", + "gpu" : null, + "max_walltime" : 86400, + "nodemodel" : "Dell PowerEdge T640", + "type" : "default", + "scheduler_priority" : 0, + "core" : 4, + "drain" : "NO", + "cpu" : 1, + "next_finaud_decision" : "NO", + "myri_rate" : 0, + "disktype" : "SATA", + "myri" : "NO", + "expiry_date" : 0, + "last_available_upto" : 0, + "finaud_decision" : "NO", + "eth_count" : 1, + "disk_reservation_count" : 3, + "cpufreq" : "2.1" + }, + { + "finaud_decision" : "NO", + "eth_count" : 1, + "disk_reservation_count" : 3, + "cpufreq" : "2.1", + "expiry_date" : 0, + "last_available_upto" : 0, + "myri_rate" : 0, + "disktype" : "SATA", + "myri" : "NO", + "scheduler_priority" : 0, + "type" : "default", + "drain" : "NO", + "core" : 5, + "next_finaud_decision" : "NO", + "cpu" : 1, + "gpu" : null, + "max_walltime" : 86400, + "nodemodel" : "Dell PowerEdge T640", + "state_num" : 1, + "opa_rate" : 0, + "host" : "clusterc-1.fakesite.grid5000.fr", + "maintenance" : "NO", + "cpucore" : 8, + "gpu_model" : null, + "besteffort" : "YES", + "api_timestamp" : 1569605253, + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "myri_count" : 0, + "opa" : "NO", + "eth_rate" : 10, + "cpuarch" : "x86_64", + "state" : "Alive", + "ib_count" : 0, + "cpuset" : 4, + "opa_count" : 0, + "next_state" : "UnChanged", + "memcpu" : 65536, + "ib" : "NO", + "production" : "YES", + "ib_rate" : 0, + "virtual" : "ivt", + "network_address" : "clusterc-1.fakesite.grid5000.fr", + "gpudevice" : null, + "desktop_computing" : "NO", + "mic" : "NO", + "switch" : null, + "disk" : null, + "diskpath" : null, + "memcore" : 8192, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "deploy" : "NO", + "available_upto" : 2147483647, + "suspended_jobs" : "NO", + "ip" : "172.16.64.1", + "memnode" : 131072, + "cluster_priority" : 201906, + "last_job_date" : 0, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-1.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/5" + }, + { + "title" : "jobs", + "rel" : "collection", + "href" : "//oarapi/resources/5/jobs" + } + ], + "id" : 5 + }, + { + "besteffort" : "YES", + "host" : "clusterc-1.fakesite.grid5000.fr", + "maintenance" : "NO", + "gpu_model" : null, + "cpucore" : 8, + "opa_rate" : 0, + "state_num" : 1, + "nodemodel" : "Dell PowerEdge T640", + "gpu" : null, + "max_walltime" : 86400, + "cpuset" : 5, + "ib_count" : 0, + "state" : "Alive", + "eth_rate" : 10, + "cpuarch" : "x86_64", + "opa" : "NO", + "myri_count" : 0, + "cputype" : "Intel Xeon Silver 4110", + "cluster" : "clusterc", + "api_timestamp" : 1569605253, + "last_available_upto" : 0, + "expiry_date" : 0, + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "eth_count" : 1, + "finaud_decision" : "NO", + "cpu" : 1, + "next_finaud_decision" : "NO", + "core" : 6, + "drain" : "NO", + "type" : "default", + "scheduler_priority" : 0, + "myri" : "NO", + "disktype" : "SATA", + "myri_rate" : 0, + "wattmeter" : "MULTIPLE", + "gpu_count" : 0, + "memcore" : 8192, + "diskpath" : null, + "disk" : null, + "switch" : null, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-1.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "href" : "//oarapi/resources/6", + "rel" : "self" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/6/jobs" + } + ], + "last_job_date" : 0, + "id" : 6, + "cluster_priority" : 201906, + "memnode" : 131072, + "ip" : "172.16.64.1", + "suspended_jobs" : "NO", + "available_upto" : 2147483647, + "deploy" : "NO", + "ib" : "NO", + "production" : "YES", + "next_state" : "UnChanged", + "memcpu" : 65536, + "opa_count" : 0, + "mic" : "NO", + "gpudevice" : null, + "desktop_computing" : "NO", + "virtual" : "ivt", + "network_address" : "clusterc-1.fakesite.grid5000.fr", + "ib_rate" : 0 + }, + { + "next_state" : "UnChanged", + "memcpu" : 65536, + "opa_count" : 0, + "ib" : "NO", + "production" : "YES", + "ib_rate" : 0, + "virtual" : "ivt", + "network_address" : "clusterc-1.fakesite.grid5000.fr", + "desktop_computing" : "NO", + "gpudevice" : null, + "mic" : "NO", + "disk" : null, + "switch" : null, + "memcore" : 8192, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "diskpath" : null, + "ip" : "172.16.64.1", + "available_upto" : 2147483647, + "deploy" : "NO", + "suspended_jobs" : "NO", + "last_job_date" : 0, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-1.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/7" + }, + { + "href" : "//oarapi/resources/7/jobs", + "title" : "jobs", + "rel" : "collection" + } + ], + "id" : 7, + "cluster_priority" : 201906, + "memnode" : 131072, + "disk_reservation_count" : 3, + "cpufreq" : "2.1", + "finaud_decision" : "NO", + "eth_count" : 1, + "last_available_upto" : 0, + "expiry_date" : 0, + "myri" : "NO", + "disktype" : "SATA", + "myri_rate" : 0, + "cpu" : 1, + "next_finaud_decision" : "NO", + "scheduler_priority" : 0, + "type" : "default", + "drain" : "NO", + "core" : 7, + "gpu" : null, + "max_walltime" : 86400, + "nodemodel" : "Dell PowerEdge T640", + "gpu_model" : null, + "maintenance" : "NO", + "host" : "clusterc-1.fakesite.grid5000.fr", + "cpucore" : 8, + "besteffort" : "YES", + "state_num" : 1, + "opa_rate" : 0, + "cputype" : "Intel Xeon Silver 4110", + "cluster" : "clusterc", + "opa" : "NO", + "myri_count" : 0, + "api_timestamp" : 1569605253, + "ib_count" : 0, + "state" : "Alive", + "cpuset" : 6, + "cpuarch" : "x86_64", + "eth_rate" : 10 + }, + { + "cputype" : "Intel Xeon Silver 4110", + "cluster" : "clusterc", + "myri_count" : 0, + "opa" : "NO", + "api_timestamp" : 1569605253, + "state" : "Alive", + "ib_count" : 0, + "cpuset" : 7, + "cpuarch" : "x86_64", + "eth_rate" : 10, + "gpu" : null, + "max_walltime" : 86400, + "nodemodel" : "Dell PowerEdge T640", + "maintenance" : "NO", + "cpucore" : 8, + "host" : "clusterc-1.fakesite.grid5000.fr", + "gpu_model" : null, + "besteffort" : "YES", + "state_num" : 1, + "opa_rate" : 0, + "myri" : "NO", + "disktype" : "SATA", + "myri_rate" : 0, + "cpu" : 1, + "next_finaud_decision" : "NO", + "type" : "default", + "scheduler_priority" : 0, + "drain" : "NO", + "core" : 8, + "disk_reservation_count" : 3, + "cpufreq" : "2.1", + "finaud_decision" : "NO", + "eth_count" : 1, + "last_available_upto" : 0, + "expiry_date" : 0, + "ip" : "172.16.64.1", + "available_upto" : 2147483647, + "deploy" : "NO", + "suspended_jobs" : "NO", + "id" : 8, + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/clusterc-1.fakesite.grid5000.fr" + }, + { + "href" : "//oarapi/resources/8", + "rel" : "self" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/8/jobs" + } + ], + "last_job_date" : 0, + "memnode" : 131072, + "cluster_priority" : 201906, + "disk" : null, + "switch" : null, + "memcore" : 8192, + "wattmeter" : "MULTIPLE", + "gpu_count" : 0, + "diskpath" : null, + "ib_rate" : 0, + "network_address" : "clusterc-1.fakesite.grid5000.fr", + "virtual" : "ivt", + "gpudevice" : null, + "desktop_computing" : "NO", + "mic" : "NO", + "next_state" : "UnChanged", + "memcpu" : 65536, + "opa_count" : 0, + "production" : "YES", + "ib" : "NO" + }, + { + "production" : "YES", + "ib" : "NO", + "opa_count" : 0, + "next_state" : "UnChanged", + "memcpu" : 65536, + "mic" : "NO", + "gpudevice" : null, + "desktop_computing" : "NO", + "virtual" : "ivt", + "network_address" : "clusterc-1.fakesite.grid5000.fr", + "ib_rate" : 0, + "diskpath" : null, + "wattmeter" : "MULTIPLE", + "gpu_count" : 0, + "memcore" : 8192, + "switch" : null, + "disk" : null, + "cluster_priority" : 201906, + "memnode" : 131072, + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/clusterc-1.fakesite.grid5000.fr" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/9" + }, + { + "href" : "//oarapi/resources/9/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "last_job_date" : 0, + "id" : 9, + "suspended_jobs" : "NO", + "available_upto" : 2147483647, + "deploy" : "NO", + "ip" : "172.16.64.1", + "expiry_date" : 0, + "last_available_upto" : 0, + "eth_count" : 1, + "finaud_decision" : "NO", + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "core" : 9, + "drain" : "NO", + "scheduler_priority" : 0, + "type" : "default", + "next_finaud_decision" : "NO", + "cpu" : 2, + "myri_rate" : 0, + "myri" : "NO", + "disktype" : "SATA", + "opa_rate" : 0, + "state_num" : 1, + "besteffort" : "YES", + "maintenance" : "NO", + "host" : "clusterc-1.fakesite.grid5000.fr", + "cpucore" : 8, + "gpu_model" : null, + "nodemodel" : "Dell PowerEdge T640", + "gpu" : null, + "max_walltime" : 86400, + "cpuarch" : "x86_64", + "eth_rate" : 10, + "cpuset" : 8, + "ib_count" : 0, + "state" : "Alive", + "api_timestamp" : 1569605253, + "myri_count" : 0, + "opa" : "NO", + "cputype" : "Intel Xeon Silver 4110", + "cluster" : "clusterc" + }, + { + "next_state" : "UnChanged", + "memcpu" : 65536, + "opa_count" : 0, + "ib" : "NO", + "production" : "YES", + "network_address" : "clusterc-1.fakesite.grid5000.fr", + "virtual" : "ivt", + "ib_rate" : 0, + "mic" : "NO", + "gpudevice" : null, + "desktop_computing" : "NO", + "disk" : null, + "switch" : null, + "wattmeter" : "MULTIPLE", + "gpu_count" : 0, + "memcore" : 8192, + "diskpath" : null, + "ip" : "172.16.64.1", + "suspended_jobs" : "NO", + "available_upto" : 2147483647, + "deploy" : "NO", + "last_job_date" : 0, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-1.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "href" : "//oarapi/resources/10", + "rel" : "self" + }, + { + "href" : "//oarapi/resources/10/jobs", + "title" : "jobs", + "rel" : "collection" + } + ], + "id" : 10, + "cluster_priority" : 201906, + "memnode" : 131072, + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "eth_count" : 1, + "finaud_decision" : "NO", + "last_available_upto" : 0, + "expiry_date" : 0, + "disktype" : "SATA", + "myri" : "NO", + "myri_rate" : 0, + "next_finaud_decision" : "NO", + "cpu" : 2, + "drain" : "NO", + "core" : 10, + "type" : "default", + "scheduler_priority" : 0, + "nodemodel" : "Dell PowerEdge T640", + "max_walltime" : 86400, + "gpu" : null, + "besteffort" : "YES", + "maintenance" : "NO", + "host" : "clusterc-1.fakesite.grid5000.fr", + "gpu_model" : null, + "cpucore" : 8, + "opa_rate" : 0, + "state_num" : 1, + "myri_count" : 0, + "opa" : "NO", + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "api_timestamp" : 1569605253, + "cpuset" : 9, + "ib_count" : 0, + "state" : "Alive", + "eth_rate" : 10, + "cpuarch" : "x86_64" + }, + { + "cpu" : 2, + "next_finaud_decision" : "NO", + "core" : 11, + "drain" : "NO", + "scheduler_priority" : 0, + "type" : "default", + "myri" : "NO", + "disktype" : "SATA", + "myri_rate" : 0, + "last_available_upto" : 0, + "expiry_date" : 0, + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "eth_count" : 1, + "finaud_decision" : "NO", + "cpuset" : 10, + "state" : "Alive", + "ib_count" : 0, + "eth_rate" : 10, + "cpuarch" : "x86_64", + "opa" : "NO", + "myri_count" : 0, + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "api_timestamp" : 1569605253, + "besteffort" : "YES", + "gpu_model" : null, + "maintenance" : "NO", + "cpucore" : 8, + "host" : "clusterc-1.fakesite.grid5000.fr", + "opa_rate" : 0, + "state_num" : 1, + "nodemodel" : "Dell PowerEdge T640", + "max_walltime" : 86400, + "gpu" : null, + "mic" : "NO", + "gpudevice" : null, + "desktop_computing" : "NO", + "network_address" : "clusterc-1.fakesite.grid5000.fr", + "virtual" : "ivt", + "ib_rate" : 0, + "production" : "YES", + "ib" : "NO", + "next_state" : "UnChanged", + "memcpu" : 65536, + "opa_count" : 0, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-1.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/11" + }, + { + "href" : "//oarapi/resources/11/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "last_job_date" : 0, + "id" : 11, + "cluster_priority" : 201906, + "memnode" : 131072, + "ip" : "172.16.64.1", + "suspended_jobs" : "NO", + "deploy" : "NO", + "available_upto" : 2147483647, + "wattmeter" : "MULTIPLE", + "gpu_count" : 0, + "memcore" : 8192, + "diskpath" : null, + "disk" : null, + "switch" : null + }, + { + "myri_rate" : 0, + "myri" : "NO", + "disktype" : "SATA", + "drain" : "NO", + "core" : 12, + "scheduler_priority" : 0, + "type" : "default", + "next_finaud_decision" : "NO", + "cpu" : 2, + "eth_count" : 1, + "finaud_decision" : "NO", + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "expiry_date" : 0, + "last_available_upto" : 0, + "api_timestamp" : 1569605253, + "myri_count" : 0, + "opa" : "NO", + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "cpuarch" : "x86_64", + "eth_rate" : 10, + "cpuset" : 11, + "ib_count" : 0, + "state" : "Alive", + "nodemodel" : "Dell PowerEdge T640", + "max_walltime" : 86400, + "gpu" : null, + "opa_rate" : 0, + "state_num" : 1, + "besteffort" : "YES", + "maintenance" : "NO", + "host" : "clusterc-1.fakesite.grid5000.fr", + "gpu_model" : null, + "cpucore" : 8, + "virtual" : "ivt", + "network_address" : "clusterc-1.fakesite.grid5000.fr", + "ib_rate" : 0, + "mic" : "NO", + "desktop_computing" : "NO", + "gpudevice" : null, + "opa_count" : 0, + "memcpu" : 65536, + "next_state" : "UnChanged", + "ib" : "NO", + "production" : "YES", + "suspended_jobs" : "NO", + "available_upto" : 2147483647, + "deploy" : "NO", + "ip" : "172.16.64.1", + "memnode" : 131072, + "cluster_priority" : 201906, + "id" : 12, + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/clusterc-1.fakesite.grid5000.fr" + }, + { + "href" : "//oarapi/resources/12", + "rel" : "self" + }, + { + "title" : "jobs", + "rel" : "collection", + "href" : "//oarapi/resources/12/jobs" + } + ], + "last_job_date" : 0, + "switch" : null, + "disk" : null, + "diskpath" : null, + "wattmeter" : "MULTIPLE", + "gpu_count" : 0, + "memcore" : 8192 + }, + { + "expiry_date" : 0, + "last_available_upto" : 0, + "eth_count" : 1, + "finaud_decision" : "NO", + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "core" : 13, + "drain" : "NO", + "scheduler_priority" : 0, + "type" : "default", + "cpu" : 2, + "next_finaud_decision" : "NO", + "myri_rate" : 0, + "disktype" : "SATA", + "myri" : "NO", + "opa_rate" : 0, + "state_num" : 1, + "besteffort" : "YES", + "host" : "clusterc-1.fakesite.grid5000.fr", + "maintenance" : "NO", + "gpu_model" : null, + "cpucore" : 8, + "nodemodel" : "Dell PowerEdge T640", + "gpu" : null, + "max_walltime" : 86400, + "eth_rate" : 10, + "cpuarch" : "x86_64", + "cpuset" : 12, + "ib_count" : 0, + "state" : "Alive", + "api_timestamp" : 1569605253, + "opa" : "NO", + "myri_count" : 0, + "cputype" : "Intel Xeon Silver 4110", + "cluster" : "clusterc", + "ib" : "NO", + "production" : "YES", + "opa_count" : 0, + "next_state" : "UnChanged", + "memcpu" : 65536, + "mic" : "NO", + "desktop_computing" : "NO", + "gpudevice" : null, + "network_address" : "clusterc-1.fakesite.grid5000.fr", + "virtual" : "ivt", + "ib_rate" : 0, + "diskpath" : null, + "wattmeter" : "MULTIPLE", + "gpu_count" : 0, + "memcore" : 8192, + "switch" : null, + "disk" : null, + "cluster_priority" : 201906, + "memnode" : 131072, + "last_job_date" : 0, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-1.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/13" + }, + { + "title" : "jobs", + "rel" : "collection", + "href" : "//oarapi/resources/13/jobs" + } + ], + "id" : 13, + "suspended_jobs" : "NO", + "available_upto" : 2147483647, + "deploy" : "NO", + "ip" : "172.16.64.1" + }, + { + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "opa" : "NO", + "myri_count" : 0, + "api_timestamp" : 1569605253, + "state" : "Alive", + "ib_count" : 0, + "cpuset" : 13, + "cpuarch" : "x86_64", + "eth_rate" : 10, + "max_walltime" : 86400, + "gpu" : null, + "nodemodel" : "Dell PowerEdge T640", + "host" : "clusterc-1.fakesite.grid5000.fr", + "maintenance" : "NO", + "gpu_model" : null, + "cpucore" : 8, + "besteffort" : "YES", + "state_num" : 1, + "opa_rate" : 0, + "myri" : "NO", + "disktype" : "SATA", + "myri_rate" : 0, + "next_finaud_decision" : "NO", + "cpu" : 2, + "scheduler_priority" : 0, + "type" : "default", + "core" : 14, + "drain" : "NO", + "disk_reservation_count" : 3, + "cpufreq" : "2.1", + "finaud_decision" : "NO", + "eth_count" : 1, + "last_available_upto" : 0, + "expiry_date" : 0, + "ip" : "172.16.64.1", + "available_upto" : 2147483647, + "deploy" : "NO", + "suspended_jobs" : "NO", + "links" : [ + { + "title" : "node", + "rel" : "member", + "href" : "//oarapi/resources/nodes/clusterc-1.fakesite.grid5000.fr" + }, + { + "href" : "//oarapi/resources/14", + "rel" : "self" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/14/jobs" + } + ], + "last_job_date" : 0, + "id" : 14, + "memnode" : 131072, + "cluster_priority" : 201906, + "disk" : null, + "switch" : null, + "memcore" : 8192, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "diskpath" : null, + "ib_rate" : 0, + "network_address" : "clusterc-1.fakesite.grid5000.fr", + "virtual" : "ivt", + "gpudevice" : null, + "desktop_computing" : "NO", + "mic" : "NO", + "memcpu" : 65536, + "next_state" : "UnChanged", + "opa_count" : 0, + "production" : "YES", + "ib" : "NO" + }, + { + "besteffort" : "YES", + "maintenance" : "NO", + "host" : "clusterc-1.fakesite.grid5000.fr", + "cpucore" : 8, + "gpu_model" : null, + "opa_rate" : 0, + "state_num" : 1, + "nodemodel" : "Dell PowerEdge T640", + "max_walltime" : 86400, + "gpu" : null, + "cpuset" : 14, + "ib_count" : 0, + "state" : "Alive", + "cpuarch" : "x86_64", + "eth_rate" : 10, + "myri_count" : 0, + "opa" : "NO", + "cputype" : "Intel Xeon Silver 4110", + "cluster" : "clusterc", + "api_timestamp" : 1569605253, + "last_available_upto" : 0, + "expiry_date" : 0, + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "eth_count" : 1, + "finaud_decision" : "NO", + "next_finaud_decision" : "NO", + "cpu" : 2, + "core" : 15, + "drain" : "NO", + "type" : "default", + "scheduler_priority" : 0, + "myri" : "NO", + "disktype" : "SATA", + "myri_rate" : 0, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "memcore" : 8192, + "diskpath" : null, + "disk" : null, + "switch" : null, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-1.fakesite.grid5000.fr", + "rel" : "member", + "title" : "node" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/15" + }, + { + "title" : "jobs", + "rel" : "collection", + "href" : "//oarapi/resources/15/jobs" + } + ], + "last_job_date" : 0, + "id" : 15, + "cluster_priority" : 201906, + "memnode" : 131072, + "ip" : "172.16.64.1", + "suspended_jobs" : "NO", + "deploy" : "NO", + "available_upto" : 2147483647, + "production" : "YES", + "ib" : "NO", + "next_state" : "UnChanged", + "memcpu" : 65536, + "opa_count" : 0, + "mic" : "NO", + "gpudevice" : null, + "desktop_computing" : "NO", + "network_address" : "clusterc-1.fakesite.grid5000.fr", + "virtual" : "ivt", + "ib_rate" : 0 + }, + { + "ib" : "NO", + "production" : "YES", + "next_state" : "UnChanged", + "memcpu" : 65536, + "opa_count" : 0, + "mic" : "NO", + "gpudevice" : null, + "desktop_computing" : "NO", + "virtual" : "ivt", + "network_address" : "clusterc-1.fakesite.grid5000.fr", + "ib_rate" : 0, + "wattmeter" : "MULTIPLE", + "gpu_count" : 0, + "memcore" : 8192, + "diskpath" : null, + "disk" : null, + "switch" : null, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-1.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "href" : "//oarapi/resources/16", + "rel" : "self" + }, + { + "href" : "//oarapi/resources/16/jobs", + "title" : "jobs", + "rel" : "collection" + } + ], + "id" : 16, + "last_job_date" : 0, + "cluster_priority" : 201906, + "memnode" : 131072, + "ip" : "172.16.64.1", + "suspended_jobs" : "NO", + "available_upto" : 2147483647, + "deploy" : "NO", + "last_available_upto" : 0, + "expiry_date" : 0, + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "eth_count" : 1, + "finaud_decision" : "NO", + "next_finaud_decision" : "NO", + "cpu" : 2, + "drain" : "NO", + "core" : 16, + "type" : "default", + "scheduler_priority" : 0, + "myri" : "NO", + "disktype" : "SATA", + "myri_rate" : 0, + "besteffort" : "YES", + "maintenance" : "NO", + "host" : "clusterc-1.fakesite.grid5000.fr", + "gpu_model" : null, + "cpucore" : 8, + "opa_rate" : 0, + "state_num" : 1, + "nodemodel" : "Dell PowerEdge T640", + "max_walltime" : 86400, + "gpu" : null, + "cpuset" : 15, + "ib_count" : 0, + "state" : "Alive", + "cpuarch" : "x86_64", + "eth_rate" : 10, + "opa" : "NO", + "myri_count" : 0, + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "api_timestamp" : 1569605253 + }, + { + "opa_count" : null, + "next_state" : "UnChanged", + "memcpu" : null, + "ib" : null, + "production" : "YES", + "ib_rate" : null, + "virtual" : null, + "network_address" : "", + "gpudevice" : null, + "desktop_computing" : "NO", + "mic" : null, + "switch" : null, + "disk" : "sdb.clusterc-1", + "diskpath" : "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:1:0", + "memcore" : null, + "wattmeter" : null, + "gpu_count" : null, + "deploy" : "YES", + "available_upto" : 0, + "suspended_jobs" : "NO", + "ip" : null, + "memnode" : null, + "cluster_priority" : null, + "links" : [ + { + "href" : "//oarapi/resources/nodes/", + "title" : "node", + "rel" : "member" + }, + { + "href" : "//oarapi/resources/17", + "rel" : "self" + }, + { + "href" : "//oarapi/resources/17/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "id" : 17, + "last_job_date" : 0, + "finaud_decision" : "NO", + "eth_count" : null, + "disk_reservation_count" : null, + "cpufreq" : null, + "expiry_date" : 0, + "last_available_upto" : 0, + "myri_rate" : null, + "myri" : null, + "disktype" : null, + "scheduler_priority" : 0, + "type" : "disk", + "core" : null, + "drain" : "NO", + "cpu" : null, + "next_finaud_decision" : "NO", + "gpu" : null, + "max_walltime" : null, + "nodemodel" : null, + "state_num" : 1, + "opa_rate" : null, + "cpucore" : null, + "maintenance" : "NO", + "host" : "clusterc-1.fakesite.grid5000.fr", + "gpu_model" : null, + "besteffort" : "YES", + "api_timestamp" : 1569605253, + "cputype" : null, + "cluster" : "clusterc", + "myri_count" : null, + "opa" : null, + "eth_rate" : null, + "cpuarch" : null, + "state" : "Alive", + "ib_count" : null, + "cpuset" : -1 + }, + { + "type" : "disk", + "scheduler_priority" : 0, + "core" : null, + "drain" : "NO", + "next_finaud_decision" : "NO", + "cpu" : null, + "myri_rate" : null, + "myri" : null, + "disktype" : null, + "expiry_date" : 0, + "last_available_upto" : 0, + "finaud_decision" : "NO", + "eth_count" : null, + "disk_reservation_count" : null, + "cpufreq" : null, + "cpuarch" : null, + "eth_rate" : null, + "ib_count" : null, + "state" : "Alive", + "cpuset" : -1, + "api_timestamp" : 1569605253, + "cluster" : "clusterc", + "cputype" : null, + "myri_count" : null, + "opa" : null, + "state_num" : 1, + "opa_rate" : null, + "maintenance" : "NO", + "cpucore" : null, + "host" : "clusterc-1.fakesite.grid5000.fr", + "gpu_model" : null, + "besteffort" : "YES", + "gpu" : null, + "max_walltime" : null, + "nodemodel" : null, + "gpudevice" : null, + "desktop_computing" : "NO", + "mic" : null, + "ib_rate" : null, + "network_address" : "", + "virtual" : null, + "production" : "YES", + "ib" : null, + "opa_count" : null, + "memcpu" : null, + "next_state" : "UnChanged", + "memnode" : null, + "cluster_priority" : null, + "last_job_date" : 0, + "links" : [ + { + "href" : "//oarapi/resources/nodes/", + "title" : "node", + "rel" : "member" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/18" + }, + { + "title" : "jobs", + "rel" : "collection", + "href" : "//oarapi/resources/18/jobs" + } + ], + "id" : 18, + "available_upto" : 0, + "deploy" : "YES", + "suspended_jobs" : "NO", + "ip" : null, + "diskpath" : "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:2:0", + "memcore" : null, + "gpu_count" : null, + "wattmeter" : null, + "switch" : null, + "disk" : "sdc.clusterc-1" + }, + { + "expiry_date" : 0, + "last_available_upto" : 0, + "eth_count" : null, + "finaud_decision" : "NO", + "cpufreq" : null, + "disk_reservation_count" : null, + "drain" : "NO", + "core" : null, + "scheduler_priority" : 0, + "type" : "disk", + "next_finaud_decision" : "NO", + "cpu" : null, + "myri_rate" : null, + "disktype" : null, + "myri" : null, + "opa_rate" : null, + "state_num" : 1, + "besteffort" : "YES", + "maintenance" : "NO", + "host" : "clusterc-1.fakesite.grid5000.fr", + "cpucore" : null, + "gpu_model" : null, + "nodemodel" : null, + "max_walltime" : null, + "gpu" : null, + "eth_rate" : null, + "cpuarch" : null, + "cpuset" : -1, + "state" : "Alive", + "ib_count" : null, + "api_timestamp" : 1569605253, + "myri_count" : null, + "opa" : null, + "cputype" : null, + "cluster" : "clusterc", + "ib" : null, + "production" : "YES", + "opa_count" : null, + "next_state" : "UnChanged", + "memcpu" : null, + "mic" : null, + "gpudevice" : null, + "desktop_computing" : "NO", + "network_address" : "", + "virtual" : null, + "ib_rate" : null, + "diskpath" : "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:3:0", + "gpu_count" : null, + "wattmeter" : null, + "memcore" : null, + "switch" : null, + "disk" : "sdd.clusterc-1", + "cluster_priority" : null, + "memnode" : null, + "links" : [ + { + "title" : "node", + "rel" : "member", + "href" : "//oarapi/resources/nodes/" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/19" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/19/jobs" + } + ], + "id" : 19, + "last_job_date" : 0, + "suspended_jobs" : "NO", + "available_upto" : 0, + "deploy" : "YES", + "ip" : null + }, + { + "eth_count" : 1, + "finaud_decision" : "NO", + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "expiry_date" : 0, + "last_available_upto" : 0, + "myri_rate" : 0, + "disktype" : "SATA", + "myri" : "NO", + "drain" : "NO", + "core" : 17, + "type" : "default", + "scheduler_priority" : 0, + "next_finaud_decision" : "NO", + "cpu" : 3, + "nodemodel" : "Dell PowerEdge T640", + "max_walltime" : 86400, + "gpu" : null, + "opa_rate" : 0, + "state_num" : 1, + "besteffort" : "YES", + "maintenance" : "NO", + "cpucore" : 8, + "host" : "clusterc-2.fakesite.grid5000.fr", + "gpu_model" : null, + "api_timestamp" : 1569605253, + "myri_count" : 0, + "opa" : "NO", + "cputype" : "Intel Xeon Silver 4110", + "cluster" : "clusterc", + "eth_rate" : 10, + "cpuarch" : "x86_64", + "cpuset" : 0, + "state" : "Alive", + "ib_count" : 0, + "opa_count" : 0, + "next_state" : "UnChanged", + "memcpu" : 65536, + "production" : "YES", + "ib" : "NO", + "virtual" : "ivt", + "network_address" : "clusterc-2.fakesite.grid5000.fr", + "ib_rate" : 0, + "mic" : "NO", + "gpudevice" : null, + "desktop_computing" : "NO", + "switch" : null, + "disk" : null, + "diskpath" : null, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "memcore" : 8192, + "suspended_jobs" : "NO", + "deploy" : "NO", + "available_upto" : 2147483647, + "ip" : "172.16.64.2", + "cluster_priority" : 201906, + "memnode" : 131072, + "id" : 20, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-2.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "href" : "//oarapi/resources/20", + "rel" : "self" + }, + { + "title" : "jobs", + "rel" : "collection", + "href" : "//oarapi/resources/20/jobs" + } + ], + "last_job_date" : 0 + }, + { + "gpudevice" : null, + "desktop_computing" : "NO", + "mic" : "NO", + "ib_rate" : 0, + "network_address" : "clusterc-2.fakesite.grid5000.fr", + "virtual" : "ivt", + "production" : "YES", + "ib" : "NO", + "next_state" : "UnChanged", + "memcpu" : 65536, + "opa_count" : 0, + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/clusterc-2.fakesite.grid5000.fr" + }, + { + "href" : "//oarapi/resources/21", + "rel" : "self" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/21/jobs" + } + ], + "id" : 21, + "last_job_date" : 0, + "cluster_priority" : 201906, + "memnode" : 131072, + "ip" : "172.16.64.2", + "deploy" : "NO", + "available_upto" : 2147483647, + "suspended_jobs" : "NO", + "memcore" : 8192, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "diskpath" : null, + "disk" : null, + "switch" : null, + "cpu" : 3, + "next_finaud_decision" : "NO", + "type" : "default", + "scheduler_priority" : 0, + "drain" : "NO", + "core" : 18, + "disktype" : "SATA", + "myri" : "NO", + "myri_rate" : 0, + "last_available_upto" : 0, + "expiry_date" : 0, + "disk_reservation_count" : 3, + "cpufreq" : "2.1", + "finaud_decision" : "NO", + "eth_count" : 1, + "state" : "Alive", + "ib_count" : 0, + "cpuset" : 1, + "cpuarch" : "x86_64", + "eth_rate" : 10, + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "myri_count" : 0, + "opa" : "NO", + "api_timestamp" : 1569605253, + "cpucore" : 8, + "maintenance" : "NO", + "host" : "clusterc-2.fakesite.grid5000.fr", + "gpu_model" : null, + "besteffort" : "YES", + "state_num" : 1, + "opa_rate" : 0, + "gpu" : null, + "max_walltime" : 86400, + "nodemodel" : "Dell PowerEdge T640" + }, + { + "ib_rate" : 0, + "virtual" : "ivt", + "network_address" : "clusterc-2.fakesite.grid5000.fr", + "gpudevice" : null, + "desktop_computing" : "NO", + "mic" : "NO", + "opa_count" : 0, + "next_state" : "UnChanged", + "memcpu" : 65536, + "production" : "YES", + "ib" : "NO", + "available_upto" : 2147483647, + "deploy" : "NO", + "suspended_jobs" : "NO", + "ip" : "172.16.64.2", + "cluster_priority" : 201906, + "memnode" : 131072, + "last_job_date" : 0, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-2.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/22" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/22/jobs" + } + ], + "id" : 22, + "switch" : null, + "disk" : null, + "diskpath" : null, + "memcore" : 8192, + "wattmeter" : "MULTIPLE", + "gpu_count" : 0, + "myri_rate" : 0, + "disktype" : "SATA", + "myri" : "NO", + "type" : "default", + "scheduler_priority" : 0, + "core" : 19, + "drain" : "NO", + "next_finaud_decision" : "NO", + "cpu" : 3, + "finaud_decision" : "NO", + "eth_count" : 1, + "disk_reservation_count" : 3, + "cpufreq" : "2.1", + "expiry_date" : 0, + "last_available_upto" : 0, + "api_timestamp" : 1569605253, + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "opa" : "NO", + "myri_count" : 0, + "eth_rate" : 10, + "cpuarch" : "x86_64", + "ib_count" : 0, + "state" : "Alive", + "cpuset" : 2, + "gpu" : null, + "max_walltime" : 86400, + "nodemodel" : "Dell PowerEdge T640", + "state_num" : 1, + "opa_rate" : 0, + "maintenance" : "NO", + "gpu_model" : null, + "host" : "clusterc-2.fakesite.grid5000.fr", + "cpucore" : 8, + "besteffort" : "YES" + }, + { + "gpudevice" : null, + "desktop_computing" : "NO", + "mic" : "NO", + "ib_rate" : 0, + "network_address" : "clusterc-2.fakesite.grid5000.fr", + "virtual" : "ivt", + "production" : "YES", + "ib" : "NO", + "opa_count" : 0, + "memcpu" : 65536, + "next_state" : "UnChanged", + "memnode" : 131072, + "cluster_priority" : 201906, + "last_job_date" : 0, + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/clusterc-2.fakesite.grid5000.fr" + }, + { + "href" : "//oarapi/resources/23", + "rel" : "self" + }, + { + "href" : "//oarapi/resources/23/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "id" : 23, + "available_upto" : 2147483647, + "deploy" : "NO", + "suspended_jobs" : "NO", + "ip" : "172.16.64.2", + "diskpath" : null, + "memcore" : 8192, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "switch" : null, + "disk" : null, + "type" : "default", + "scheduler_priority" : 0, + "core" : 20, + "drain" : "NO", + "cpu" : 3, + "next_finaud_decision" : "NO", + "myri_rate" : 0, + "myri" : "NO", + "disktype" : "SATA", + "expiry_date" : 0, + "last_available_upto" : 0, + "finaud_decision" : "NO", + "eth_count" : 1, + "disk_reservation_count" : 3, + "cpufreq" : "2.1", + "eth_rate" : 10, + "cpuarch" : "x86_64", + "state" : "Alive", + "ib_count" : 0, + "cpuset" : 3, + "api_timestamp" : 1569605253, + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "opa" : "NO", + "myri_count" : 0, + "state_num" : 1, + "opa_rate" : 0, + "maintenance" : "NO", + "gpu_model" : null, + "cpucore" : 8, + "host" : "clusterc-2.fakesite.grid5000.fr", + "besteffort" : "YES", + "max_walltime" : 86400, + "gpu" : null, + "nodemodel" : "Dell PowerEdge T640" + }, + { + "mic" : "NO", + "desktop_computing" : "NO", + "gpudevice" : null, + "network_address" : "clusterc-2.fakesite.grid5000.fr", + "virtual" : "ivt", + "ib_rate" : 0, + "production" : "YES", + "ib" : "NO", + "opa_count" : 0, + "memcpu" : 65536, + "next_state" : "UnChanged", + "memnode" : 131072, + "cluster_priority" : 201906, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-2.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "href" : "//oarapi/resources/24", + "rel" : "self" + }, + { + "href" : "//oarapi/resources/24/jobs", + "title" : "jobs", + "rel" : "collection" + } + ], + "id" : 24, + "last_job_date" : 0, + "suspended_jobs" : "NO", + "available_upto" : 2147483647, + "deploy" : "NO", + "ip" : "172.16.64.2", + "diskpath" : null, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "memcore" : 8192, + "switch" : null, + "disk" : null, + "drain" : "NO", + "core" : 21, + "scheduler_priority" : 0, + "type" : "default", + "next_finaud_decision" : "NO", + "cpu" : 3, + "myri_rate" : 0, + "disktype" : "SATA", + "myri" : "NO", + "expiry_date" : 0, + "last_available_upto" : 0, + "eth_count" : 1, + "finaud_decision" : "NO", + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "eth_rate" : 10, + "cpuarch" : "x86_64", + "cpuset" : 4, + "state" : "Alive", + "ib_count" : 0, + "api_timestamp" : 1569605253, + "opa" : "NO", + "myri_count" : 0, + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "opa_rate" : 0, + "state_num" : 1, + "besteffort" : "YES", + "host" : "clusterc-2.fakesite.grid5000.fr", + "maintenance" : "NO", + "cpucore" : 8, + "gpu_model" : null, + "nodemodel" : "Dell PowerEdge T640", + "max_walltime" : 86400, + "gpu" : null + }, + { + "ib_rate" : 0, + "virtual" : "ivt", + "network_address" : "clusterc-2.fakesite.grid5000.fr", + "gpudevice" : null, + "desktop_computing" : "NO", + "mic" : "NO", + "next_state" : "UnChanged", + "memcpu" : 65536, + "opa_count" : 0, + "ib" : "NO", + "production" : "YES", + "ip" : "172.16.64.2", + "deploy" : "NO", + "available_upto" : 2147483647, + "suspended_jobs" : "NO", + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/clusterc-2.fakesite.grid5000.fr" + }, + { + "href" : "//oarapi/resources/25", + "rel" : "self" + }, + { + "href" : "//oarapi/resources/25/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "last_job_date" : 0, + "id" : 25, + "cluster_priority" : 201906, + "memnode" : 131072, + "disk" : null, + "switch" : null, + "memcore" : 8192, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "diskpath" : null, + "disktype" : "SATA", + "myri" : "NO", + "myri_rate" : 0, + "cpu" : 3, + "next_finaud_decision" : "NO", + "type" : "default", + "scheduler_priority" : 0, + "core" : 22, + "drain" : "NO", + "disk_reservation_count" : 3, + "cpufreq" : "2.1", + "finaud_decision" : "NO", + "eth_count" : 1, + "last_available_upto" : 0, + "expiry_date" : 0, + "cputype" : "Intel Xeon Silver 4110", + "cluster" : "clusterc", + "myri_count" : 0, + "opa" : "NO", + "api_timestamp" : 1569605253, + "ib_count" : 0, + "state" : "Alive", + "cpuset" : 5, + "cpuarch" : "x86_64", + "eth_rate" : 10, + "max_walltime" : 86400, + "gpu" : null, + "nodemodel" : "Dell PowerEdge T640", + "maintenance" : "NO", + "cpucore" : 8, + "host" : "clusterc-2.fakesite.grid5000.fr", + "gpu_model" : null, + "besteffort" : "YES", + "state_num" : 1, + "opa_rate" : 0 + }, + { + "disk" : null, + "switch" : null, + "memcore" : 8192, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "diskpath" : null, + "ip" : "172.16.64.2", + "deploy" : "NO", + "available_upto" : 2147483647, + "suspended_jobs" : "NO", + "id" : 26, + "links" : [ + { + "title" : "node", + "rel" : "member", + "href" : "//oarapi/resources/nodes/clusterc-2.fakesite.grid5000.fr" + }, + { + "href" : "//oarapi/resources/26", + "rel" : "self" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/26/jobs" + } + ], + "last_job_date" : 0, + "cluster_priority" : 201906, + "memnode" : 131072, + "memcpu" : 65536, + "next_state" : "UnChanged", + "opa_count" : 0, + "production" : "YES", + "ib" : "NO", + "ib_rate" : 0, + "virtual" : "ivt", + "network_address" : "clusterc-2.fakesite.grid5000.fr", + "desktop_computing" : "NO", + "gpudevice" : null, + "mic" : "NO", + "max_walltime" : 86400, + "gpu" : null, + "nodemodel" : "Dell PowerEdge T640", + "gpu_model" : null, + "maintenance" : "NO", + "host" : "clusterc-2.fakesite.grid5000.fr", + "cpucore" : 8, + "besteffort" : "YES", + "state_num" : 1, + "opa_rate" : 0, + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "myri_count" : 0, + "opa" : "NO", + "api_timestamp" : 1569605253, + "ib_count" : 0, + "state" : "Alive", + "cpuset" : 6, + "eth_rate" : 10, + "cpuarch" : "x86_64", + "disk_reservation_count" : 3, + "cpufreq" : "2.1", + "finaud_decision" : "NO", + "eth_count" : 1, + "last_available_upto" : 0, + "expiry_date" : 0, + "myri" : "NO", + "disktype" : "SATA", + "myri_rate" : 0, + "next_finaud_decision" : "NO", + "cpu" : 3, + "scheduler_priority" : 0, + "type" : "default", + "core" : 23, + "drain" : "NO" + }, + { + "nodemodel" : "Dell PowerEdge T640", + "gpu" : null, + "max_walltime" : 86400, + "opa_rate" : 0, + "state_num" : 1, + "besteffort" : "YES", + "maintenance" : "NO", + "gpu_model" : null, + "host" : "clusterc-2.fakesite.grid5000.fr", + "cpucore" : 8, + "api_timestamp" : 1569605253, + "opa" : "NO", + "myri_count" : 0, + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "eth_rate" : 10, + "cpuarch" : "x86_64", + "cpuset" : 7, + "ib_count" : 0, + "state" : "Alive", + "eth_count" : 1, + "finaud_decision" : "NO", + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "expiry_date" : 0, + "last_available_upto" : 0, + "myri_rate" : 0, + "myri" : "NO", + "disktype" : "SATA", + "core" : 24, + "drain" : "NO", + "scheduler_priority" : 0, + "type" : "default", + "next_finaud_decision" : "NO", + "cpu" : 3, + "switch" : null, + "disk" : null, + "diskpath" : null, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "memcore" : 8192, + "suspended_jobs" : "NO", + "available_upto" : 2147483647, + "deploy" : "NO", + "ip" : "172.16.64.2", + "cluster_priority" : 201906, + "memnode" : 131072, + "last_job_date" : 0, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-2.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/27" + }, + { + "href" : "//oarapi/resources/27/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "id" : 27, + "opa_count" : 0, + "next_state" : "UnChanged", + "memcpu" : 65536, + "production" : "YES", + "ib" : "NO", + "network_address" : "clusterc-2.fakesite.grid5000.fr", + "virtual" : "ivt", + "ib_rate" : 0, + "mic" : "NO", + "gpudevice" : null, + "desktop_computing" : "NO" + }, + { + "disktype" : "SATA", + "myri" : "NO", + "myri_rate" : 0, + "cpu" : 4, + "next_finaud_decision" : "NO", + "drain" : "NO", + "core" : 25, + "type" : "default", + "scheduler_priority" : 0, + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "eth_count" : 1, + "finaud_decision" : "NO", + "last_available_upto" : 0, + "expiry_date" : 0, + "myri_count" : 0, + "opa" : "NO", + "cputype" : "Intel Xeon Silver 4110", + "cluster" : "clusterc", + "api_timestamp" : 1569605253, + "cpuset" : 8, + "ib_count" : 0, + "state" : "Alive", + "cpuarch" : "x86_64", + "eth_rate" : 10, + "nodemodel" : "Dell PowerEdge T640", + "gpu" : null, + "max_walltime" : 86400, + "besteffort" : "YES", + "host" : "clusterc-2.fakesite.grid5000.fr", + "maintenance" : "NO", + "gpu_model" : null, + "cpucore" : 8, + "opa_rate" : 0, + "state_num" : 1, + "virtual" : "ivt", + "network_address" : "clusterc-2.fakesite.grid5000.fr", + "ib_rate" : 0, + "mic" : "NO", + "gpudevice" : null, + "desktop_computing" : "NO", + "next_state" : "UnChanged", + "memcpu" : 65536, + "opa_count" : 0, + "ib" : "NO", + "production" : "YES", + "ip" : "172.16.64.2", + "suspended_jobs" : "NO", + "available_upto" : 2147483647, + "deploy" : "NO", + "id" : 28, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-2.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "href" : "//oarapi/resources/28", + "rel" : "self" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/28/jobs" + } + ], + "last_job_date" : 0, + "cluster_priority" : 201906, + "memnode" : 131072, + "disk" : null, + "switch" : null, + "wattmeter" : "MULTIPLE", + "gpu_count" : 0, + "memcore" : 8192, + "diskpath" : null + }, + { + "next_finaud_decision" : "NO", + "cpu" : 4, + "core" : 26, + "drain" : "NO", + "type" : "default", + "scheduler_priority" : 0, + "myri" : "NO", + "disktype" : "SATA", + "myri_rate" : 0, + "last_available_upto" : 0, + "expiry_date" : 0, + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "eth_count" : 1, + "finaud_decision" : "NO", + "cpuset" : 9, + "state" : "Alive", + "ib_count" : 0, + "cpuarch" : "x86_64", + "eth_rate" : 10, + "myri_count" : 0, + "opa" : "NO", + "cputype" : "Intel Xeon Silver 4110", + "cluster" : "clusterc", + "api_timestamp" : 1569605253, + "besteffort" : "YES", + "maintenance" : "NO", + "gpu_model" : null, + "host" : "clusterc-2.fakesite.grid5000.fr", + "cpucore" : 8, + "opa_rate" : 0, + "state_num" : 1, + "nodemodel" : "Dell PowerEdge T640", + "max_walltime" : 86400, + "gpu" : null, + "mic" : "NO", + "desktop_computing" : "NO", + "gpudevice" : null, + "network_address" : "clusterc-2.fakesite.grid5000.fr", + "virtual" : "ivt", + "ib_rate" : 0, + "ib" : "NO", + "production" : "YES", + "next_state" : "UnChanged", + "memcpu" : 65536, + "opa_count" : 0, + "last_job_date" : 0, + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/clusterc-2.fakesite.grid5000.fr" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/29" + }, + { + "href" : "//oarapi/resources/29/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "id" : 29, + "memnode" : 131072, + "cluster_priority" : 201906, + "ip" : "172.16.64.2", + "suspended_jobs" : "NO", + "available_upto" : 2147483647, + "deploy" : "NO", + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "memcore" : 8192, + "diskpath" : null, + "disk" : null, + "switch" : null + }, + { + "cpuset" : 10, + "ib_count" : 0, + "state" : "Alive", + "eth_rate" : 10, + "cpuarch" : "x86_64", + "opa" : "NO", + "myri_count" : 0, + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "api_timestamp" : 1569605253, + "besteffort" : "YES", + "maintenance" : "NO", + "host" : "clusterc-2.fakesite.grid5000.fr", + "cpucore" : 8, + "gpu_model" : null, + "opa_rate" : 0, + "state_num" : 1, + "nodemodel" : "Dell PowerEdge T640", + "gpu" : null, + "max_walltime" : 86400, + "cpu" : 4, + "next_finaud_decision" : "NO", + "core" : 27, + "drain" : "NO", + "type" : "default", + "scheduler_priority" : 0, + "disktype" : "SATA", + "myri" : "NO", + "myri_rate" : 0, + "last_available_upto" : 0, + "expiry_date" : 0, + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "eth_count" : 1, + "finaud_decision" : "NO", + "last_job_date" : 0, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-2.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/30" + }, + { + "href" : "//oarapi/resources/30/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "id" : 30, + "cluster_priority" : 201906, + "memnode" : 131072, + "ip" : "172.16.64.2", + "suspended_jobs" : "NO", + "available_upto" : 2147483647, + "deploy" : "NO", + "wattmeter" : "MULTIPLE", + "gpu_count" : 0, + "memcore" : 8192, + "diskpath" : null, + "disk" : null, + "switch" : null, + "mic" : "NO", + "gpudevice" : null, + "desktop_computing" : "NO", + "virtual" : "ivt", + "network_address" : "clusterc-2.fakesite.grid5000.fr", + "ib_rate" : 0, + "ib" : "NO", + "production" : "YES", + "next_state" : "UnChanged", + "memcpu" : 65536, + "opa_count" : 0 + }, + { + "expiry_date" : 0, + "last_available_upto" : 0, + "eth_count" : 1, + "finaud_decision" : "NO", + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "core" : 28, + "drain" : "NO", + "type" : "default", + "scheduler_priority" : 0, + "next_finaud_decision" : "NO", + "cpu" : 4, + "myri_rate" : 0, + "myri" : "NO", + "disktype" : "SATA", + "opa_rate" : 0, + "state_num" : 1, + "besteffort" : "YES", + "maintenance" : "NO", + "host" : "clusterc-2.fakesite.grid5000.fr", + "gpu_model" : null, + "cpucore" : 8, + "nodemodel" : "Dell PowerEdge T640", + "max_walltime" : 86400, + "gpu" : null, + "cpuarch" : "x86_64", + "eth_rate" : 10, + "cpuset" : 11, + "state" : "Alive", + "ib_count" : 0, + "api_timestamp" : 1569605253, + "myri_count" : 0, + "opa" : "NO", + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "ib" : "NO", + "production" : "YES", + "opa_count" : 0, + "next_state" : "UnChanged", + "memcpu" : 65536, + "mic" : "NO", + "gpudevice" : null, + "desktop_computing" : "NO", + "network_address" : "clusterc-2.fakesite.grid5000.fr", + "virtual" : "ivt", + "ib_rate" : 0, + "diskpath" : null, + "wattmeter" : "MULTIPLE", + "gpu_count" : 0, + "memcore" : 8192, + "switch" : null, + "disk" : null, + "cluster_priority" : 201906, + "memnode" : 131072, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-2.fakesite.grid5000.fr", + "title" : "node", + "rel" : "member" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/31" + }, + { + "href" : "//oarapi/resources/31/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "id" : 31, + "last_job_date" : 0, + "suspended_jobs" : "NO", + "available_upto" : 2147483647, + "deploy" : "NO", + "ip" : "172.16.64.2" + }, + { + "ib" : "NO", + "production" : "YES", + "memcpu" : 65536, + "next_state" : "UnChanged", + "opa_count" : 0, + "gpudevice" : null, + "desktop_computing" : "NO", + "mic" : "NO", + "ib_rate" : 0, + "network_address" : "clusterc-2.fakesite.grid5000.fr", + "virtual" : "ivt", + "memcore" : 8192, + "wattmeter" : "MULTIPLE", + "gpu_count" : 0, + "diskpath" : null, + "disk" : null, + "switch" : null, + "id" : 32, + "links" : [ + { + "title" : "node", + "rel" : "member", + "href" : "//oarapi/resources/nodes/clusterc-2.fakesite.grid5000.fr" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/32" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/32/jobs" + } + ], + "last_job_date" : 0, + "memnode" : 131072, + "cluster_priority" : 201906, + "ip" : "172.16.64.2", + "available_upto" : 2147483647, + "deploy" : "NO", + "suspended_jobs" : "NO", + "last_available_upto" : 0, + "expiry_date" : 0, + "disk_reservation_count" : 3, + "cpufreq" : "2.1", + "finaud_decision" : "NO", + "eth_count" : 1, + "cpu" : 4, + "next_finaud_decision" : "NO", + "scheduler_priority" : 0, + "type" : "default", + "drain" : "NO", + "core" : 29, + "disktype" : "SATA", + "myri" : "NO", + "myri_rate" : 0, + "host" : "clusterc-2.fakesite.grid5000.fr", + "maintenance" : "NO", + "gpu_model" : null, + "cpucore" : 8, + "besteffort" : "YES", + "state_num" : 1, + "opa_rate" : 0, + "max_walltime" : 86400, + "gpu" : null, + "nodemodel" : "Dell PowerEdge T640", + "state" : "Alive", + "ib_count" : 0, + "cpuset" : 12, + "cpuarch" : "x86_64", + "eth_rate" : 10, + "cputype" : "Intel Xeon Silver 4110", + "cluster" : "clusterc", + "opa" : "NO", + "myri_count" : 0, + "api_timestamp" : 1569605253 + }, + { + "ib_rate" : 0, + "network_address" : "clusterc-2.fakesite.grid5000.fr", + "virtual" : "ivt", + "gpudevice" : null, + "desktop_computing" : "NO", + "mic" : "NO", + "opa_count" : 0, + "memcpu" : 65536, + "next_state" : "UnChanged", + "production" : "YES", + "ib" : "NO", + "deploy" : "NO", + "available_upto" : 2147483647, + "suspended_jobs" : "NO", + "ip" : "172.16.64.2", + "cluster_priority" : 201906, + "memnode" : 131072, + "links" : [ + { + "title" : "node", + "rel" : "member", + "href" : "//oarapi/resources/nodes/clusterc-2.fakesite.grid5000.fr" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/33" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/33/jobs" + } + ], + "last_job_date" : 0, + "id" : 33, + "switch" : null, + "disk" : null, + "diskpath" : null, + "memcore" : 8192, + "wattmeter" : "MULTIPLE", + "gpu_count" : 0, + "myri_rate" : 0, + "myri" : "NO", + "disktype" : "SATA", + "scheduler_priority" : 0, + "type" : "default", + "drain" : "NO", + "core" : 30, + "next_finaud_decision" : "NO", + "cpu" : 4, + "finaud_decision" : "NO", + "eth_count" : 1, + "disk_reservation_count" : 3, + "cpufreq" : "2.1", + "expiry_date" : 0, + "last_available_upto" : 0, + "api_timestamp" : 1569605253, + "cputype" : "Intel Xeon Silver 4110", + "cluster" : "clusterc", + "opa" : "NO", + "myri_count" : 0, + "eth_rate" : 10, + "cpuarch" : "x86_64", + "ib_count" : 0, + "state" : "Alive", + "cpuset" : 13, + "gpu" : null, + "max_walltime" : 86400, + "nodemodel" : "Dell PowerEdge T640", + "state_num" : 1, + "opa_rate" : 0, + "maintenance" : "NO", + "gpu_model" : null, + "host" : "clusterc-2.fakesite.grid5000.fr", + "cpucore" : 8, + "besteffort" : "YES" + }, + { + "expiry_date" : 0, + "last_available_upto" : 0, + "eth_count" : 1, + "finaud_decision" : "NO", + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "core" : 31, + "drain" : "NO", + "type" : "default", + "scheduler_priority" : 0, + "cpu" : 4, + "next_finaud_decision" : "NO", + "myri_rate" : 0, + "disktype" : "SATA", + "myri" : "NO", + "opa_rate" : 0, + "state_num" : 1, + "besteffort" : "YES", + "maintenance" : "NO", + "cpucore" : 8, + "host" : "clusterc-2.fakesite.grid5000.fr", + "gpu_model" : null, + "nodemodel" : "Dell PowerEdge T640", + "gpu" : null, + "max_walltime" : 86400, + "eth_rate" : 10, + "cpuarch" : "x86_64", + "cpuset" : 14, + "state" : "Alive", + "ib_count" : 0, + "api_timestamp" : 1569605253, + "myri_count" : 0, + "opa" : "NO", + "cputype" : "Intel Xeon Silver 4110", + "cluster" : "clusterc", + "production" : "YES", + "ib" : "NO", + "opa_count" : 0, + "next_state" : "UnChanged", + "memcpu" : 65536, + "mic" : "NO", + "gpudevice" : null, + "desktop_computing" : "NO", + "virtual" : "ivt", + "network_address" : "clusterc-2.fakesite.grid5000.fr", + "ib_rate" : 0, + "diskpath" : null, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "memcore" : 8192, + "switch" : null, + "disk" : null, + "memnode" : 131072, + "cluster_priority" : 201906, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterc-2.fakesite.grid5000.fr", + "rel" : "member", + "title" : "node" + }, + { + "href" : "//oarapi/resources/34", + "rel" : "self" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/34/jobs" + } + ], + "id" : 34, + "last_job_date" : 0, + "suspended_jobs" : "NO", + "deploy" : "NO", + "available_upto" : 2147483647, + "ip" : "172.16.64.2" + }, + { + "opa" : "NO", + "myri_count" : 0, + "cluster" : "clusterc", + "cputype" : "Intel Xeon Silver 4110", + "api_timestamp" : 1569605253, + "cpuset" : 15, + "ib_count" : 0, + "state" : "Alive", + "cpuarch" : "x86_64", + "eth_rate" : 10, + "nodemodel" : "Dell PowerEdge T640", + "gpu" : null, + "max_walltime" : 86400, + "besteffort" : "YES", + "maintenance" : "NO", + "cpucore" : 8, + "gpu_model" : null, + "host" : "clusterc-2.fakesite.grid5000.fr", + "opa_rate" : 0, + "state_num" : 1, + "myri" : "NO", + "disktype" : "SATA", + "myri_rate" : 0, + "next_finaud_decision" : "NO", + "cpu" : 4, + "core" : 32, + "drain" : "NO", + "scheduler_priority" : 0, + "type" : "default", + "cpufreq" : "2.1", + "disk_reservation_count" : 3, + "eth_count" : 1, + "finaud_decision" : "NO", + "last_available_upto" : 0, + "expiry_date" : 0, + "ip" : "172.16.64.2", + "suspended_jobs" : "NO", + "available_upto" : 2147483647, + "deploy" : "NO", + "id" : 35, + "links" : [ + { + "title" : "node", + "rel" : "member", + "href" : "//oarapi/resources/nodes/clusterc-2.fakesite.grid5000.fr" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/35" + }, + { + "href" : "//oarapi/resources/35/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "last_job_date" : 0, + "memnode" : 131072, + "cluster_priority" : 201906, + "disk" : null, + "switch" : null, + "gpu_count" : 0, + "wattmeter" : "MULTIPLE", + "memcore" : 8192, + "diskpath" : null, + "virtual" : "ivt", + "network_address" : "clusterc-2.fakesite.grid5000.fr", + "ib_rate" : 0, + "mic" : "NO", + "gpudevice" : null, + "desktop_computing" : "NO", + "memcpu" : 65536, + "next_state" : "UnChanged", + "opa_count" : 0, + "ib" : "NO", + "production" : "YES" + }, + { + "opa_rate" : null, + "state_num" : 1, + "besteffort" : "YES", + "gpu_model" : null, + "maintenance" : "NO", + "cpucore" : null, + "host" : "clusterc-2.fakesite.grid5000.fr", + "nodemodel" : null, + "max_walltime" : null, + "gpu" : null, + "eth_rate" : null, + "cpuarch" : null, + "cpuset" : -1, + "ib_count" : null, + "state" : "Alive", + "api_timestamp" : 1569605253, + "myri_count" : null, + "opa" : null, + "cluster" : "clusterc", + "cputype" : null, + "expiry_date" : 0, + "last_available_upto" : 0, + "eth_count" : null, + "finaud_decision" : "NO", + "cpufreq" : null, + "disk_reservation_count" : null, + "drain" : "NO", + "core" : null, + "type" : "disk", + "scheduler_priority" : 0, + "cpu" : null, + "next_finaud_decision" : "NO", + "myri_rate" : null, + "myri" : null, + "disktype" : null, + "diskpath" : "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:1:0", + "gpu_count" : null, + "wattmeter" : null, + "memcore" : null, + "switch" : null, + "disk" : "sdb.clusterc-2", + "cluster_priority" : null, + "memnode" : null, + "links" : [ + { + "title" : "node", + "rel" : "member", + "href" : "//oarapi/resources/nodes/" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/36" + }, + { + "href" : "//oarapi/resources/36/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "id" : 36, + "last_job_date" : 0, + "suspended_jobs" : "NO", + "available_upto" : 0, + "deploy" : "YES", + "ip" : null, + "ib" : null, + "production" : "YES", + "opa_count" : null, + "next_state" : "UnChanged", + "memcpu" : null, + "mic" : null, + "gpudevice" : null, + "desktop_computing" : "NO", + "virtual" : null, + "network_address" : "", + "ib_rate" : null + }, + { + "gpu" : null, + "max_walltime" : null, + "nodemodel" : null, + "state_num" : 1, + "opa_rate" : null, + "gpu_model" : null, + "maintenance" : "NO", + "cpucore" : null, + "host" : "clusterc-2.fakesite.grid5000.fr", + "besteffort" : "YES", + "api_timestamp" : 1569605253, + "cluster" : "clusterc", + "cputype" : null, + "opa" : null, + "myri_count" : null, + "eth_rate" : null, + "cpuarch" : null, + "state" : "Alive", + "ib_count" : null, + "cpuset" : -1, + "finaud_decision" : "NO", + "eth_count" : null, + "disk_reservation_count" : null, + "cpufreq" : null, + "expiry_date" : 0, + "last_available_upto" : 0, + "myri_rate" : null, + "disktype" : null, + "myri" : null, + "scheduler_priority" : 0, + "type" : "disk", + "drain" : "NO", + "core" : null, + "next_finaud_decision" : "NO", + "cpu" : null, + "switch" : null, + "disk" : "sdc.clusterc-2", + "diskpath" : "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:2:0", + "memcore" : null, + "wattmeter" : null, + "gpu_count" : null, + "deploy" : "YES", + "available_upto" : 0, + "suspended_jobs" : "NO", + "ip" : null, + "memnode" : null, + "cluster_priority" : null, + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/" + }, + { + "href" : "//oarapi/resources/37", + "rel" : "self" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/37/jobs" + } + ], + "last_job_date" : 0, + "id" : 37, + "opa_count" : null, + "next_state" : "UnChanged", + "memcpu" : null, + "production" : "YES", + "ib" : null, + "ib_rate" : null, + "virtual" : null, + "network_address" : "", + "gpudevice" : null, + "desktop_computing" : "NO", + "mic" : null + }, + { + "cputype" : null, + "cluster" : "clusterc", + "myri_count" : null, + "opa" : null, + "api_timestamp" : 1569605253, + "ib_count" : null, + "state" : "Alive", + "cpuset" : -1, + "eth_rate" : null, + "cpuarch" : null, + "gpu" : null, + "max_walltime" : null, + "nodemodel" : null, + "host" : "clusterc-2.fakesite.grid5000.fr", + "maintenance" : "NO", + "gpu_model" : null, + "cpucore" : null, + "besteffort" : "YES", + "state_num" : 1, + "opa_rate" : null, + "myri" : null, + "disktype" : null, + "myri_rate" : null, + "next_finaud_decision" : "NO", + "cpu" : null, + "scheduler_priority" : 0, + "type" : "disk", + "core" : null, + "drain" : "NO", + "disk_reservation_count" : null, + "cpufreq" : null, + "finaud_decision" : "NO", + "eth_count" : null, + "last_available_upto" : 0, + "expiry_date" : 0, + "ip" : null, + "deploy" : "YES", + "available_upto" : 0, + "suspended_jobs" : "NO", + "id" : 38, + "links" : [ + { + "href" : "//oarapi/resources/nodes/", + "title" : "node", + "rel" : "member" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/38" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/38/jobs" + } + ], + "last_job_date" : 0, + "memnode" : null, + "cluster_priority" : null, + "disk" : "sdd.clusterc-2", + "switch" : null, + "memcore" : null, + "gpu_count" : null, + "wattmeter" : null, + "diskpath" : "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:3:0", + "ib_rate" : null, + "network_address" : "", + "virtual" : null, + "gpudevice" : null, + "desktop_computing" : "NO", + "mic" : null, + "memcpu" : null, + "next_state" : "UnChanged", + "opa_count" : null, + "production" : "YES", + "ib" : null + } + ], + "api_timestamp" : 1569605253 +} + -- GitLab From 0bd499cb3061797288b8e3d4437e481b543c6eda Mon Sep 17 00:00:00 2001 From: Lucas Nussbaum <lucas.nussbaum@loria.fr> Date: Sat, 5 Oct 2019 10:24:30 +0200 Subject: [PATCH 25/57] Rename cpuset_mapping to architecture/cpu_core_numbering --- lib/refrepo/gen/oar-properties.rb | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/lib/refrepo/gen/oar-properties.rb b/lib/refrepo/gen/oar-properties.rb index 72f9040d860..43988911279 100644 --- a/lib/refrepo/gen/oar-properties.rb +++ b/lib/refrepo/gen/oar-properties.rb @@ -9,9 +9,6 @@ class MissingProperty < StandardError; end MiB = 1024**2 -# CPU distribution can be: round-robin | continuous -DEFAULT_CPUSET_MAPPING = "continuous" - # GPU distribution can be: round-robin | continuous DEFAULT_GPUSET_MAPPING = "continuous" @@ -1072,7 +1069,7 @@ def extract_clusters_description(clusters, site_name, options, data_hierarchy, s gpu_count = first_node.key?("gpu_devices") ? first_node["gpu_devices"].length : 0 cpu_model = "#{first_node['processor']['model']} #{first_node['processor']['version']}" - cpuset_mapping = first_node.key?("cpuset_mapping") ? first_node["cpuset_mapping"] : DEFAULT_CPUSET_MAPPING + core_numbering = first_node['architecture']['cpu_core_numbering'] # Detect how 'GPUSETs' are distributed over CPUs/GPUs of servers of this cluster gpuset_mapping = DEFAULT_GPUSET_MAPPING @@ -1206,7 +1203,7 @@ def extract_clusters_description(clusters, site_name, options, data_hierarchy, s gpu_idx += 1 end - if cpuset_mapping == 'continuous' + if core_numbering == 'continuous' cpuset = 0 end @@ -1278,7 +1275,7 @@ def extract_clusters_description(clusters, site_name, options, data_hierarchy, s ############################################ # (2-d) Associate a cpuset to each core ############################################ - if cpuset_mapping == 'continuous' + if core_numbering == 'continuous' row[:cpuset] = cpuset else # CPUSETs starts at 0 @@ -1310,7 +1307,7 @@ def extract_clusters_description(clusters, site_name, options, data_hierarchy, s core_idx += 1 - if cpuset_mapping == 'continuous' + if core_numbering == 'continuous' cpuset += 1 end -- GitLab From 06af0995c9236b5da62912d4cccbb824e17d81f2 Mon Sep 17 00:00:00 2001 From: Lucas Nussbaum <lucas.nussbaum@loria.fr> Date: Sat, 5 Oct 2019 10:24:58 +0200 Subject: [PATCH 26/57] Adjust spec files --- .../load_data_hierarchy_stubbed_data.json | 10 ++++---- ...data_hierarchy_stubbed_data_with_disk.json | 16 ++++++------- ...ta_hierarchy_stubbed_data_without_gpu.json | 24 +++++++++---------- 3 files changed, 25 insertions(+), 25 deletions(-) diff --git a/spec/stub_oar_properties/load_data_hierarchy_stubbed_data.json b/spec/stub_oar_properties/load_data_hierarchy_stubbed_data.json index 4d2e2e5f805..8be0817345c 100644 --- a/spec/stub_oar_properties/load_data_hierarchy_stubbed_data.json +++ b/spec/stub_oar_properties/load_data_hierarchy_stubbed_data.json @@ -9,7 +9,8 @@ "nb_cores": 16, "nb_procs": 2, "nb_threads": 32, - "platform_type": "x86_64" + "platform_type": "x86_64", + "cpu_core_numbering": "continuous" }, "bios": { "release_date": "06/14/2019", @@ -21,7 +22,6 @@ "name": "PowerEdge T640", "serial": "FL1CBX2" }, - "cpuset_mapping": "continuous", "gpu": { "gpu": true, "gpu_cores": 17408, @@ -216,7 +216,8 @@ "nb_cores": 16, "nb_procs": 2, "nb_threads": 32, - "platform_type": "x86_64" + "platform_type": "x86_64", + "cpu_core_numbering": "continuous" }, "bios": { "release_date": "06/14/2019", @@ -228,7 +229,6 @@ "name": "PowerEdge T640", "serial": "9L1CBX2" }, - "cpuset_mapping": "continuous", "gpu": { "gpu": true, "gpu_cores": 17408, @@ -812,4 +812,4 @@ }, "type": "grid", "uid": "grid5000" -} \ No newline at end of file +} diff --git a/spec/stub_oar_properties/load_data_hierarchy_stubbed_data_with_disk.json b/spec/stub_oar_properties/load_data_hierarchy_stubbed_data_with_disk.json index 4d67c8d2138..b5e6f7e00b0 100644 --- a/spec/stub_oar_properties/load_data_hierarchy_stubbed_data_with_disk.json +++ b/spec/stub_oar_properties/load_data_hierarchy_stubbed_data_with_disk.json @@ -9,7 +9,8 @@ "nb_cores": 16, "nb_procs": 2, "nb_threads": 32, - "platform_type": "x86_64" + "platform_type": "x86_64", + "cpu_core_numbering": "continuous" }, "bios": { "release_date": "06/14/2019", @@ -21,7 +22,6 @@ "name": "PowerEdge T640", "serial": "FL1CBX2" }, - "cpuset_mapping": "continuous", "gpu": { "gpu": true, "gpu_cores": 17408, @@ -230,7 +230,8 @@ "nb_cores": 16, "nb_procs": 2, "nb_threads": 32, - "platform_type": "x86_64" + "platform_type": "x86_64", + "cpu_core_numbering": "continuous" }, "bios": { "release_date": "06/14/2019", @@ -242,7 +243,6 @@ "name": "PowerEdge T640", "serial": "9L1CBX2" }, - "cpuset_mapping": "continuous", "gpu": { "gpu": true, "gpu_cores": 17408, @@ -464,7 +464,8 @@ "nb_cores": 16, "nb_procs": 2, "nb_threads": 32, - "platform_type": "x86_64" + "platform_type": "x86_64", + "cpu_core_numbering": "continuous" }, "bios": { "release_date": "06/14/2019", @@ -476,7 +477,6 @@ "name": "PowerEdge T640", "serial": "9L1CBX2" }, - "cpuset_mapping": "continuous", "gpu": { "gpu": true, "gpu_cores": 17408, @@ -724,7 +724,8 @@ "nb_cores": 16, "nb_procs": 2, "nb_threads": 32, - "platform_type": "x86_64" + "platform_type": "x86_64", + "cpu_core_numbering": "continuous" }, "bios": { "release_date": "06/14/2019", @@ -736,7 +737,6 @@ "name": "PowerEdge T640", "serial": "FL1CBX2" }, - "cpuset_mapping": "continuous", "gpu": { "gpu": true, "gpu_cores": 17408, diff --git a/spec/stub_oar_properties/load_data_hierarchy_stubbed_data_without_gpu.json b/spec/stub_oar_properties/load_data_hierarchy_stubbed_data_without_gpu.json index 88f43f9bb15..c2f88457f0b 100644 --- a/spec/stub_oar_properties/load_data_hierarchy_stubbed_data_without_gpu.json +++ b/spec/stub_oar_properties/load_data_hierarchy_stubbed_data_without_gpu.json @@ -9,7 +9,8 @@ "nb_cores": 16, "nb_procs": 2, "nb_threads": 32, - "platform_type": "x86_64" + "platform_type": "x86_64", + "cpu_core_numbering": "continuous" }, "bios": { "release_date": "06/14/2019", @@ -21,7 +22,6 @@ "name": "PowerEdge T640", "serial": "FL1CBX2" }, - "cpuset_mapping": "continuous", "gpu": { "gpu": true, "gpu_cores": 17408, @@ -230,7 +230,8 @@ "nb_cores": 16, "nb_procs": 2, "nb_threads": 32, - "platform_type": "x86_64" + "platform_type": "x86_64", + "cpu_core_numbering": "continuous" }, "bios": { "release_date": "06/14/2019", @@ -242,7 +243,6 @@ "name": "PowerEdge T640", "serial": "9L1CBX2" }, - "cpuset_mapping": "continuous", "gpu": { "gpu": true, "gpu_cores": 17408, @@ -464,7 +464,8 @@ "nb_cores": 16, "nb_procs": 2, "nb_threads": 32, - "platform_type": "x86_64" + "platform_type": "x86_64", + "cpu_core_numbering": "continuous" }, "bios": { "release_date": "06/14/2019", @@ -476,7 +477,6 @@ "name": "PowerEdge T640", "serial": "FL1CBX2" }, - "cpuset_mapping": "continuous", "gpu": { "gpu": true, "gpu_cores": 17408, @@ -686,7 +686,8 @@ "nb_cores": 16, "nb_procs": 2, "nb_threads": 32, - "platform_type": "x86_64" + "platform_type": "x86_64", + "cpu_core_numbering": "continuous" }, "bios": { "release_date": "06/14/2019", @@ -698,7 +699,6 @@ "name": "PowerEdge T640", "serial": "9L1CBX2" }, - "cpuset_mapping": "continuous", "gpu": { "gpu": true, "gpu_cores": 17408, @@ -921,7 +921,8 @@ "nb_cores": 16, "nb_procs": 2, "nb_threads": 32, - "platform_type": "x86_64" + "platform_type": "x86_64", + "cpu_core_numbering": "continuous" }, "bios": { "release_date": "06/14/2019", @@ -933,7 +934,6 @@ "name": "PowerEdge T640", "serial": "9L1CBX2" }, - "cpuset_mapping": "continuous", "gpu": { "gpu": true, "gpu_cores": 17408, @@ -1181,7 +1181,8 @@ "nb_cores": 16, "nb_procs": 2, "nb_threads": 32, - "platform_type": "x86_64" + "platform_type": "x86_64", + "cpu_core_numbering": "continuous" }, "bios": { "release_date": "06/14/2019", @@ -1193,7 +1194,6 @@ "name": "PowerEdge T640", "serial": "FL1CBX2" }, - "cpuset_mapping": "continuous", "gpu": { "gpu": true, "gpu_cores": 17408, -- GitLab From 55f0982f17afbf77fe8e1e07164a37d95dfc0772 Mon Sep 17 00:00:00 2001 From: Jonathan Pastor <jonathancmoa@gmail.com> Date: Fri, 11 Oct 2019 16:35:29 +0200 Subject: [PATCH 27/57] remove 'gpuset_mapping' property --- lib/refrepo/gen/oar-properties.rb | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/lib/refrepo/gen/oar-properties.rb b/lib/refrepo/gen/oar-properties.rb index 43988911279..76bc1f50529 100644 --- a/lib/refrepo/gen/oar-properties.rb +++ b/lib/refrepo/gen/oar-properties.rb @@ -9,9 +9,6 @@ class MissingProperty < StandardError; end MiB = 1024**2 -# GPU distribution can be: round-robin | continuous -DEFAULT_GPUSET_MAPPING = "continuous" - ############################################ # Functions related to the "TABLE" operation ############################################ @@ -1070,8 +1067,6 @@ def extract_clusters_description(clusters, site_name, options, data_hierarchy, s cpu_model = "#{first_node['processor']['model']} #{first_node['processor']['version']}" core_numbering = first_node['architecture']['cpu_core_numbering'] - # Detect how 'GPUSETs' are distributed over CPUs/GPUs of servers of this cluster - gpuset_mapping = DEFAULT_GPUSET_MAPPING ############################################ # (2-b) Detect existing resource_ids and {CPU, CORE, CPUSET, GPU}'s IDs @@ -1288,11 +1283,7 @@ def extract_clusters_description(clusters, site_name, options, data_hierarchy, s # (2-e) [if cluster with GPU] Associate a gpuset to each core ############################################ if not numa_gpus.empty? - if gpuset_mapping == 'continuous' - gpu_idx = core_index0 / (phys_rsc_map["core"][:per_server_count] / numa_gpus.length) - else - gpu_idx = core_index0 % numa_gpus.length - end + gpu_idx = core_index0 / (phys_rsc_map["core"][:per_server_count] / numa_gpus.length) selected_gpu = numa_gpus[gpu_idx] if selected_gpu.nil? -- GitLab From 04f946026fc721bcc5ea38292687032c8a73c649 Mon Sep 17 00:00:00 2001 From: Jonathan Pastor <jonathancmoa@gmail.com> Date: Fri, 11 Oct 2019 16:36:20 +0200 Subject: [PATCH 28/57] add a spec test for cluster with 'round-robin' cpuset distributions --- lib/refrepo/gen/oar-properties.rb | 6 +- spec/oar_properties_spec.rb | 213 +++++ .../load_data_hierarchy_stubbed_data.json | 4 +- ...rchy_stubbed_data_round_robin_cpusets.json | 815 ++++++++++++++++++ ...data_hierarchy_stubbed_data_with_disk.json | 8 +- ...ta_hierarchy_stubbed_data_without_gpu.json | 12 +- 6 files changed, 1043 insertions(+), 15 deletions(-) create mode 100644 spec/stub_oar_properties/load_data_hierarchy_stubbed_data_round_robin_cpusets.json diff --git a/lib/refrepo/gen/oar-properties.rb b/lib/refrepo/gen/oar-properties.rb index 76bc1f50529..72f317a9824 100644 --- a/lib/refrepo/gen/oar-properties.rb +++ b/lib/refrepo/gen/oar-properties.rb @@ -1198,7 +1198,7 @@ def extract_clusters_description(clusters, site_name, options, data_hierarchy, s gpu_idx += 1 end - if core_numbering == 'continuous' + if core_numbering == 'contiguous' cpuset = 0 end @@ -1270,7 +1270,7 @@ def extract_clusters_description(clusters, site_name, options, data_hierarchy, s ############################################ # (2-d) Associate a cpuset to each core ############################################ - if core_numbering == 'continuous' + if core_numbering == 'contiguous' row[:cpuset] = cpuset else # CPUSETs starts at 0 @@ -1298,7 +1298,7 @@ def extract_clusters_description(clusters, site_name, options, data_hierarchy, s core_idx += 1 - if core_numbering == 'continuous' + if core_numbering == 'contiguous' cpuset += 1 end diff --git a/spec/oar_properties_spec.rb b/spec/oar_properties_spec.rb index cf1e8cf0fc3..6bacb9fbe8a 100644 --- a/spec/oar_properties_spec.rb +++ b/spec/oar_properties_spec.rb @@ -489,6 +489,219 @@ TXT end end + context 'interracting with an empty OAR server (round-robin cpusets)' do + before do + prepare_stubs("dump_oar_api_empty_server.json", "load_data_hierarchy_stubbed_data_round_robin_cpusets.json") + end + + it 'should generate correctly a table of nodes' do + + uri = URI(conf["uri"]) + + response = Net::HTTP.get(uri) + + expect(response).to be_an_instance_of(String) + + options = { + :table => true, + :print => false, + :update => false, + :diff => false, + :site => "fakesite", + :clusters => ["clustera"] + } + + expected_header = <<-TXT ++---------- + -------------------- + ----- + ----- + -------- + ---- + -------------------- + ------------------------------ + ------------------------------+ +| cluster | host | cpu | core | cpuset | gpu | gpudevice | cpumodel | gpumodel | ++---------- + -------------------- + ----- + ----- + -------- + ---- + -------------------- + ------------------------------ + ------------------------------+ + TXT + + expected_clustera1_desc = <<-TXT +| clustera | clustera-1 | 1 | 1 | 0 | 1 | 0 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clustera | clustera-1 | 1 | 2 | 2 | 1 | 0 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clustera | clustera-1 | 1 | 3 | 4 | 1 | 0 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clustera | clustera-1 | 1 | 4 | 6 | 1 | 0 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clustera | clustera-1 | 1 | 5 | 8 | 2 | 1 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clustera | clustera-1 | 1 | 6 | 10 | 2 | 1 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | + TXT + + expected_clustera2_desc = <<-TXT +| clustera | clustera-2 | 4 | 26 | 3 | 7 | 2 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clustera | clustera-2 | 4 | 27 | 5 | 7 | 2 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clustera | clustera-2 | 4 | 28 | 7 | 7 | 2 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clustera | clustera-2 | 4 | 29 | 9 | 8 | 3 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clustera | clustera-2 | 4 | 30 | 11 | 8 | 3 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clustera | clustera-2 | 4 | 31 | 13 | 8 | 3 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clustera | clustera-2 | 4 | 32 | 15 | 8 | 3 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | + TXT + + generator_output = capture do + generate_oar_properties(options) + end + + expect(generator_output[:stdout]).to include(expected_header) + expect(generator_output[:stdout]).to include(expected_clustera1_desc) + expect(generator_output[:stdout]).to include(expected_clustera2_desc) + end + + it 'should generate correctly all the commands to update OAR' do + + uri = URI(conf["uri"]) + + response = Net::HTTP.get(uri) + + expect(response).to be_an_instance_of(String) + + options = { + :table => false, + :print => true, + :update => false, + :diff => false, + :site => "fakesite", + :clusters => ["clustera"] + } + + expected_header = <<-TXT +############################################# +# Create OAR properties that were created by 'oar_resources_add' +############################################# +property_exist 'host' || oarproperty -a host --varchar +property_exist 'cpu' || oarproperty -a cpu +property_exist 'core' || oarproperty -a core +property_exist 'gpudevice' || oarproperty -a gpudevice +property_exist 'gpu' || oarproperty -a gpu +property_exist 'gpu_model' || oarproperty -a gpu_model --varchar + TXT + + expected_clustera1_cmds = <<-TXT +################################### +# clustera-1.fakesite.grid5000.fr +################################### +oarnodesetting -a -h 'clustera-1.fakesite.grid5000.fr' -p host='clustera-1.fakesite.grid5000.fr' -p cpu=1 -p core=1 -p cpuset=0 -p gpu=1 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0 +oarnodesetting -a -h 'clustera-1.fakesite.grid5000.fr' -p host='clustera-1.fakesite.grid5000.fr' -p cpu=1 -p core=2 -p cpuset=2 -p gpu=1 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0 +oarnodesetting -a -h 'clustera-1.fakesite.grid5000.fr' -p host='clustera-1.fakesite.grid5000.fr' -p cpu=1 -p core=3 -p cpuset=4 -p gpu=1 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=0 # This GPU is mapped on /dev/nvidia0 + TXT + + expected_clustera2_cmds = <<-TXT +oarnodesetting -a -h 'clustera-2.fakesite.grid5000.fr' -p host='clustera-2.fakesite.grid5000.fr' -p cpu=4 -p core=29 -p cpuset=9 -p gpu=8 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=3 # This GPU is mapped on /dev/nvidia3 +oarnodesetting -a -h 'clustera-2.fakesite.grid5000.fr' -p host='clustera-2.fakesite.grid5000.fr' -p cpu=4 -p core=30 -p cpuset=11 -p gpu=8 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=3 # This GPU is mapped on /dev/nvidia3 +oarnodesetting -a -h 'clustera-2.fakesite.grid5000.fr' -p host='clustera-2.fakesite.grid5000.fr' -p cpu=4 -p core=31 -p cpuset=13 -p gpu=8 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=3 # This GPU is mapped on /dev/nvidia3 +oarnodesetting -a -h 'clustera-2.fakesite.grid5000.fr' -p host='clustera-2.fakesite.grid5000.fr' -p cpu=4 -p core=32 -p cpuset=15 -p gpu=8 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=3 # This GPU is mapped on /dev/nvidia3 + TXT + expected_clustera3_cmds = <<-TXT +oarnodesetting --sql "host='clustera-2.fakesite.grid5000.fr' and type='default'" -p ip='172.16.64.2' -p cluster='clustera' -p nodemodel='Dell PowerEdge T640' -p switch='gw-fakesite' -p virtual='ivt' -p cpuarch='x86_64' -p cpucore=8 -p cputype='Intel Xeon Silver 4110' -p cpufreq='2.1' -p disktype='SATA' -p eth_count=1 -p eth_rate=10 -p ib_count=0 -p ib_rate=0 -p ib='NO' -p opa_count=0 -p opa_rate=0 -p opa='NO' -p myri_count=0 -p myri_rate=0 -p myri='NO' -p memcore=8192 -p memcpu=65536 -p memnode=131072 -p gpu_count=4 -p mic='NO' -p wattmeter='MULTIPLE' -p cluster_priority=201906 -p max_walltime=86400 -p production='YES' -p maintenance='NO' -p disk_reservation_count=0 + TXT + + generator_output = capture do + generate_oar_properties(options) + end + + expect(generator_output[:stdout]).to include(expected_header) + expect(generator_output[:stdout]).to include(expected_clustera1_cmds) + expect(generator_output[:stdout]).to include(expected_clustera2_cmds) + expect(generator_output[:stdout]).to include(expected_clustera3_cmds) + end + + it 'should generate correctly a diff with the OAR server' do + + uri = URI(conf["uri"]) + + response = Net::HTTP.get(uri) + + expect(response).to be_an_instance_of(String) + + options = { + :table => false, + :print => false, + :update => false, + :diff => true, + :site => "fakesite", + :clusters => ["clustera"], + :verbose => 2 + } + + expected_clustera1_diff = <<-TXT + clustera-1: new node ! + ["+", "cluster", "clustera"] + ["+", "cluster_priority", 201906] + ["+", "cpuarch", "x86_64"] + ["+", "cpucore", 8] + ["+", "cpufreq", "2.1"] + ["+", "cputype", "Intel Xeon Silver 4110"] + ["+", "disk_reservation_count", 0] + ["+", "disktype", "SATA"] + ["+", "eth_count", 1] + ["+", "eth_rate", 10] + ["+", "gpu_count", 4] + ["+", "ib", "NO"] + ["+", "ib_count", 0] + ["+", "ib_rate", 0] + ["+", "ip", "172.16.64.1"] + ["+", "maintenance", "NO"] + ["+", "max_walltime", 86400] + ["+", "memcore", 8192] + ["+", "memcpu", 65536] + ["+", "memnode", 131072] + ["+", "mic", "NO"] + ["+", "myri", "NO"] + ["+", "myri_count", 0] + ["+", "myri_rate", 0] + ["+", "nodemodel", "Dell PowerEdge T640"] + ["+", "opa", "NO"] + ["+", "opa_count", 0] + ["+", "opa_rate", 0] + ["+", "production", "YES"] + ["+", "switch", "gw-fakesite"] + ["+", "virtual", "ivt"] + ["+", "wattmeter", "MULTIPLE"] + TXT + + expected_clustera2_diff = <<-TXT + clustera-2: new node ! + ["+", "cluster", "clustera"] + ["+", "cluster_priority", 201906] + ["+", "cpuarch", "x86_64"] + ["+", "cpucore", 8] + ["+", "cpufreq", "2.1"] + ["+", "cputype", "Intel Xeon Silver 4110"] + ["+", "disk_reservation_count", 0] + ["+", "disktype", "SATA"] + ["+", "eth_count", 1] + ["+", "eth_rate", 10] + ["+", "gpu_count", 4] + ["+", "ib", "NO"] + ["+", "ib_count", 0] + ["+", "ib_rate", 0] + ["+", "ip", "172.16.64.2"] + ["+", "maintenance", "NO"] + ["+", "max_walltime", 86400] + ["+", "memcore", 8192] + ["+", "memcpu", 65536] + ["+", "memnode", 131072] + ["+", "mic", "NO"] + ["+", "myri", "NO"] + ["+", "myri_count", 0] + ["+", "myri_rate", 0] + ["+", "nodemodel", "Dell PowerEdge T640"] + ["+", "opa", "NO"] + ["+", "opa_count", 0] + ["+", "opa_rate", 0] + ["+", "production", "YES"] + ["+", "switch", "gw-fakesite"] + ["+", "virtual", "ivt"] + ["+", "wattmeter", "MULTIPLE"] + TXT + + generator_output = capture do + generate_oar_properties(options) + end + + expect(generator_output[:stdout]).to include(expected_clustera1_diff) + expect(generator_output[:stdout]).to include(expected_clustera2_diff) + end + end + context 'interracting with an empty OAR server (cluster with disk)' do before do prepare_stubs("dump_oar_api_empty_server.json", "load_data_hierarchy_stubbed_data_with_disk.json") diff --git a/spec/stub_oar_properties/load_data_hierarchy_stubbed_data.json b/spec/stub_oar_properties/load_data_hierarchy_stubbed_data.json index 8be0817345c..51dc5cd1ad7 100644 --- a/spec/stub_oar_properties/load_data_hierarchy_stubbed_data.json +++ b/spec/stub_oar_properties/load_data_hierarchy_stubbed_data.json @@ -10,7 +10,7 @@ "nb_procs": 2, "nb_threads": 32, "platform_type": "x86_64", - "cpu_core_numbering": "continuous" + "cpu_core_numbering": "contiguous" }, "bios": { "release_date": "06/14/2019", @@ -217,7 +217,7 @@ "nb_procs": 2, "nb_threads": 32, "platform_type": "x86_64", - "cpu_core_numbering": "continuous" + "cpu_core_numbering": "contiguous" }, "bios": { "release_date": "06/14/2019", diff --git a/spec/stub_oar_properties/load_data_hierarchy_stubbed_data_round_robin_cpusets.json b/spec/stub_oar_properties/load_data_hierarchy_stubbed_data_round_robin_cpusets.json new file mode 100644 index 00000000000..255db98d155 --- /dev/null +++ b/spec/stub_oar_properties/load_data_hierarchy_stubbed_data_round_robin_cpusets.json @@ -0,0 +1,815 @@ +{ + "sites": { + "fakesite": { + "clusters": { + "clustera": { + "nodes": { + "clustera-1": { + "architecture": { + "nb_cores": 16, + "nb_procs": 2, + "nb_threads": 32, + "platform_type": "x86_64", + "cpu_core_numbering": "round-robin" + }, + "bios": { + "release_date": "06/14/2019", + "vendor": "Dell Inc.", + "version": "2.2.11" + }, + "chassis": { + "manufacturer": "Dell Inc.", + "name": "PowerEdge T640", + "serial": "FL1CBX2" + }, + "gpu": { + "gpu": true, + "gpu_cores": 17408, + "gpu_count": 4, + "gpu_model": "RTX 2080 Ti", + "gpu_vendor": "Nvidia" + }, + "gpu_devices": { + "nvidia0": { + "cpu_affinity": 0, + "device": "/dev/nvidia0", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.B2", + "vendor": "Nvidia" + }, + "nvidia1": { + "cpu_affinity": 0, + "device": "/dev/nvidia1", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.B2", + "vendor": "Nvidia" + }, + "nvidia2": { + "cpu_affinity": 1, + "device": "/dev/nvidia2", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.0B.40.09", + "vendor": "Nvidia" + }, + "nvidia3": { + "cpu_affinity": 1, + "device": "/dev/nvidia3", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.B2", + "vendor": "Nvidia" + } + }, + "main_memory": { + "ram_size": 137438953472 + }, + "monitoring": { + "wattmeter": "multiple" + }, + "network_adapters": [{ + "bridged": false, + "device": "eth0", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:3f:64", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno1", + "vendor": "Broadcom" + }, { + "bridged": false, + "device": "eth1", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:3f:65", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno2d1", + "vendor": "Broadcom" + }, { + "bridged": true, + "device": "eth2", + "driver": "i40e", + "enabled": true, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "ip": "172.16.64.1", + "mac": "f8:f2:1e:60:41:20", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": true, + "mounted": true, + "name": "enp137s0f0", + "network_address": "clustera-1.fakesite.grid5000.fr", + "rate": 10000000000, + "switch": "gw-fakesite", + "switch_port": "Ethernet6/39", + "vendor": "Intel" + }, { + "bridged": false, + "device": "eth3", + "driver": "i40e", + "enabled": false, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "mac": "f8:f2:1e:60:41:21", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": false, + "mounted": false, + "name": "enp137s0f1", + "vendor": "Intel" + }, { + "device": "bmc", + "enabled": true, + "interface": "Ethernet", + "ip": "172.17.64.1", + "mac": "f4:02:70:9a:3f:74", + "management": true, + "mountable": false, + "mounted": false, + "network_address": "clustera-1-bmc.fakesite.grid5000.fr" + }], + "operating_system": { + "cstate_driver": "intel_idle", + "cstate_governor": "menu", + "ht_enabled": true, + "pstate_driver": "intel_pstate", + "pstate_governor": "performance", + "turboboost_enabled": true + }, + "performance": { + "core_flops": 17713000000, + "node_flops": 202670000000 + }, + "processor": { + "cache_l1": null, + "cache_l1d": 32768, + "cache_l1i": 32768, + "cache_l2": 1048576, + "cache_l3": 11534336, + "clock_speed": 2100000000, + "ht_capable": true, + "instruction_set": "x86-64", + "microarchitecture": "Skylake", + "model": "Intel Xeon", + "other_description": "Intel(R) Xeon(R) Silver 4110 CPU @ 2.10GHz", + "vendor": "Intel", + "version": "Silver 4110" + }, + "sensors": { + "power": { + "available": true, + "via": { + "api": { + "metric": "power" + }, + "pdu": [{ + "port": 1, + "uid": "clustera-pdu1" + }, { + "port": 1, + "uid": "clustera-pdu2" + }] + } + } + }, + "storage_devices": [{ + "by_id": "/dev/disk/by-id/wwn-0x6f402700aefea00024afe4c307e10af8", + "by_path": "/dev/disk/by-path/pci-0000:19:00.0-scsi-0:2:0:0", + "device": "sda", + "driver": "megaraid_sas", + "firmware_version": 4.29, + "interface": "SATA", + "model": "PERC H330 Adp", + "size": 479559942144, + "storage": "SSD", + "vendor": "Dell (Raid)" + }], + "supported_job_types": { + "besteffort": true, + "deploy": true, + "max_walltime": 86400, + "queues": ["admin", "production"], + "virtual": "ivt" + }, + "type": "node", + "uid": "clustera-1" + }, + "clustera-2": { + "architecture": { + "nb_cores": 16, + "nb_procs": 2, + "nb_threads": 32, + "platform_type": "x86_64", + "cpu_core_numbering": "round-robin" + }, + "bios": { + "release_date": "06/14/2019", + "vendor": "Dell Inc.", + "version": "2.2.11" + }, + "chassis": { + "manufacturer": "Dell Inc.", + "name": "PowerEdge T640", + "serial": "9L1CBX2" + }, + "gpu": { + "gpu": true, + "gpu_cores": 17408, + "gpu_count": 4, + "gpu_model": "RTX 2080 Ti", + "gpu_vendor": "Nvidia" + }, + "gpu_devices": { + "nvidia0": { + "cpu_affinity": 0, + "device": "/dev/nvidia0", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.B2", + "vendor": "Nvidia" + }, + "nvidia1": { + "cpu_affinity": 0, + "device": "/dev/nvidia1", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.0B.40.09", + "vendor": "Nvidia" + }, + "nvidia2": { + "cpu_affinity": 1, + "device": "/dev/nvidia2", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.0B.40.09", + "vendor": "Nvidia" + }, + "nvidia3": { + "cpu_affinity": 1, + "device": "/dev/nvidia3", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.AC", + "vendor": "Nvidia" + } + }, + "main_memory": { + "ram_size": 137438953472 + }, + "monitoring": { + "wattmeter": "multiple" + }, + "network_adapters": [{ + "bridged": false, + "device": "eth0", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:48:d8", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno1", + "vendor": "Broadcom" + }, { + "bridged": false, + "device": "eth1", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:48:d9", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno2d1", + "vendor": "Broadcom" + }, { + "bridged": true, + "device": "eth2", + "driver": "i40e", + "enabled": true, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "ip": "172.16.64.2", + "mac": "f8:f2:1e:60:3f:a0", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": true, + "mounted": true, + "name": "enp137s0f0", + "network_address": "clustera-2.fakesite.grid5000.fr", + "rate": 10000000000, + "switch": "gw-fakesite", + "switch_port": "Ethernet6/40", + "vendor": "Intel" + }, { + "bridged": false, + "device": "eth3", + "driver": "i40e", + "enabled": false, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "mac": "f8:f2:1e:60:3f:a1", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": false, + "mounted": false, + "name": "enp137s0f1", + "vendor": "Intel" + }, { + "device": "bmc", + "enabled": true, + "interface": "Ethernet", + "ip": "172.17.64.2", + "mac": "f4:02:70:9a:48:e8", + "management": true, + "mountable": false, + "mounted": false, + "network_address": "clustera-2-bmc.fakesite.grid5000.fr" + }], + "operating_system": { + "cstate_driver": "intel_idle", + "cstate_governor": "menu", + "ht_enabled": true, + "pstate_driver": "intel_pstate", + "pstate_governor": "performance", + "turboboost_enabled": true + }, + "performance": { + "core_flops": 17713000000, + "node_flops": 202670000000 + }, + "processor": { + "cache_l1": null, + "cache_l1d": 32768, + "cache_l1i": 32768, + "cache_l2": 1048576, + "cache_l3": 11534336, + "clock_speed": 2100000000, + "ht_capable": true, + "instruction_set": "x86-64", + "microarchitecture": "Skylake", + "model": "Intel Xeon", + "other_description": "Intel(R) Xeon(R) Silver 4110 CPU @ 2.10GHz", + "vendor": "Intel", + "version": "Silver 4110" + }, + "sensors": { + "power": { + "available": true, + "via": { + "api": { + "metric": "power" + }, + "pdu": [{ + "port": 6, + "uid": "clustera-pdu1" + }, { + "port": 6, + "uid": "clustera-pdu2" + }] + } + } + }, + "storage_devices": [{ + "by_id": "/dev/disk/by-id/wwn-0x6f402700aeff430024929b4003cd51d0", + "by_path": "/dev/disk/by-path/pci-0000:19:00.0-scsi-0:2:0:0", + "device": "sda", + "driver": "megaraid_sas", + "firmware_version": 4.29, + "interface": "SATA", + "model": "PERC H330 Adp", + "size": 479559942144, + "storage": "SSD", + "vendor": "Dell (Raid)" + }], + "supported_job_types": { + "besteffort": true, + "deploy": true, + "max_walltime": 86400, + "queues": ["admin", "production"], + "virtual": "ivt" + }, + "type": "node", + "uid": "clustera-2" + } + }, + "created_at": "Fri, 07 Jun 2019 00:00:00 GMT", + "kavlan": false, + "model": "Dell PowerEdge T640", + "queues": ["admin", "production"], + "type": "cluster", + "uid": "clustera" + } + }, + "network_equipments": { + "gw-fakesite": { + "backplane_bps": 1280000000000, + "kind": "router", + "linecards": [{}, {}, {}, {}, {}, {}, { + "backplane_bps": 1280000000000, + "kavlan_pattern": "Ethernet%LINECARD%/%PORT%", + "kind": "node", + "model": "N9K-X9464PX", + "ports": [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, { + "kind": "node", + "port": "eth2", + "uid": "clustera-1" + }, { + "kind": "node", + "port": "eth2", + "uid": "clustera-2" + }], + "rate": 10000000000, + "snmp_pattern": "Ethernet%LINECARD%/%PORT%" + }], + "model": "Cisco Nexus 9508", + "monitoring": { + "metric": "power", + "wattmeter": "multiple" + }, + "sensors": { + "network": { + "available": true, + "resolution": 10 + }, + "power": { + "available": true, + "resolution": 1, + "via": { + "pdu": [{ + "port": 8, + "uid": "graoully-pdu1" + }, { + "port": 8, + "uid": "graoully-pdu2" + }, { + "port": 8, + "uid": "grimoire-pdu1" + }, { + "port": 8, + "uid": "grimoire-pdu2" + }] + } + } + }, + "site": "fakesite", + "snmp_community": "public", + "type": "network_equipment", + "uid": "gw-fakesite", + "vlans": { + "vlan100": { + "addresses": ["172.16.79.254"], + "administrative": true + }, + "vlan101": { + "addresses": ["172.17.79.254"] + }, + "vlan500": { + "addresses": ["192.168.4.14"] + }, + "vlan701": { + "addresses": ["192.168.192.0/20"], + "name": "kavlan-1" + }, + "vlan702": { + "addresses": ["192.168.208.0/20"], + "name": "kavlan-2" + }, + "vlan703": { + "addresses": ["192.168.224.0/20"], + "name": "kavlan-3" + }, + "vlan704": { + "addresses": ["10.16.0.0/18"], + "name": "kavlan-4" + }, + "vlan705": { + "addresses": ["10.16.64.0/18"], + "name": "kavlan-5" + }, + "vlan706": { + "addresses": ["10.16.128.0/18"], + "name": "kavlan-6" + }, + "vlan707": { + "addresses": ["10.16.192.0/18"], + "name": "kavlan-7" + }, + "vlan708": { + "addresses": ["10.17.0.0/18"], + "name": "kavlan-8" + }, + "vlan709": { + "addresses": ["10.17.64.0/18"], + "name": "kavlan-9" + }, + "vlan714": { + "addresses": ["10.19.192.0/18"], + "name": "kavlan-14" + } + }, + "warranty": "2020-09-01", + "weathermap": {} + } + }, + "pdus": { + "clustera-pdu1": { + "ip": "172.17.79.226", + "mac": "28:29:86:0B:3B:06", + "model": "AP8653", + "ports": { + "1": "clustera-1", + "6": "clustera-2" + }, + "sensors": [{ + "power": { + "per_outlets": true, + "resolution": 1, + "snmp": { + "available": true, + "outlet_prefix_oid": "iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7", + "total_oids": ["iso.3.6.1.4.1.318.1.1.12.1.16.0"], + "unit": "W" + } + } + }], + "type": "pdu", + "uid": "clustera-pdu1", + "vendor": "APC" + }, + "clustera-pdu3": { + "ip": "172.17.79.231", + "mac": "28:29:86:12:27:FF", + "model": "AP8653", + "ports": {}, + "sensors": [{ + "power": { + "per_outlets": true, + "resolution": 1, + "snmp": { + "available": true, + "outlet_prefix_oid": "iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7", + "total_oids": ["iso.3.6.1.4.1.318.1.1.12.1.16.0"], + "unit": "W" + } + } + }], + "type": "pdu", + "uid": "clustera-pdu3", + "vendor": "APC" + }, + "clustera-pdu2": { + "ip": "172.17.79.227", + "mac": "28:29:86:10:0E:8C", + "model": "AP8653", + "ports": { + "1": "clustera-1", + "6": "clustera-2" + }, + "sensors": [{ + "power": { + "per_outlets": true, + "resolution": 1, + "snmp": { + "available": true, + "outlet_prefix_oid": "iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7", + "total_oids": ["iso.3.6.1.4.1.318.1.1.12.1.16.0"], + "unit": "W" + } + } + }], + "type": "pdu", + "uid": "clustera-pdu2", + "vendor": "APC" + }, + "clustera-pdu4": { + "ip": "172.17.79.232", + "mac": "28:29:86:10:0E:B4", + "model": "AP8653", + "ports": {}, + "sensors": [{ + "power": { + "per_outlets": true, + "resolution": 1, + "snmp": { + "available": true, + "outlet_prefix_oid": "iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7", + "total_oids": ["iso.3.6.1.4.1.318.1.1.12.1.16.0"], + "unit": "W" + } + } + }], + "type": "pdu", + "uid": "clustera-pdu4", + "vendor": "APC" + } + }, + "compilation_server": false, + "description": "Grid5000 Fakesite site", + "email_contact": "support-staff@lists.grid5000.fr", + "frontend_ip": "172.16.79.101", + "g5ksubnet": { + "gateway": "10.147.255.254", + "network": "10.144.0.0/14" + }, + "latitude": 48.7, + "location": "Fakesite, France", + "longitude": 6.2, + "name": "Fakesite", + "production": true, + "renater_ip": "192.168.4.14", + "security_contact": "support-staff@lists.grid5000.fr", + "storage5k": false, + "sys_admin_contact": "support-staff@lists.grid5000.fr", + "type": "site", + "uid": "fakesite", + "user_support_contact": "support-staff@lists.grid5000.fr", + "virt_ip_range": "10.144.0.0/14", + "web": "http://www.grid5000.fr/mediawiki/index.php/Fakesite:Home" + } + }, + "network_equipments": { + "renater-lyon": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-paris" + }, { + "uid": "renater-sophia" + }, { + "uid": "renater-grenoble" + }, { + "uid": "renater-nantes" + }, { + "kind": "router", + "site_uid": "lyon", + "uid": "gw-lyon" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-lyon", + "weathermap": {} + }, + "renater-grenoble": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-lyon" + }, { + "kind": "router", + "site_uid": "grenoble", + "uid": "gw-grenoble" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-grenoble", + "weathermap": {} + }, + "renater-nancy": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-luxembourg" + }, { + "uid": "renater-paris" + }, { + "kind": "router", + "site_uid": "nancy", + "uid": "gw-nancy" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-nancy", + "weathermap": {} + }, + "renater-luxembourg": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-nancy" + }, { + "kind": "router", + "site_uid": "luxembourg", + "uid": "gw-luxembourg" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-luxembourg", + "weathermap": {} + }, + "renater-sophia": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-lyon" + }, { + "kind": "router", + "site_uid": "sophia", + "uid": "gw-sophia" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-sophia", + "weathermap": {} + }, + "renater-paris": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-lille" + }, { + "uid": "renater-lyon" + }, { + "uid": "renater-nancy" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-paris", + "weathermap": {} + }, + "renater-rennes": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-nantes" + }, { + "kind": "router", + "site_uid": "rennes", + "uid": "gw-rennes" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-rennes", + "weathermap": {} + }, + "renater-nantes": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-lyon" + }, { + "uid": "renater-rennes" + }, { + "kind": "router", + "site_uid": "nantes", + "uid": "gw-nantes" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-nantes", + "weathermap": {} + }, + "renater-lille": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-paris" + }, { + "kind": "router", + "site_uid": "lille", + "uid": "gw-lille" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-lille", + "weathermap": {} + } + }, + "type": "grid", + "uid": "grid5000" +} diff --git a/spec/stub_oar_properties/load_data_hierarchy_stubbed_data_with_disk.json b/spec/stub_oar_properties/load_data_hierarchy_stubbed_data_with_disk.json index b5e6f7e00b0..5361202d115 100644 --- a/spec/stub_oar_properties/load_data_hierarchy_stubbed_data_with_disk.json +++ b/spec/stub_oar_properties/load_data_hierarchy_stubbed_data_with_disk.json @@ -10,7 +10,7 @@ "nb_procs": 2, "nb_threads": 32, "platform_type": "x86_64", - "cpu_core_numbering": "continuous" + "cpu_core_numbering": "contiguous" }, "bios": { "release_date": "06/14/2019", @@ -231,7 +231,7 @@ "nb_procs": 2, "nb_threads": 32, "platform_type": "x86_64", - "cpu_core_numbering": "continuous" + "cpu_core_numbering": "contiguous" }, "bios": { "release_date": "06/14/2019", @@ -465,7 +465,7 @@ "nb_procs": 2, "nb_threads": 32, "platform_type": "x86_64", - "cpu_core_numbering": "continuous" + "cpu_core_numbering": "contiguous" }, "bios": { "release_date": "06/14/2019", @@ -725,7 +725,7 @@ "nb_procs": 2, "nb_threads": 32, "platform_type": "x86_64", - "cpu_core_numbering": "continuous" + "cpu_core_numbering": "contiguous" }, "bios": { "release_date": "06/14/2019", diff --git a/spec/stub_oar_properties/load_data_hierarchy_stubbed_data_without_gpu.json b/spec/stub_oar_properties/load_data_hierarchy_stubbed_data_without_gpu.json index c2f88457f0b..0e861c7914d 100644 --- a/spec/stub_oar_properties/load_data_hierarchy_stubbed_data_without_gpu.json +++ b/spec/stub_oar_properties/load_data_hierarchy_stubbed_data_without_gpu.json @@ -10,7 +10,7 @@ "nb_procs": 2, "nb_threads": 32, "platform_type": "x86_64", - "cpu_core_numbering": "continuous" + "cpu_core_numbering": "contiguous" }, "bios": { "release_date": "06/14/2019", @@ -231,7 +231,7 @@ "nb_procs": 2, "nb_threads": 32, "platform_type": "x86_64", - "cpu_core_numbering": "continuous" + "cpu_core_numbering": "contiguous" }, "bios": { "release_date": "06/14/2019", @@ -465,7 +465,7 @@ "nb_procs": 2, "nb_threads": 32, "platform_type": "x86_64", - "cpu_core_numbering": "continuous" + "cpu_core_numbering": "contiguous" }, "bios": { "release_date": "06/14/2019", @@ -687,7 +687,7 @@ "nb_procs": 2, "nb_threads": 32, "platform_type": "x86_64", - "cpu_core_numbering": "continuous" + "cpu_core_numbering": "contiguous" }, "bios": { "release_date": "06/14/2019", @@ -922,7 +922,7 @@ "nb_procs": 2, "nb_threads": 32, "platform_type": "x86_64", - "cpu_core_numbering": "continuous" + "cpu_core_numbering": "contiguous" }, "bios": { "release_date": "06/14/2019", @@ -1182,7 +1182,7 @@ "nb_procs": 2, "nb_threads": 32, "platform_type": "x86_64", - "cpu_core_numbering": "continuous" + "cpu_core_numbering": "contiguous" }, "bios": { "release_date": "06/14/2019", -- GitLab From 02a871fb6e9686c9fca01115442ae4dcaf14de41 Mon Sep 17 00:00:00 2001 From: Jonathan Pastor <jonathancmoa@gmail.com> Date: Thu, 17 Oct 2019 17:59:10 +0200 Subject: [PATCH 29/57] fix for sagittaire-8 --- lib/refrepo/gen/oar-properties.rb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/refrepo/gen/oar-properties.rb b/lib/refrepo/gen/oar-properties.rb index 72f317a9824..e25bb50a4be 100644 --- a/lib/refrepo/gen/oar-properties.rb +++ b/lib/refrepo/gen/oar-properties.rb @@ -1183,6 +1183,10 @@ def extract_clusters_description(clusters, site_name, options, data_hierarchy, s node_description_default_properties = site_properties["default"][name] + if node_description.nil? + next + end + # Detect GPU configuration of nodes if node_description.key? "gpu_devices" gpus = node_description["gpu_devices"] -- GitLab From 778803fca54e239645765f3e31c99e1f15db8416 Mon Sep 17 00:00:00 2001 From: Jonathan Pastor <jonathancmoa@gmail.com> Date: Fri, 18 Oct 2019 14:21:56 +0200 Subject: [PATCH 30/57] change the format used when displaying differences (more detailed description of resource, and suggestion of a command that correct the difference) --- lib/refrepo/gen/oar-properties.rb | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/refrepo/gen/oar-properties.rb b/lib/refrepo/gen/oar-properties.rb index e25bb50a4be..bf8a8a76e39 100644 --- a/lib/refrepo/gen/oar-properties.rb +++ b/lib/refrepo/gen/oar-properties.rb @@ -953,12 +953,15 @@ def do_diff(options, generated_hierarchy, refrepo_properties) generated_rows_for_this_cluster.each do |row| corresponding_resource = default_cluster_resources.select{|r| r["id"] == row[:resource_id]} if corresponding_resource.length > 0 + resc = corresponding_resource[0] {:cpu => "cpu", :core => "core", :cpuset => "cpuset", :gpu => "gpu", :gpudevice => "gpudevice"}.each do |key, value| if row[key].to_s != corresponding_resource[0][value].to_s and not (key == :gpu and row[key].nil? and corresponding_resource[0][value] == 0) - puts "Error: resource #{corresponding_resource[0]["id"]} is associated to #{value.upcase} (#{corresponding_resource[0][value]}), while I computed that it should be associated to #{row[key]}" - fix_cmds += %Q{ -oarnodesetting --sql "resource_id='#{corresponding_resource[0]["id"]}' AND type='default'" -p #{value}=#{row[key]}} + fix_cmd = <<-TXT +# Error: Resource #{resc["id"]} (host=#{resc["network_address"]} cpu=#{resc["cpu"]} core=#{resc["core"]} cpuset=#{resc["cpuset"]} gpu=#{resc["gpu"]} gpudevice=#{resc["gpudevice"]}) has a mismatch for ressource #{value.upcase}: API gives #{resc[value]}, generator wants #{row[key]}. To fix this: +oarnodesetting --sql "resource_id='#{corresponding_resource[0]["id"]}' AND type='default'" -p #{value}=#{row[key]} +TXT + fix_cmds += "#{fix_cmd}" end end else @@ -978,6 +981,7 @@ oarnodesetting --sql "resource_id='#{corresponding_resource[0]["id"]}' AND type= puts "# You may execute the following commands to fix " puts "# some resources of the OAR database" puts "################################################" + puts "" puts fix_cmds end @@ -1040,7 +1044,7 @@ def extract_clusters_description(clusters, site_name, options, data_hierarchy, s cluster_desc_from_input_files = data_hierarchy['sites'][site_name]['clusters'][cluster_name] cluster_nodes = cluster_desc_from_input_files['nodes'] - + node_count = cluster_nodes.length cluster_resources = site_resources -- GitLab From 1638ab1fa79b7589506a413840ad7c574b6b6eef Mon Sep 17 00:00:00 2001 From: Jonathan Pastor <jonathancmoa@gmail.com> Date: Fri, 18 Oct 2019 14:22:17 +0200 Subject: [PATCH 31/57] use the new format for DIFF action --- spec/oar_properties_spec.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/spec/oar_properties_spec.rb b/spec/oar_properties_spec.rb index 6bacb9fbe8a..0b03729378a 100644 --- a/spec/oar_properties_spec.rb +++ b/spec/oar_properties_spec.rb @@ -1768,7 +1768,8 @@ TXT } expected_output = <<-TXT -Error: resource 9 is associated to GPU (2), while I computed that it should be associated to 3 +# Error: Resource 9 (host=clustera-1.fakesite.grid5000.fr cpu=2 core=9 cpuset=8 gpu=2 gpudevice=2) has a mismatch for ressource GPU: API gives 2, generator wants 3. To fix this: +oarnodesetting --sql "resource_id='9' AND type='default'" -p gpu=3 TXT expected_output2 = <<-TXT oarnodesetting --sql "resource_id='9' AND type='default'" -p gpu=3 -- GitLab From c8ebf7fb7691ba7d761a421de2f174862de8f3b0 Mon Sep 17 00:00:00 2001 From: Jonathan Pastor <jonathancmoa@gmail.com> Date: Fri, 18 Oct 2019 17:15:17 +0200 Subject: [PATCH 32/57] generator generate an error only when API ressources count does not match API --- lib/refrepo/gen/oar-properties.rb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/refrepo/gen/oar-properties.rb b/lib/refrepo/gen/oar-properties.rb index bf8a8a76e39..9ad68567416 100644 --- a/lib/refrepo/gen/oar-properties.rb +++ b/lib/refrepo/gen/oar-properties.rb @@ -1157,7 +1157,10 @@ def extract_clusters_description(clusters, site_name, options, data_hierarchy, s end end - raise "#{physical_resource} has an unexpected number of resources (current:#{phys_rsc_ids.length} vs expected:#{expected_phys_rsc_count})" + if ["cpu", "core"].include? physical_resource + puts("#{physical_resource} has an unexpected number of resources (current:#{phys_rsc_ids.length} vs expected:#{expected_phys_rsc_count})") + return 1 + end end variables[:current_ids] = phys_rsc_ids -- GitLab From c3b96a5f3178a510d0c221aed8a30e801452b1a3 Mon Sep 17 00:00:00 2001 From: Jonathan Pastor <jonathancmoa@gmail.com> Date: Wed, 23 Oct 2019 01:07:29 +0200 Subject: [PATCH 33/57] Diff action return an exit code --- lib/refrepo/gen/oar-properties.rb | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/refrepo/gen/oar-properties.rb b/lib/refrepo/gen/oar-properties.rb index 9ad68567416..f0f18e0a4b7 100644 --- a/lib/refrepo/gen/oar-properties.rb +++ b/lib/refrepo/gen/oar-properties.rb @@ -800,6 +800,7 @@ def get_oar_properties_from_oar(options) end def do_diff(options, generated_hierarchy, refrepo_properties) + ret = 0 properties = { 'ref' => refrepo_properties, @@ -987,6 +988,8 @@ TXT end # if options[:diff] end + + return ret end @@ -1388,6 +1391,8 @@ def generate_oar_properties(options) # Output generated information ############################################ + ret = 0 + # DO=table if options.key? :table and options[:table] export_rows_as_formated_line(generated_hierarchy) @@ -1401,7 +1406,7 @@ def generate_oar_properties(options) # Do=Diff if options.key? :diff and options[:diff] - do_diff(options, generated_hierarchy, refrepo_properties) + ret = do_diff(options, generated_hierarchy, refrepo_properties) end # Do=update @@ -1412,7 +1417,7 @@ def generate_oar_properties(options) run_commands_via_ssh(cmds, options) if prompt.downcase == 'y' end - return 0 + return ret end end -- GitLab From 50c001df695869fe1a95ebd1560c9611b1e9dee6 Mon Sep 17 00:00:00 2001 From: Jonathan Pastor <jonathancmoa@gmail.com> Date: Wed, 23 Oct 2019 01:08:26 +0200 Subject: [PATCH 34/57] add more spec tests for the generator to increase coverage --- spec/oar_properties_spec.rb | 290 ++ ...pi_configured_server_missing_property.json | 2434 ++++++++++++++++ ...r_api_configured_server_wrong_vartype.json | 2446 +++++++++++++++++ ...ed_data_missing_main_network_property.json | 744 +++++ ...hierarchy_stubbed_data_wattmeters_nil.json | 813 ++++++ ...hy_stubbed_data_wattmeters_variations.json | 815 ++++++ 6 files changed, 7542 insertions(+) create mode 100644 spec/stub_oar_properties/dump_oar_api_configured_server_missing_property.json create mode 100644 spec/stub_oar_properties/dump_oar_api_configured_server_wrong_vartype.json create mode 100644 spec/stub_oar_properties/load_data_hierarchy_stubbed_data_missing_main_network_property.json create mode 100644 spec/stub_oar_properties/load_data_hierarchy_stubbed_data_wattmeters_nil.json create mode 100644 spec/stub_oar_properties/load_data_hierarchy_stubbed_data_wattmeters_variations.json diff --git a/spec/oar_properties_spec.rb b/spec/oar_properties_spec.rb index 0b03729378a..b144017dabf 100644 --- a/spec/oar_properties_spec.rb +++ b/spec/oar_properties_spec.rb @@ -1783,4 +1783,294 @@ TXT expect(generator_output[:stdout]).to include(expected_output2) end end + + context 'interracting with a configured OAR server (msising network interfaces)' do + before do + prepare_stubs("dump_oar_api_configured_server.json", "load_data_hierarchy_stubbed_data_missing_main_network_property.json") + end + + it 'should propose a correction' do + + uri = URI(conf["uri"]) + + response = Net::HTTP.get(uri) + + expect(response).to be_an_instance_of(String) + + options = { + :table => false, + :print => false, + :update => false, + :diff => true, + :site => "fakesite", + :clusters => ["clustera"], + :verbose => 2 + } + + expected_output = <<-TXT +Error (missing property) while processing node clustera-1: Node clustera-1 does not have a main network_adapter (ie. an ethernet interface with enabled=true && mounted==true && management==false) + TXT + expected_output2 = <<-TXT +*** Error: The following nodes exist in the OAR server but are missing in the reference-repo: clustera-1. + TXT + + generator_output = capture do + generate_oar_properties(options) + end + + expect(generator_output[:stdout]).to include(expected_output) + expect(generator_output[:stdout]).to include(expected_output2) + end + end + + context 'interracting with a configured OAR server (wrong variable type for gpu)' do + before do + prepare_stubs("dump_oar_api_configured_server_wrong_vartype.json", "load_data_hierarchy_stubbed_data.json") + end + + it 'should propose a correction' do + + uri = URI(conf["uri"]) + + response = Net::HTTP.get(uri) + + expect(response).to be_an_instance_of(String) + + options = { + :table => false, + :print => false, + :update => false, + :diff => true, + :site => "fakesite", + :clusters => ["clustera"], + :verbose => 2 + } + + expected_output = <<-TXT +Output format: [ '-', 'key', 'value'] for missing, [ '+', 'key', 'value'] for added, ['~', 'key', 'old value', 'new value'] for changed + clustera-1: + ["~", "eth_rate", "10", 10] + TXT + + expected_output2 = <<-TXT +Error: the OAR property 'eth_rate' is a 'String' on the fakesite server and this script uses 'Fixnum' for this property. + TXT + + generator_output = capture do + generate_oar_properties(options) + end + + expect(generator_output[:stdout]).to include(expected_output) + expect(generator_output[:stdout]).to include(expected_output2) + end + end + + context 'interracting with a configured OAR server (different_values for wattmeters)' do + before do + prepare_stubs("dump_oar_api_configured_server.json", "load_data_hierarchy_stubbed_data_wattmeters_variations.json") + end + + it 'should propose a correction' do + + uri = URI(conf["uri"]) + + response = Net::HTTP.get(uri) + + expect(response).to be_an_instance_of(String) + + options = { + :table => false, + :print => false, + :update => false, + :diff => true, + :site => "fakesite", + :clusters => ["clustera"], + :verbose => 2 + } + + expected_output = <<-TXT +Output format: [ '-', 'key', 'value'] for missing, [ '+', 'key', 'value'] for added, ['~', 'key', 'old value', 'new value'] for changed + clustera-1: + ["~", "wattmeter", "MULTIPLE", "YES"] + clustera-2: + ["~", "wattmeter", "MULTIPLE", "NO"] + TXT + + generator_output = capture do + generate_oar_properties(options) + end + + expect(generator_output[:stdout]).to include(expected_output) + end + end + + context 'interracting with a configured OAR server (no wattmeters)' do + before do + prepare_stubs("dump_oar_api_configured_server.json", "load_data_hierarchy_stubbed_data_wattmeters_nil.json") + end + + it 'should propose a correction' do + + uri = URI(conf["uri"]) + + response = Net::HTTP.get(uri) + + expect(response).to be_an_instance_of(String) + + options = { + :table => false, + :print => false, + :update => false, + :diff => true, + :site => "fakesite", + :clusters => ["clustera"], + :verbose => 2 + } + + expected_output = <<-TXT +Output format: [ '-', 'key', 'value'] for missing, [ '+', 'key', 'value'] for added, ['~', 'key', 'old value', 'new value'] for changed + clustera-1: + ["~", "wattmeter", "MULTIPLE", "NO"] + clustera-2: same modifications as above + TXT + + generator_output = capture do + generate_oar_properties(options) + end + + expect(generator_output[:stdout]).to include(expected_output) + end + end + + context 'interracting with a configured OAR server (with missing property)' do + before do + prepare_stubs("dump_oar_api_configured_server_missing_property.json", "load_data_hierarchy_stubbed_data.json") + end + + it 'should propose a correction (verbose=1)' do + + uri = URI(conf["uri"]) + + response = Net::HTTP.get(uri) + + expect(response).to be_an_instance_of(String) + + options = { + :table => false, + :print => false, + :update => false, + :diff => true, + :site => "fakesite", + :clusters => ["clustera"], + :verbose => 1 + } + + expected_output = <<-TXT +clustera-1:["ib_rate"] +clustera-2:["ib_rate"] +Properties that need to be created on the fakesite server: ib_rate + TXT + + generator_output = capture do + generate_oar_properties(options) + end + + expect(generator_output[:stdout]).to include(expected_output) + end + + it 'should propose a correction (verbose=2)' do + + uri = URI(conf["uri"]) + + response = Net::HTTP.get(uri) + + expect(response).to be_an_instance_of(String) + + options = { + :table => false, + :print => false, + :update => false, + :diff => true, + :site => "fakesite", + :clusters => ["clustera"], + :verbose => 2 + } + + expected_output = <<-TXT + ["+", "ib_rate", 0] + clustera-2: same modifications as above + TXT + + generator_output = capture do + generate_oar_properties(options) + end + + expect(generator_output[:stdout]).to include(expected_output) + end + + it 'should propose a correction (verbose=3)' do + + uri = URI(conf["uri"]) + + response = Net::HTTP.get(uri) + + expect(response).to be_an_instance_of(String) + + options = { + :table => false, + :print => false, + :update => false, + :diff => true, + :site => "fakesite", + :clusters => ["clustera"], + :verbose => 3 + } + + expected_output = <<-TXT + "new values": { + "ip": "172.16.64.2", + "cluster": "clustera", + "nodemodel": "Dell PowerEdge T640", + "switch": "gw-fakesite", + "virtual": "ivt", + "cpuarch": "x86_64", + "cpucore": 8, + "cputype": "Intel Xeon Silver 4110", + "cpufreq": "2.1", + "disktype": "SATA", + "eth_count": 1, + "eth_rate": 10, + "ib_count": 0, + "ib_rate": 0, + "ib": "NO", + "opa_count": 0, + "opa_rate": 0, + "opa": "NO", + "myri_count": 0, + "myri_rate": 0, + "myri": "NO", + "memcore": 8192, + "memcpu": 65536, + "memnode": 131072, + "gpu_count": 4, + "mic": "NO", + "wattmeter": "MULTIPLE", + "cluster_priority": 201906, + "max_walltime": 86400, + "production": "YES", + "maintenance": "NO", + "disk_reservation_count": 0 + } + } +} +Properties that need to be created on the fakesite server: ib_rate + TXT + + generator_output = capture do + generate_oar_properties(options) + end + + expect(generator_output[:stdout]).to include(expected_output) + end + end end diff --git a/spec/stub_oar_properties/dump_oar_api_configured_server_missing_property.json b/spec/stub_oar_properties/dump_oar_api_configured_server_missing_property.json new file mode 100644 index 00000000000..4d392db5e2a --- /dev/null +++ b/spec/stub_oar_properties/dump_oar_api_configured_server_missing_property.json @@ -0,0 +1,2434 @@ +{ + "offset": 0, + "api_timestamp": 1568902577, + "items": [ + { + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "gpu": 1, + "besteffort": "YES", + "available_upto": 2147483647, + "cpuset": 0, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/1" + }, + { + "href": "//oarapi/resources/1/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "production": "YES", + "type": "default", + "opa_count": 0, + "id": 1, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 0, + "next_state": "UnChanged", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "drain": "NO", + "cpu": 1, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "memcpu": 65536, + "myri_count": 0, + "ip": "172.16.64.1", + "core": 1, + "myri": "NO", + "max_walltime": 86400, + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO" + }, + { + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "id": 2, + "opa_count": 0, + "type": "default", + "production": "YES", + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/2", + "rel": "self" + }, + { + "title": "jobs", + "href": "//oarapi/resources/2/jobs", + "rel": "collection" + } + ], + "cpuset": 1, + "available_upto": 2147483647, + "besteffort": "YES", + "gpu": 1, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "myri_rate": 0, + "api_timestamp": 1568902577, + "cpucore": 8, + "scheduler_priority": 0, + "last_available_upto": 0, + "finaud_decision": "NO", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "max_walltime": 86400, + "myri": "NO", + "core": 2, + "myri_count": 0, + "ip": "172.16.64.1", + "memcpu": 65536, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpu": 1, + "drain": "NO", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 0, + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE" + }, + { + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "core": 3, + "ip": "172.16.64.1", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 1, + "drain": "NO", + "memcpu": 65536, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "eth_count": 1, + "switch": "gw-fakesite", + "gpudevice": 0, + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_state": "UnChanged", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "cpuset": 2, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/3" + }, + { + "title": "jobs", + "href": "//oarapi/resources/3/jobs", + "rel": "collection" + } + ], + "available_upto": 2147483647, + "besteffort": "YES", + "opa_count": 0, + "id": 3, + "type": "default", + "production": "YES", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 1, + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "last_available_upto": 0, + "finaud_decision": "NO", + "myri_rate": 0, + "api_timestamp": 1568902577, + "cpucore": 8, + "scheduler_priority": 0 + }, + { + "cpu": 1, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "drain": "NO", + "memcpu": 65536, + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO", + "max_walltime": 86400, + "myri": "NO", + "ip": "172.16.64.1", + "myri_count": 0, + "core": 4, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 0, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "next_state": "UnChanged", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "available_upto": 2147483647, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "rel": "member" + }, + { + "href": "//oarapi/resources/4", + "rel": "self" + }, + { + "href": "//oarapi/resources/4/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "cpuset": 3, + "besteffort": "YES", + "id": 4, + "opa_count": 0, + "production": "YES", + "type": "default", + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "scheduler_priority": 0, + "cpucore": 8, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 1, + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive" + }, + { + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "type": "default", + "production": "YES", + "opa_count": 0, + "id": 5, + "besteffort": "YES", + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node" + }, + { + "rel": "self", + "href": "//oarapi/resources/5" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/5/jobs" + } + ], + "cpuset": 4, + "available_upto": 2147483647, + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "gpu": 2, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "cpucore": 8, + "scheduler_priority": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "finaud_decision": "NO", + "last_available_upto": 0, + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "suspended_jobs": "NO", + "ib": "NO", + "disk_reservation_count": 0, + "myri_count": 0, + "ip": "172.16.64.1", + "core": 5, + "myri": "NO", + "max_walltime": 86400, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "memcpu": 65536, + "drain": "NO", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 1, + "switch": "gw-fakesite", + "eth_count": 1, + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "next_state": "UnChanged", + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 1, + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr" + }, + { + "opa_count": 0, + "id": 6, + "type": "default", + "production": "YES", + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node" + }, + { + "href": "//oarapi/resources/6", + "rel": "self" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/6/jobs" + } + ], + "cpuset": 5, + "available_upto": 2147483647, + "besteffort": "YES", + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "scheduler_priority": 0, + "cpucore": 8, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 2, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "memcpu": 65536, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpu": 1, + "drain": "NO", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "ip": "172.16.64.1", + "core": 6, + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 1, + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0 + }, + { + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "gpu": 2, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "scheduler_priority": 0, + "cpucore": 8, + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "opa": "NO", + "eth_rate": 10, + "available_upto": 2147483647, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/7", + "rel": "self" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/7/jobs" + } + ], + "cpuset": 6, + "besteffort": "YES", + "opa_count": 0, + "id": 7, + "production": "YES", + "type": "default", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "gpudevice": 1, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "next_state": "UnChanged", + "max_walltime": 86400, + "myri": "NO", + "myri_count": 0, + "core": 7, + "ip": "172.16.64.1", + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "cpu": 1, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "drain": "NO", + "memcpu": 65536, + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO" + }, + { + "api_timestamp": 1568902577, + "myri_rate": 0, + "scheduler_priority": 0, + "cpucore": 8, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 2, + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "id": 8, + "opa_count": 0, + "production": "YES", + "type": "default", + "available_upto": 2147483647, + "cpuset": 7, + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node" + }, + { + "href": "//oarapi/resources/8", + "rel": "self" + }, + { + "rel": "collection", + "href": "//oarapi/resources/8/jobs", + "title": "jobs" + } + ], + "besteffort": "YES", + "last_job_date": 0, + "opa": "NO", + "eth_rate": 10, + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "next_state": "UnChanged", + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 1, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "memcpu": 65536, + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "cpu": 1, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "drain": "NO", + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "myri": "NO", + "max_walltime": 86400, + "core": 8, + "myri_count": 0, + "ip": "172.16.64.1" + }, + { + "finaud_decision": "NO", + "last_available_upto": 0, + "scheduler_priority": 0, + "cpucore": 8, + "api_timestamp": 1568902577, + "myri_rate": 0, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "gpu": 3, + "besteffort": "YES", + "available_upto": 2147483647, + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node" + }, + { + "rel": "self", + "href": "//oarapi/resources/9" + }, + { + "rel": "collection", + "href": "//oarapi/resources/9/jobs", + "title": "jobs" + } + ], + "cpuset": 8, + "production": "YES", + "type": "default", + "id": 9, + "opa_count": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "gpudevice": 2, + "next_state": "UnChanged", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "drain": "NO", + "cpu": 2, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO", + "memcpu": 65536, + "myri_count": 0, + "core": 9, + "ip": "172.16.64.1", + "myri": "NO", + "max_walltime": 86400, + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO" + }, + { + "drain": "NO", + "cpu": 2, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "memcpu": 65536, + "myri_count": 0, + "core": 10, + "ip": "172.16.64.1", + "max_walltime": 86400, + "myri": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "gpudevice": 2, + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "besteffort": "YES", + "available_upto": 2147483647, + "links": [ + { + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node", + "rel": "member" + }, + { + "href": "//oarapi/resources/10", + "rel": "self" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/10/jobs" + } + ], + "cpuset": 9, + "production": "YES", + "type": "default", + "id": 10, + "opa_count": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "gpu": 3 + }, + { + "cpu": 2, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "drain": "NO", + "memcpu": 65536, + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "myri": "NO", + "max_walltime": 86400, + "core": 11, + "myri_count": 0, + "ip": "172.16.64.1", + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "gpudevice": 2, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "next_state": "UnChanged", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "available_upto": 2147483647, + "cpuset": 10, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/11", + "rel": "self" + }, + { + "title": "jobs", + "href": "//oarapi/resources/11/jobs", + "rel": "collection" + } + ], + "besteffort": "YES", + "id": 11, + "opa_count": 0, + "production": "YES", + "type": "default", + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "scheduler_priority": 0, + "cpucore": 8, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 3, + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive" + }, + { + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 2, + "switch": "gw-fakesite", + "eth_count": 1, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "memcpu": 65536, + "drain": "NO", + "cpu": 2, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "myri_count": 0, + "ip": "172.16.64.1", + "core": 12, + "myri": "NO", + "max_walltime": 86400, + "scheduler_priority": 0, + "cpucore": 8, + "api_timestamp": 1568902577, + "myri_rate": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "gpu": 3, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "production": "YES", + "type": "default", + "opa_count": 0, + "id": 12, + "besteffort": "YES", + "available_upto": 2147483647, + "links": [ + { + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node", + "rel": "member" + }, + { + "href": "//oarapi/resources/12", + "rel": "self" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/12/jobs" + } + ], + "cpuset": 11, + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072 + }, + { + "core": 13, + "myri_count": 0, + "ip": "172.16.64.1", + "myri": "NO", + "max_walltime": 86400, + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "suspended_jobs": "NO", + "ib": "NO", + "disk_reservation_count": 0, + "drain": "NO", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 2, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "memcpu": 65536, + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 3, + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "next_state": "UnChanged", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + + "besteffort": "YES", + "cpuset": 12, + "links": [ + { + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/13" + }, + { + "href": "//oarapi/resources/13/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "available_upto": 2147483647, + "type": "default", + "production": "YES", + "id": 13, + "opa_count": 0, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "gpu": 4, + "finaud_decision": "NO", + "last_available_upto": 0, + "scheduler_priority": 0, + "cpucore": 8, + "myri_rate": 0, + "api_timestamp": 1568902577 + }, + { + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "gpu": 4, + "besteffort": "YES", + + "available_upto": 2147483647, + "cpuset": 13, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "rel": "self", + "href": "//oarapi/resources/14" + }, + { + "rel": "collection", + "href": "//oarapi/resources/14/jobs", + "title": "jobs" + } + ], + "production": "YES", + "type": "default", + "id": 14, + "opa_count": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 3, + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "drain": "NO", + "cpu": 2, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO", + "memcpu": 65536, + "myri_count": 0, + "ip": "172.16.64.1", + "core": 14, + "max_walltime": 86400, + "myri": "NO", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO" + }, + { + "memcpu": 65536, + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "cpu": 2, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "drain": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "max_walltime": 86400, + "myri": "NO", + "myri_count": 0, + "core": 15, + "ip": "172.16.64.1", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "next_state": "UnChanged", + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "gpudevice": 3, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "opa_count": 0, + "id": 15, + "production": "YES", + "type": "default", + "available_upto": 2147483647, + "cpuset": 14, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "rel": "self", + "href": "//oarapi/resources/15" + }, + { + "href": "//oarapi/resources/15/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "besteffort": "YES", + + "last_job_date": 0, + "opa": "NO", + "eth_rate": 10, + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "cpucore": 8, + "scheduler_priority": 0, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 4, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0 + }, + { + "last_available_upto": 0, + "finaud_decision": "NO", + "myri_rate": 0, + "api_timestamp": 1568902577, + "scheduler_priority": 0, + "cpucore": 8, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 4, + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "cpuset": 15, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/16", + "rel": "self" + }, + { + "href": "//oarapi/resources/16/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "available_upto": 2147483647, + + "besteffort": "YES", + "opa_count": 0, + "id": 16, + "type": "default", + "production": "YES", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "gpudevice": 3, + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_state": "UnChanged", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "eth_count": 1, + "switch": "gw-fakesite", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 2, + "drain": "NO", + "memcpu": 65536, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "ip": "172.16.64.1", + "core": 16, + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1 + }, + { + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 0, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "next_state": "UnChanged", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "cpu": 3, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "drain": "NO", + "memcpu": 65536, + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "core": 17, + "ip": "172.16.64.2", + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "scheduler_priority": 0, + "cpucore": 8, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "gpu": 5, + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "available_upto": 2147483647, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "href": "//oarapi/resources/17", + "rel": "self" + }, + { + "title": "jobs", + "href": "//oarapi/resources/17/jobs", + "rel": "collection" + } + ], + "cpuset": 0, + "besteffort": "YES", + + "opa_count": 0, + "id": 17, + "production": "YES", + "type": "default", + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO" + }, + { + "max_walltime": 86400, + "myri": "NO", + "myri_count": 0, + "ip": "172.16.64.2", + "core": 18, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "cpu": 3, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "drain": "NO", + "memcpu": 65536, + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "gpudevice": 0, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "next_state": "UnChanged", + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "available_upto": 2147483647, + "cpuset": 1, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/18", + "rel": "self" + }, + { + "href": "//oarapi/resources/18/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "besteffort": "YES", + + "opa_count": 0, + "id": 18, + "production": "YES", + "type": "default", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 5, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "cpucore": 8, + "scheduler_priority": 0 + }, + { + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "type": "default", + "production": "YES", + "opa_count": 0, + "id": 19, + + "besteffort": "YES", + "cpuset": 2, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "rel": "self", + "href": "//oarapi/resources/19" + }, + { + "href": "//oarapi/resources/19/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "available_upto": 2147483647, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "gpu": 5, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "cpucore": 8, + "scheduler_priority": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "finaud_decision": "NO", + "last_available_upto": 0, + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "myri_count": 0, + "ip": "172.16.64.2", + "core": 19, + "max_walltime": 86400, + "myri": "NO", + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "memcpu": 65536, + "drain": "NO", + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpu": 3, + "switch": "gw-fakesite", + "eth_count": 1, + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "next_state": "UnChanged", + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 0, + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64" + }, + { + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "gpu": 5, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "scheduler_priority": 0, + "cpucore": 8, + "myri_rate": 0, + "api_timestamp": 1568902577, + "finaud_decision": "NO", + "last_available_upto": 0, + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "type": "default", + "production": "YES", + "id": 20, + "opa_count": 0, + + "besteffort": "YES", + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/20" + }, + { + "href": "//oarapi/resources/20/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "cpuset": 3, + "available_upto": 2147483647, + "switch": "gw-fakesite", + "eth_count": 1, + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "next_state": "UnChanged", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 0, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "myri_count": 0, + "core": 20, + "ip": "172.16.64.2", + "max_walltime": 86400, + "myri": "NO", + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "memcpu": 65536, + "drain": "NO", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 3 + }, + { + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 1, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "memcpu": 65536, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 3, + "drain": "NO", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "core": 21, + "ip": "172.16.64.2", + "myri_rate": 0, + "api_timestamp": 1568902577, + "scheduler_priority": 0, + "cpucore": 8, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 6, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "opa_count": 0, + "id": 21, + "type": "default", + "production": "YES", + "cpuset": 4, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/21" + }, + { + "rel": "collection", + "href": "//oarapi/resources/21/jobs", + "title": "jobs" + } + ], + "available_upto": 2147483647, + + "besteffort": "YES", + "last_job_date": 0, + "opa": "NO", + "eth_rate": 10, + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0 + }, + { + "opa_count": 0, + "id": 22, + "type": "default", + "production": "YES", + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "rel": "self", + "href": "//oarapi/resources/22" + }, + { + "title": "jobs", + "href": "//oarapi/resources/22/jobs", + "rel": "collection" + } + ], + "cpuset": 5, + "available_upto": 2147483647, + + "besteffort": "YES", + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "scheduler_priority": 0, + "cpucore": 8, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 6, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "memcpu": 65536, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpu": 3, + "drain": "NO", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "max_walltime": 86400, + "myri": "NO", + "core": 22, + "myri_count": 0, + "ip": "172.16.64.2", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 1, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0 + }, + { + "gpudevice": 1, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_state": "UnChanged", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "eth_count": 1, + "switch": "gw-fakesite", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 3, + "drain": "NO", + "memcpu": 65536, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "max_walltime": 86400, + "myri": "NO", + "ip": "172.16.64.2", + "myri_count": 0, + "core": 23, + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "last_available_upto": 0, + "finaud_decision": "NO", + "myri_rate": 0, + "api_timestamp": 1568902577, + "scheduler_priority": 0, + "cpucore": 8, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 6, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/23" + }, + { + "rel": "collection", + "href": "//oarapi/resources/23/jobs", + "title": "jobs" + } + ], + "cpuset": 6, + "available_upto": 2147483647, + + "besteffort": "YES", + "id": 23, + "opa_count": 0, + "type": "default", + "production": "YES", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO" + }, + { + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 1, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "next_state": "UnChanged", + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "ip": "172.16.64.2", + "core": 24, + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "cpu": 3, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "drain": "NO", + "memcpu": 65536, + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 6, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "cpucore": 8, + "scheduler_priority": 0, + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "opa": "NO", + "eth_rate": 10, + "available_upto": 2147483647, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/24", + "rel": "self" + }, + { + "rel": "collection", + "href": "//oarapi/resources/24/jobs", + "title": "jobs" + } + ], + "cpuset": 7, + "besteffort": "YES", + + "opa_count": 0, + "id": 24, + "production": "YES", + "type": "default" + }, + { + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 2, + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "next_state": "UnChanged", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "drain": "NO", + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpu": 4, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "memcpu": 65536, + "myri_count": 0, + "ip": "172.16.64.2", + "core": 25, + "myri": "NO", + "max_walltime": 86400, + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "gpu": 7, + + "besteffort": "YES", + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/25", + "rel": "self" + }, + { + "href": "//oarapi/resources/25/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "cpuset": 8, + "available_upto": 2147483647, + "type": "default", + "production": "YES", + "opa_count": 0, + "id": 25, + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0 + }, + { + "id": 26, + "opa_count": 0, + "type": "default", + "production": "YES", + "cpuset": 9, + "links": [ + { + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "title": "node", + "rel": "member" + }, + { + "href": "//oarapi/resources/26", + "rel": "self" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/26/jobs" + } + ], + "available_upto": 2147483647, + + "besteffort": "YES", + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "cpucore": 8, + "scheduler_priority": 0, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 7, + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "memcpu": 65536, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 4, + "drain": "NO", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "max_walltime": 86400, + "myri": "NO", + "core": 26, + "myri_count": 0, + "ip": "172.16.64.2", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 2, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0 + }, + { + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + + "besteffort": "YES", + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "title": "node" + }, + { + "rel": "self", + "href": "//oarapi/resources/27" + }, + { + "href": "//oarapi/resources/27/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "cpuset": 10, + "available_upto": 2147483647, + "type": "default", + "production": "YES", + "opa_count": 0, + "id": 27, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "gpu": 7, + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "core": 27, + "myri_count": 0, + "ip": "172.16.64.2", + "myri": "NO", + "max_walltime": 86400, + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "suspended_jobs": "NO", + "ib": "NO", + "disk_reservation_count": 0, + "drain": "NO", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 4, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "memcpu": 65536, + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "gpudevice": 2, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "next_state": "UnChanged", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO" + }, + { + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "gpudevice": 2, + "switch": "gw-fakesite", + "eth_count": 1, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "memcpu": 65536, + "drain": "NO", + "cpu": 4, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "core": 28, + "myri_count": 0, + "ip": "172.16.64.2", + "max_walltime": 86400, + "myri": "NO", + "cpucore": 8, + "scheduler_priority": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "gpu": 7, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "production": "YES", + "type": "default", + "opa_count": 0, + "id": 28, + "besteffort": "YES", + + "available_upto": 2147483647, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/28", + "rel": "self" + }, + { + "rel": "collection", + "href": "//oarapi/resources/28/jobs", + "title": "jobs" + } + ], + "cpuset": 11, + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072 + }, + { + "drain": "NO", + "cpu": 4, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO", + "memcpu": 65536, + "core": 29, + "myri_count": 0, + "ip": "172.16.64.2", + "myri": "NO", + "max_walltime": 86400, + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 3, + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "besteffort": "YES", + + "available_upto": 2147483647, + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "title": "node" + }, + { + "rel": "self", + "href": "//oarapi/resources/29" + }, + { + "rel": "collection", + "href": "//oarapi/resources/29/jobs", + "title": "jobs" + } + ], + "cpuset": 12, + "production": "YES", + "type": "default", + "id": 29, + "opa_count": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "gpu": 8 + }, + { + "gpu": 8, + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "myri_rate": 0, + "api_timestamp": 1568902577, + "cpucore": 8, + "scheduler_priority": 0, + "last_available_upto": 0, + "finaud_decision": "NO", + "last_job_date": 0, + "opa": "NO", + "eth_rate": 10, + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "id": 30, + "opa_count": 0, + "type": "default", + "production": "YES", + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/30" + }, + { + "title": "jobs", + "href": "//oarapi/resources/30/jobs", + "rel": "collection" + } + ], + "cpuset": 13, + "available_upto": 2147483647, + + "besteffort": "YES", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 3, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "suspended_jobs": "NO", + "ib": "NO", + "disk_reservation_count": 0, + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "max_walltime": 86400, + "myri": "NO", + "myri_count": 0, + "core": 30, + "ip": "172.16.64.2", + "memcpu": 65536, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 4, + "drain": "NO" + }, + { + "drain": "NO", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 4, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "memcpu": 65536, + "myri_count": 0, + "ip": "172.16.64.2", + "core": 31, + "max_walltime": 86400, + "myri": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 3, + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "next_state": "UnChanged", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + + "besteffort": "YES", + "cpuset": 14, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/31" + }, + { + "href": "//oarapi/resources/31/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "available_upto": 2147483647, + "type": "default", + "production": "YES", + "opa_count": 0, + "id": 31, + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "gpu": 8 + }, + { + "switch": "gw-fakesite", + "eth_count": 1, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "gpudevice": 3, + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "myri_count": 0, + "core": 32, + "ip": "172.16.64.2", + "max_walltime": 86400, + "myri": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "memcpu": 65536, + "drain": "NO", + "cpu": 4, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "gpu": 8, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "scheduler_priority": 0, + "cpucore": 8, + "api_timestamp": 1568902577, + "myri_rate": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "production": "YES", + "type": "default", + "opa_count": 0, + "id": 32, + "besteffort": "YES", + + "available_upto": 2147483647, + "cpuset": 15, + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "title": "node" + }, + { + "href": "//oarapi/resources/32", + "rel": "self" + }, + { + "rel": "collection", + "href": "//oarapi/resources/32/jobs", + "title": "jobs" + } + ] + } + ], + "total": 32, + "links": [ + { + "href": "//oarapi/resources/details.json?limit=999999&offset=0", + "rel": "self" + } + ] +} + diff --git a/spec/stub_oar_properties/dump_oar_api_configured_server_wrong_vartype.json b/spec/stub_oar_properties/dump_oar_api_configured_server_wrong_vartype.json new file mode 100644 index 00000000000..9c21cae959e --- /dev/null +++ b/spec/stub_oar_properties/dump_oar_api_configured_server_wrong_vartype.json @@ -0,0 +1,2446 @@ +{ + "offset": 0, + "api_timestamp": 1568902577, + "items": [ + { + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "gpu": 1, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "cpuset": 0, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/1" + }, + { + "href": "//oarapi/resources/1/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "production": "YES", + "type": "default", + "opa_count": 0, + "id": 1, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "opa": "NO", + "eth_rate": "10", + "last_job_date": 0, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 0, + "next_state": "UnChanged", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "drain": "NO", + "cpu": 1, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "memcpu": 65536, + "myri_count": 0, + "ip": "172.16.64.1", + "core": 1, + "myri": "NO", + "max_walltime": 86400, + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO" + }, + { + "last_job_date": 0, + "eth_rate": "10", + "opa": "NO", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "id": 2, + "opa_count": 0, + "type": "default", + "production": "YES", + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/2", + "rel": "self" + }, + { + "title": "jobs", + "href": "//oarapi/resources/2/jobs", + "rel": "collection" + } + ], + "cpuset": 1, + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "gpu": 1, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "myri_rate": 0, + "api_timestamp": 1568902577, + "cpucore": 8, + "scheduler_priority": 0, + "last_available_upto": 0, + "finaud_decision": "NO", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "max_walltime": 86400, + "myri": "NO", + "core": 2, + "myri_count": 0, + "ip": "172.16.64.1", + "memcpu": 65536, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpu": 1, + "drain": "NO", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 0, + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE" + }, + { + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "core": 3, + "ip": "172.16.64.1", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 1, + "drain": "NO", + "memcpu": 65536, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "eth_count": 1, + "switch": "gw-fakesite", + "gpudevice": 0, + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_state": "UnChanged", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": "10", + "opa": "NO", + "cpuset": 2, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/3" + }, + { + "title": "jobs", + "href": "//oarapi/resources/3/jobs", + "rel": "collection" + } + ], + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "opa_count": 0, + "id": 3, + "type": "default", + "production": "YES", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 1, + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "last_available_upto": 0, + "finaud_decision": "NO", + "myri_rate": 0, + "api_timestamp": 1568902577, + "cpucore": 8, + "scheduler_priority": 0 + }, + { + "cpu": 1, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "drain": "NO", + "memcpu": 65536, + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO", + "max_walltime": 86400, + "myri": "NO", + "ip": "172.16.64.1", + "myri_count": 0, + "core": 4, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 0, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "next_state": "UnChanged", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "available_upto": 2147483647, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "rel": "member" + }, + { + "href": "//oarapi/resources/4", + "rel": "self" + }, + { + "href": "//oarapi/resources/4/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "cpuset": 3, + "besteffort": "YES", + "ib_rate": 0, + "id": 4, + "opa_count": 0, + "production": "YES", + "type": "default", + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": "10", + "opa": "NO", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "scheduler_priority": 0, + "cpucore": 8, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 1, + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive" + }, + { + "opa": "NO", + "eth_rate": "10", + "last_job_date": 0, + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "type": "default", + "production": "YES", + "opa_count": 0, + "id": 5, + "ib_rate": 0, + "besteffort": "YES", + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node" + }, + { + "rel": "self", + "href": "//oarapi/resources/5" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/5/jobs" + } + ], + "cpuset": 4, + "available_upto": 2147483647, + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "gpu": 2, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "cpucore": 8, + "scheduler_priority": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "finaud_decision": "NO", + "last_available_upto": 0, + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "suspended_jobs": "NO", + "ib": "NO", + "disk_reservation_count": 0, + "myri_count": 0, + "ip": "172.16.64.1", + "core": 5, + "myri": "NO", + "max_walltime": 86400, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "memcpu": 65536, + "drain": "NO", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 1, + "switch": "gw-fakesite", + "eth_count": 1, + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "next_state": "UnChanged", + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 1, + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr" + }, + { + "opa_count": 0, + "id": 6, + "type": "default", + "production": "YES", + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node" + }, + { + "href": "//oarapi/resources/6", + "rel": "self" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/6/jobs" + } + ], + "cpuset": 5, + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "last_job_date": 0, + "eth_rate": "10", + "opa": "NO", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "scheduler_priority": 0, + "cpucore": 8, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 2, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "memcpu": 65536, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpu": 1, + "drain": "NO", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "ip": "172.16.64.1", + "core": 6, + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 1, + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0 + }, + { + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "gpu": 2, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "scheduler_priority": 0, + "cpucore": 8, + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "opa": "NO", + "eth_rate": "10", + "available_upto": 2147483647, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/7", + "rel": "self" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/7/jobs" + } + ], + "cpuset": 6, + "besteffort": "YES", + "ib_rate": 0, + "opa_count": 0, + "id": 7, + "production": "YES", + "type": "default", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "gpudevice": 1, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "next_state": "UnChanged", + "max_walltime": 86400, + "myri": "NO", + "myri_count": 0, + "core": 7, + "ip": "172.16.64.1", + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "cpu": 1, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "drain": "NO", + "memcpu": 65536, + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO" + }, + { + "api_timestamp": 1568902577, + "myri_rate": 0, + "scheduler_priority": 0, + "cpucore": 8, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 2, + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "id": 8, + "opa_count": 0, + "production": "YES", + "type": "default", + "available_upto": 2147483647, + "cpuset": 7, + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node" + }, + { + "href": "//oarapi/resources/8", + "rel": "self" + }, + { + "rel": "collection", + "href": "//oarapi/resources/8/jobs", + "title": "jobs" + } + ], + "besteffort": "YES", + "ib_rate": 0, + "last_job_date": 0, + "opa": "NO", + "eth_rate": "10", + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "next_state": "UnChanged", + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 1, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "memcpu": 65536, + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "cpu": 1, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "drain": "NO", + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "myri": "NO", + "max_walltime": 86400, + "core": 8, + "myri_count": 0, + "ip": "172.16.64.1" + }, + { + "finaud_decision": "NO", + "last_available_upto": 0, + "scheduler_priority": 0, + "cpucore": 8, + "api_timestamp": 1568902577, + "myri_rate": 0, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "gpu": 3, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node" + }, + { + "rel": "self", + "href": "//oarapi/resources/9" + }, + { + "rel": "collection", + "href": "//oarapi/resources/9/jobs", + "title": "jobs" + } + ], + "cpuset": 8, + "production": "YES", + "type": "default", + "id": 9, + "opa_count": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "opa": "NO", + "eth_rate": "10", + "last_job_date": 0, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "gpudevice": 2, + "next_state": "UnChanged", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "drain": "NO", + "cpu": 2, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO", + "memcpu": 65536, + "myri_count": 0, + "core": 9, + "ip": "172.16.64.1", + "myri": "NO", + "max_walltime": 86400, + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO" + }, + { + "drain": "NO", + "cpu": 2, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "memcpu": 65536, + "myri_count": 0, + "core": 10, + "ip": "172.16.64.1", + "max_walltime": 86400, + "myri": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "gpudevice": 2, + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "links": [ + { + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node", + "rel": "member" + }, + { + "href": "//oarapi/resources/10", + "rel": "self" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/10/jobs" + } + ], + "cpuset": 9, + "production": "YES", + "type": "default", + "id": 10, + "opa_count": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "eth_rate": "10", + "opa": "NO", + "last_job_date": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "gpu": 3 + }, + { + "cpu": 2, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "drain": "NO", + "memcpu": 65536, + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "myri": "NO", + "max_walltime": 86400, + "core": 11, + "myri_count": 0, + "ip": "172.16.64.1", + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "gpudevice": 2, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "next_state": "UnChanged", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "available_upto": 2147483647, + "cpuset": 10, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/11", + "rel": "self" + }, + { + "title": "jobs", + "href": "//oarapi/resources/11/jobs", + "rel": "collection" + } + ], + "besteffort": "YES", + "ib_rate": 0, + "id": 11, + "opa_count": 0, + "production": "YES", + "type": "default", + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": "10", + "opa": "NO", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "scheduler_priority": 0, + "cpucore": 8, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 3, + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive" + }, + { + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 2, + "switch": "gw-fakesite", + "eth_count": 1, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "memcpu": 65536, + "drain": "NO", + "cpu": 2, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "myri_count": 0, + "ip": "172.16.64.1", + "core": 12, + "myri": "NO", + "max_walltime": 86400, + "scheduler_priority": 0, + "cpucore": 8, + "api_timestamp": 1568902577, + "myri_rate": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "gpu": 3, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "production": "YES", + "type": "default", + "opa_count": 0, + "id": 12, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "links": [ + { + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node", + "rel": "member" + }, + { + "href": "//oarapi/resources/12", + "rel": "self" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/12/jobs" + } + ], + "cpuset": 11, + "opa": "NO", + "eth_rate": "10", + "last_job_date": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072 + }, + { + "core": 13, + "myri_count": 0, + "ip": "172.16.64.1", + "myri": "NO", + "max_walltime": 86400, + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "suspended_jobs": "NO", + "ib": "NO", + "disk_reservation_count": 0, + "drain": "NO", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 2, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "memcpu": 65536, + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 3, + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "next_state": "UnChanged", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "opa": "NO", + "eth_rate": "10", + "last_job_date": 0, + "ib_rate": 0, + "besteffort": "YES", + "cpuset": 12, + "links": [ + { + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/13" + }, + { + "href": "//oarapi/resources/13/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "available_upto": 2147483647, + "type": "default", + "production": "YES", + "id": 13, + "opa_count": 0, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "gpu": 4, + "finaud_decision": "NO", + "last_available_upto": 0, + "scheduler_priority": 0, + "cpucore": 8, + "myri_rate": 0, + "api_timestamp": 1568902577 + }, + { + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "gpu": 4, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "cpuset": 13, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "rel": "self", + "href": "//oarapi/resources/14" + }, + { + "rel": "collection", + "href": "//oarapi/resources/14/jobs", + "title": "jobs" + } + ], + "production": "YES", + "type": "default", + "id": 14, + "opa_count": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "eth_rate": "10", + "opa": "NO", + "last_job_date": 0, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 3, + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "drain": "NO", + "cpu": 2, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO", + "memcpu": 65536, + "myri_count": 0, + "ip": "172.16.64.1", + "core": 14, + "max_walltime": 86400, + "myri": "NO", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO" + }, + { + "memcpu": 65536, + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "cpu": 2, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "drain": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "max_walltime": 86400, + "myri": "NO", + "myri_count": 0, + "core": 15, + "ip": "172.16.64.1", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "next_state": "UnChanged", + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "gpudevice": 3, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "opa_count": 0, + "id": 15, + "production": "YES", + "type": "default", + "available_upto": 2147483647, + "cpuset": 14, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "rel": "self", + "href": "//oarapi/resources/15" + }, + { + "href": "//oarapi/resources/15/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "besteffort": "YES", + "ib_rate": 0, + "last_job_date": 0, + "opa": "NO", + "eth_rate": "10", + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "cpucore": 8, + "scheduler_priority": 0, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 4, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0 + }, + { + "last_available_upto": 0, + "finaud_decision": "NO", + "myri_rate": 0, + "api_timestamp": 1568902577, + "scheduler_priority": 0, + "cpucore": 8, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 4, + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "cpuset": 15, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/16", + "rel": "self" + }, + { + "href": "//oarapi/resources/16/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "opa_count": 0, + "id": 16, + "type": "default", + "production": "YES", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": "10", + "opa": "NO", + "gpudevice": 3, + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_state": "UnChanged", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "eth_count": 1, + "switch": "gw-fakesite", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 2, + "drain": "NO", + "memcpu": 65536, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "ip": "172.16.64.1", + "core": 16, + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1 + }, + { + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 0, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "next_state": "UnChanged", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "cpu": 3, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "drain": "NO", + "memcpu": 65536, + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "core": 17, + "ip": "172.16.64.2", + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "scheduler_priority": 0, + "cpucore": 8, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "gpu": 5, + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "available_upto": 2147483647, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "href": "//oarapi/resources/17", + "rel": "self" + }, + { + "title": "jobs", + "href": "//oarapi/resources/17/jobs", + "rel": "collection" + } + ], + "cpuset": 0, + "besteffort": "YES", + "ib_rate": 0, + "opa_count": 0, + "id": 17, + "production": "YES", + "type": "default", + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": "10", + "opa": "NO" + }, + { + "max_walltime": 86400, + "myri": "NO", + "myri_count": 0, + "ip": "172.16.64.2", + "core": 18, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "cpu": 3, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "drain": "NO", + "memcpu": 65536, + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "gpudevice": 0, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "next_state": "UnChanged", + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": "10", + "opa": "NO", + "available_upto": 2147483647, + "cpuset": 1, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/18", + "rel": "self" + }, + { + "href": "//oarapi/resources/18/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "besteffort": "YES", + "ib_rate": 0, + "opa_count": 0, + "id": 18, + "production": "YES", + "type": "default", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 5, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "cpucore": 8, + "scheduler_priority": 0 + }, + { + "eth_rate": "10", + "opa": "NO", + "last_job_date": 0, + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "type": "default", + "production": "YES", + "opa_count": 0, + "id": 19, + "ib_rate": 0, + "besteffort": "YES", + "cpuset": 2, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "rel": "self", + "href": "//oarapi/resources/19" + }, + { + "href": "//oarapi/resources/19/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "available_upto": 2147483647, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "gpu": 5, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "cpucore": 8, + "scheduler_priority": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "finaud_decision": "NO", + "last_available_upto": 0, + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "myri_count": 0, + "ip": "172.16.64.2", + "core": 19, + "max_walltime": 86400, + "myri": "NO", + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "memcpu": 65536, + "drain": "NO", + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpu": 3, + "switch": "gw-fakesite", + "eth_count": 1, + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "next_state": "UnChanged", + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 0, + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64" + }, + { + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "gpu": 5, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "scheduler_priority": 0, + "cpucore": 8, + "myri_rate": 0, + "api_timestamp": 1568902577, + "finaud_decision": "NO", + "last_available_upto": 0, + "opa": "NO", + "eth_rate": "10", + "last_job_date": 0, + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "type": "default", + "production": "YES", + "id": 20, + "opa_count": 0, + "ib_rate": 0, + "besteffort": "YES", + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/20" + }, + { + "href": "//oarapi/resources/20/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "cpuset": 3, + "available_upto": 2147483647, + "switch": "gw-fakesite", + "eth_count": 1, + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "next_state": "UnChanged", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 0, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "myri_count": 0, + "core": 20, + "ip": "172.16.64.2", + "max_walltime": 86400, + "myri": "NO", + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "memcpu": 65536, + "drain": "NO", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 3 + }, + { + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 1, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "memcpu": 65536, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 3, + "drain": "NO", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "core": 21, + "ip": "172.16.64.2", + "myri_rate": 0, + "api_timestamp": 1568902577, + "scheduler_priority": 0, + "cpucore": 8, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 6, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "opa_count": 0, + "id": 21, + "type": "default", + "production": "YES", + "cpuset": 4, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/21" + }, + { + "rel": "collection", + "href": "//oarapi/resources/21/jobs", + "title": "jobs" + } + ], + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "last_job_date": 0, + "opa": "NO", + "eth_rate": "10", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0 + }, + { + "opa_count": 0, + "id": 22, + "type": "default", + "production": "YES", + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "rel": "self", + "href": "//oarapi/resources/22" + }, + { + "title": "jobs", + "href": "//oarapi/resources/22/jobs", + "rel": "collection" + } + ], + "cpuset": 5, + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "last_job_date": 0, + "eth_rate": "10", + "opa": "NO", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "scheduler_priority": 0, + "cpucore": 8, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 6, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "memcpu": 65536, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpu": 3, + "drain": "NO", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "max_walltime": 86400, + "myri": "NO", + "core": 22, + "myri_count": 0, + "ip": "172.16.64.2", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 1, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0 + }, + { + "gpudevice": 1, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_state": "UnChanged", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "eth_count": 1, + "switch": "gw-fakesite", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 3, + "drain": "NO", + "memcpu": 65536, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "max_walltime": 86400, + "myri": "NO", + "ip": "172.16.64.2", + "myri_count": 0, + "core": 23, + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "last_available_upto": 0, + "finaud_decision": "NO", + "myri_rate": 0, + "api_timestamp": 1568902577, + "scheduler_priority": 0, + "cpucore": 8, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 6, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/23" + }, + { + "rel": "collection", + "href": "//oarapi/resources/23/jobs", + "title": "jobs" + } + ], + "cpuset": 6, + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "id": 23, + "opa_count": 0, + "type": "default", + "production": "YES", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": "10", + "opa": "NO" + }, + { + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 1, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "next_state": "UnChanged", + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "ip": "172.16.64.2", + "core": 24, + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "cpu": 3, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "drain": "NO", + "memcpu": 65536, + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 6, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "cpucore": 8, + "scheduler_priority": 0, + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "opa": "NO", + "eth_rate": "10", + "available_upto": 2147483647, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/24", + "rel": "self" + }, + { + "rel": "collection", + "href": "//oarapi/resources/24/jobs", + "title": "jobs" + } + ], + "cpuset": 7, + "besteffort": "YES", + "ib_rate": 0, + "opa_count": 0, + "id": 24, + "production": "YES", + "type": "default" + }, + { + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 2, + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "next_state": "UnChanged", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "drain": "NO", + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpu": 4, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "memcpu": 65536, + "myri_count": 0, + "ip": "172.16.64.2", + "core": 25, + "myri": "NO", + "max_walltime": 86400, + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "gpu": 7, + "ib_rate": 0, + "besteffort": "YES", + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/25", + "rel": "self" + }, + { + "href": "//oarapi/resources/25/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "cpuset": 8, + "available_upto": 2147483647, + "type": "default", + "production": "YES", + "opa_count": 0, + "id": 25, + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "opa": "NO", + "eth_rate": "10", + "last_job_date": 0 + }, + { + "id": 26, + "opa_count": 0, + "type": "default", + "production": "YES", + "cpuset": 9, + "links": [ + { + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "title": "node", + "rel": "member" + }, + { + "href": "//oarapi/resources/26", + "rel": "self" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/26/jobs" + } + ], + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "last_job_date": 0, + "eth_rate": "10", + "opa": "NO", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "cpucore": 8, + "scheduler_priority": 0, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 7, + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "memcpu": 65536, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 4, + "drain": "NO", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "max_walltime": 86400, + "myri": "NO", + "core": 26, + "myri_count": 0, + "ip": "172.16.64.2", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 2, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0 + }, + { + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "eth_rate": "10", + "opa": "NO", + "last_job_date": 0, + "ib_rate": 0, + "besteffort": "YES", + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "title": "node" + }, + { + "rel": "self", + "href": "//oarapi/resources/27" + }, + { + "href": "//oarapi/resources/27/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "cpuset": 10, + "available_upto": 2147483647, + "type": "default", + "production": "YES", + "opa_count": 0, + "id": 27, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "gpu": 7, + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "core": 27, + "myri_count": 0, + "ip": "172.16.64.2", + "myri": "NO", + "max_walltime": 86400, + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "suspended_jobs": "NO", + "ib": "NO", + "disk_reservation_count": 0, + "drain": "NO", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 4, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "memcpu": 65536, + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "gpudevice": 2, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "next_state": "UnChanged", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO" + }, + { + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "gpudevice": 2, + "switch": "gw-fakesite", + "eth_count": 1, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "memcpu": 65536, + "drain": "NO", + "cpu": 4, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "core": 28, + "myri_count": 0, + "ip": "172.16.64.2", + "max_walltime": 86400, + "myri": "NO", + "cpucore": 8, + "scheduler_priority": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "gpu": 7, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "production": "YES", + "type": "default", + "opa_count": 0, + "id": 28, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/28", + "rel": "self" + }, + { + "rel": "collection", + "href": "//oarapi/resources/28/jobs", + "title": "jobs" + } + ], + "cpuset": 11, + "eth_rate": "10", + "opa": "NO", + "last_job_date": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072 + }, + { + "drain": "NO", + "cpu": 4, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO", + "memcpu": 65536, + "core": 29, + "myri_count": 0, + "ip": "172.16.64.2", + "myri": "NO", + "max_walltime": 86400, + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 3, + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "title": "node" + }, + { + "rel": "self", + "href": "//oarapi/resources/29" + }, + { + "rel": "collection", + "href": "//oarapi/resources/29/jobs", + "title": "jobs" + } + ], + "cpuset": 12, + "production": "YES", + "type": "default", + "id": 29, + "opa_count": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "eth_rate": "10", + "opa": "NO", + "last_job_date": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "gpu": 8 + }, + { + "gpu": 8, + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "myri_rate": 0, + "api_timestamp": 1568902577, + "cpucore": 8, + "scheduler_priority": 0, + "last_available_upto": 0, + "finaud_decision": "NO", + "last_job_date": 0, + "opa": "NO", + "eth_rate": "10", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "id": 30, + "opa_count": 0, + "type": "default", + "production": "YES", + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/30" + }, + { + "title": "jobs", + "href": "//oarapi/resources/30/jobs", + "rel": "collection" + } + ], + "cpuset": 13, + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 3, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "suspended_jobs": "NO", + "ib": "NO", + "disk_reservation_count": 0, + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "max_walltime": 86400, + "myri": "NO", + "myri_count": 0, + "core": 30, + "ip": "172.16.64.2", + "memcpu": 65536, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 4, + "drain": "NO" + }, + { + "drain": "NO", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 4, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "memcpu": 65536, + "myri_count": 0, + "ip": "172.16.64.2", + "core": 31, + "max_walltime": 86400, + "myri": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 3, + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "next_state": "UnChanged", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "ib_rate": 0, + "besteffort": "YES", + "cpuset": 14, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/31" + }, + { + "href": "//oarapi/resources/31/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "available_upto": 2147483647, + "type": "default", + "production": "YES", + "opa_count": 0, + "id": 31, + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "eth_rate": "10", + "opa": "NO", + "last_job_date": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "gpu": 8 + }, + { + "switch": "gw-fakesite", + "eth_count": 1, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "gpudevice": 3, + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "myri_count": 0, + "core": 32, + "ip": "172.16.64.2", + "max_walltime": 86400, + "myri": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "memcpu": 65536, + "drain": "NO", + "cpu": 4, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "gpu": 8, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "scheduler_priority": 0, + "cpucore": 8, + "api_timestamp": 1568902577, + "myri_rate": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "opa": "NO", + "eth_rate": "10", + "last_job_date": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "production": "YES", + "type": "default", + "opa_count": 0, + "id": 32, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "cpuset": 15, + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "title": "node" + }, + { + "href": "//oarapi/resources/32", + "rel": "self" + }, + { + "rel": "collection", + "href": "//oarapi/resources/32/jobs", + "title": "jobs" + } + ] + } + ], + "total": 32, + "links": [ + { + "href": "//oarapi/resources/details.json?limit=999999&offset=0", + "rel": "self" + } + ] +} + diff --git a/spec/stub_oar_properties/load_data_hierarchy_stubbed_data_missing_main_network_property.json b/spec/stub_oar_properties/load_data_hierarchy_stubbed_data_missing_main_network_property.json new file mode 100644 index 00000000000..2d2c4330840 --- /dev/null +++ b/spec/stub_oar_properties/load_data_hierarchy_stubbed_data_missing_main_network_property.json @@ -0,0 +1,744 @@ +{ + "sites": { + "fakesite": { + "clusters": { + "clustera": { + "nodes": { + "clustera-1": { + "architecture": { + "nb_cores": 16, + "nb_procs": 2, + "nb_threads": 32, + "platform_type": "x86_64", + "cpu_core_numbering": "contiguous" + }, + "bios": { + "release_date": "06/14/2019", + "vendor": "Dell Inc.", + "version": "2.2.11" + }, + "chassis": { + "manufacturer": "Dell Inc.", + "name": "PowerEdge T640", + "serial": "FL1CBX2" + }, + "gpu": { + "gpu": true, + "gpu_cores": 17408, + "gpu_count": 4, + "gpu_model": "RTX 2080 Ti", + "gpu_vendor": "Nvidia" + }, + "gpu_devices": { + "nvidia0": { + "cpu_affinity": 0, + "device": "/dev/nvidia0", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.B2", + "vendor": "Nvidia" + }, + "nvidia1": { + "cpu_affinity": 0, + "device": "/dev/nvidia1", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.B2", + "vendor": "Nvidia" + }, + "nvidia2": { + "cpu_affinity": 1, + "device": "/dev/nvidia2", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.0B.40.09", + "vendor": "Nvidia" + }, + "nvidia3": { + "cpu_affinity": 1, + "device": "/dev/nvidia3", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.B2", + "vendor": "Nvidia" + } + }, + "main_memory": { + "ram_size": 137438953472 + }, + "monitoring": { + "wattmeter": "multiple" + }, + "network_adapters": [], + "operating_system": { + "cstate_driver": "intel_idle", + "cstate_governor": "menu", + "ht_enabled": true, + "pstate_driver": "intel_pstate", + "pstate_governor": "performance", + "turboboost_enabled": true + }, + "performance": { + "core_flops": 17713000000, + "node_flops": 202670000000 + }, + "processor": { + "cache_l1": null, + "cache_l1d": 32768, + "cache_l1i": 32768, + "cache_l2": 1048576, + "cache_l3": 11534336, + "clock_speed": 2100000000, + "ht_capable": true, + "instruction_set": "x86-64", + "microarchitecture": "Skylake", + "model": "Intel Xeon", + "other_description": "Intel(R) Xeon(R) Silver 4110 CPU @ 2.10GHz", + "vendor": "Intel", + "version": "Silver 4110" + }, + "sensors": { + "power": { + "available": true, + "via": { + "api": { + "metric": "power" + }, + "pdu": [{ + "port": 1, + "uid": "clustera-pdu1" + }, { + "port": 1, + "uid": "clustera-pdu2" + }] + } + } + }, + "storage_devices": [{ + "by_id": "/dev/disk/by-id/wwn-0x6f402700aefea00024afe4c307e10af8", + "by_path": "/dev/disk/by-path/pci-0000:19:00.0-scsi-0:2:0:0", + "device": "sda", + "driver": "megaraid_sas", + "firmware_version": 4.29, + "interface": "SATA", + "model": "PERC H330 Adp", + "size": 479559942144, + "storage": "SSD", + "vendor": "Dell (Raid)" + }], + "supported_job_types": { + "besteffort": true, + "deploy": true, + "max_walltime": 86400, + "queues": ["admin", "production"], + "virtual": "ivt" + }, + "type": "node", + "uid": "clustera-1" + }, + "clustera-2": { + "architecture": { + "nb_cores": 16, + "nb_procs": 2, + "nb_threads": 32, + "platform_type": "x86_64", + "cpu_core_numbering": "contiguous" + }, + "bios": { + "release_date": "06/14/2019", + "vendor": "Dell Inc.", + "version": "2.2.11" + }, + "chassis": { + "manufacturer": "Dell Inc.", + "name": "PowerEdge T640", + "serial": "9L1CBX2" + }, + "gpu": { + "gpu": true, + "gpu_cores": 17408, + "gpu_count": 4, + "gpu_model": "RTX 2080 Ti", + "gpu_vendor": "Nvidia" + }, + "gpu_devices": { + "nvidia0": { + "cpu_affinity": 0, + "device": "/dev/nvidia0", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.B2", + "vendor": "Nvidia" + }, + "nvidia1": { + "cpu_affinity": 0, + "device": "/dev/nvidia1", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.0B.40.09", + "vendor": "Nvidia" + }, + "nvidia2": { + "cpu_affinity": 1, + "device": "/dev/nvidia2", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.0B.40.09", + "vendor": "Nvidia" + }, + "nvidia3": { + "cpu_affinity": 1, + "device": "/dev/nvidia3", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.AC", + "vendor": "Nvidia" + } + }, + "main_memory": { + "ram_size": 137438953472 + }, + "monitoring": { + "wattmeter": "multiple" + }, + "network_adapters": [{ + "bridged": false, + "device": "eth0", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:48:d8", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno1", + "vendor": "Broadcom" + }, { + "bridged": false, + "device": "eth1", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:48:d9", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno2d1", + "vendor": "Broadcom" + }, { + "bridged": true, + "device": "eth2", + "driver": "i40e", + "enabled": true, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "ip": "172.16.64.2", + "mac": "f8:f2:1e:60:3f:a0", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": true, + "mounted": true, + "name": "enp137s0f0", + "network_address": "clustera-2.fakesite.grid5000.fr", + "rate": 10000000000, + "switch": "gw-fakesite", + "switch_port": "Ethernet6/40", + "vendor": "Intel" + }, { + "bridged": false, + "device": "eth3", + "driver": "i40e", + "enabled": false, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "mac": "f8:f2:1e:60:3f:a1", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": false, + "mounted": false, + "name": "enp137s0f1", + "vendor": "Intel" + }, { + "device": "bmc", + "enabled": true, + "interface": "Ethernet", + "ip": "172.17.64.2", + "mac": "f4:02:70:9a:48:e8", + "management": true, + "mountable": false, + "mounted": false, + "network_address": "clustera-2-bmc.fakesite.grid5000.fr" + }], + "operating_system": { + "cstate_driver": "intel_idle", + "cstate_governor": "menu", + "ht_enabled": true, + "pstate_driver": "intel_pstate", + "pstate_governor": "performance", + "turboboost_enabled": true + }, + "performance": { + "core_flops": 17713000000, + "node_flops": 202670000000 + }, + "processor": { + "cache_l1": null, + "cache_l1d": 32768, + "cache_l1i": 32768, + "cache_l2": 1048576, + "cache_l3": 11534336, + "clock_speed": 2100000000, + "ht_capable": true, + "instruction_set": "x86-64", + "microarchitecture": "Skylake", + "model": "Intel Xeon", + "other_description": "Intel(R) Xeon(R) Silver 4110 CPU @ 2.10GHz", + "vendor": "Intel", + "version": "Silver 4110" + }, + "sensors": { + "power": { + "available": true, + "via": { + "api": { + "metric": "power" + }, + "pdu": [{ + "port": 6, + "uid": "clustera-pdu1" + }, { + "port": 6, + "uid": "clustera-pdu2" + }] + } + } + }, + "storage_devices": [{ + "by_id": "/dev/disk/by-id/wwn-0x6f402700aeff430024929b4003cd51d0", + "by_path": "/dev/disk/by-path/pci-0000:19:00.0-scsi-0:2:0:0", + "device": "sda", + "driver": "megaraid_sas", + "firmware_version": 4.29, + "interface": "SATA", + "model": "PERC H330 Adp", + "size": 479559942144, + "storage": "SSD", + "vendor": "Dell (Raid)" + }], + "supported_job_types": { + "besteffort": true, + "deploy": true, + "max_walltime": 86400, + "queues": ["admin", "production"], + "virtual": "ivt" + }, + "type": "node", + "uid": "clustera-2" + } + }, + "created_at": "Fri, 07 Jun 2019 00:00:00 GMT", + "kavlan": false, + "model": "Dell PowerEdge T640", + "queues": ["admin", "production"], + "type": "cluster", + "uid": "clustera" + } + }, + "network_equipments": { + "gw-fakesite": { + "backplane_bps": 1280000000000, + "kind": "router", + "linecards": [{}, {}, {}, {}, {}, {}, { + "backplane_bps": 1280000000000, + "kavlan_pattern": "Ethernet%LINECARD%/%PORT%", + "kind": "node", + "model": "N9K-X9464PX", + "ports": [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, { + "kind": "node", + "port": "eth2", + "uid": "clustera-1" + }, { + "kind": "node", + "port": "eth2", + "uid": "clustera-2" + }], + "rate": 10000000000, + "snmp_pattern": "Ethernet%LINECARD%/%PORT%" + }], + "model": "Cisco Nexus 9508", + "monitoring": { + "metric": "power", + "wattmeter": "multiple" + }, + "sensors": { + "network": { + "available": true, + "resolution": 10 + }, + "power": { + "available": true, + "resolution": 1, + "via": { + "pdu": [{ + "port": 8, + "uid": "graoully-pdu1" + }, { + "port": 8, + "uid": "graoully-pdu2" + }, { + "port": 8, + "uid": "grimoire-pdu1" + }, { + "port": 8, + "uid": "grimoire-pdu2" + }] + } + } + }, + "site": "fakesite", + "snmp_community": "public", + "type": "network_equipment", + "uid": "gw-fakesite", + "vlans": { + "vlan100": { + "addresses": ["172.16.79.254"], + "administrative": true + }, + "vlan101": { + "addresses": ["172.17.79.254"] + }, + "vlan500": { + "addresses": ["192.168.4.14"] + }, + "vlan701": { + "addresses": ["192.168.192.0/20"], + "name": "kavlan-1" + }, + "vlan702": { + "addresses": ["192.168.208.0/20"], + "name": "kavlan-2" + }, + "vlan703": { + "addresses": ["192.168.224.0/20"], + "name": "kavlan-3" + }, + "vlan704": { + "addresses": ["10.16.0.0/18"], + "name": "kavlan-4" + }, + "vlan705": { + "addresses": ["10.16.64.0/18"], + "name": "kavlan-5" + }, + "vlan706": { + "addresses": ["10.16.128.0/18"], + "name": "kavlan-6" + }, + "vlan707": { + "addresses": ["10.16.192.0/18"], + "name": "kavlan-7" + }, + "vlan708": { + "addresses": ["10.17.0.0/18"], + "name": "kavlan-8" + }, + "vlan709": { + "addresses": ["10.17.64.0/18"], + "name": "kavlan-9" + }, + "vlan714": { + "addresses": ["10.19.192.0/18"], + "name": "kavlan-14" + } + }, + "warranty": "2020-09-01", + "weathermap": {} + } + }, + "pdus": { + "clustera-pdu1": { + "ip": "172.17.79.226", + "mac": "28:29:86:0B:3B:06", + "model": "AP8653", + "ports": { + "1": "clustera-1", + "6": "clustera-2" + }, + "sensors": [{ + "power": { + "per_outlets": true, + "resolution": 1, + "snmp": { + "available": true, + "outlet_prefix_oid": "iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7", + "total_oids": ["iso.3.6.1.4.1.318.1.1.12.1.16.0"], + "unit": "W" + } + } + }], + "type": "pdu", + "uid": "clustera-pdu1", + "vendor": "APC" + }, + "clustera-pdu3": { + "ip": "172.17.79.231", + "mac": "28:29:86:12:27:FF", + "model": "AP8653", + "ports": {}, + "sensors": [{ + "power": { + "per_outlets": true, + "resolution": 1, + "snmp": { + "available": true, + "outlet_prefix_oid": "iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7", + "total_oids": ["iso.3.6.1.4.1.318.1.1.12.1.16.0"], + "unit": "W" + } + } + }], + "type": "pdu", + "uid": "clustera-pdu3", + "vendor": "APC" + }, + "clustera-pdu2": { + "ip": "172.17.79.227", + "mac": "28:29:86:10:0E:8C", + "model": "AP8653", + "ports": { + "1": "clustera-1", + "6": "clustera-2" + }, + "sensors": [{ + "power": { + "per_outlets": true, + "resolution": 1, + "snmp": { + "available": true, + "outlet_prefix_oid": "iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7", + "total_oids": ["iso.3.6.1.4.1.318.1.1.12.1.16.0"], + "unit": "W" + } + } + }], + "type": "pdu", + "uid": "clustera-pdu2", + "vendor": "APC" + }, + "clustera-pdu4": { + "ip": "172.17.79.232", + "mac": "28:29:86:10:0E:B4", + "model": "AP8653", + "ports": {}, + "sensors": [{ + "power": { + "per_outlets": true, + "resolution": 1, + "snmp": { + "available": true, + "outlet_prefix_oid": "iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7", + "total_oids": ["iso.3.6.1.4.1.318.1.1.12.1.16.0"], + "unit": "W" + } + } + }], + "type": "pdu", + "uid": "clustera-pdu4", + "vendor": "APC" + } + }, + "compilation_server": false, + "description": "Grid5000 Fakesite site", + "email_contact": "support-staff@lists.grid5000.fr", + "frontend_ip": "172.16.79.101", + "g5ksubnet": { + "gateway": "10.147.255.254", + "network": "10.144.0.0/14" + }, + "latitude": 48.7, + "location": "Fakesite, France", + "longitude": 6.2, + "name": "Fakesite", + "production": true, + "renater_ip": "192.168.4.14", + "security_contact": "support-staff@lists.grid5000.fr", + "storage5k": false, + "sys_admin_contact": "support-staff@lists.grid5000.fr", + "type": "site", + "uid": "fakesite", + "user_support_contact": "support-staff@lists.grid5000.fr", + "virt_ip_range": "10.144.0.0/14", + "web": "http://www.grid5000.fr/mediawiki/index.php/Fakesite:Home" + } + }, + "network_equipments": { + "renater-lyon": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-paris" + }, { + "uid": "renater-sophia" + }, { + "uid": "renater-grenoble" + }, { + "uid": "renater-nantes" + }, { + "kind": "router", + "site_uid": "lyon", + "uid": "gw-lyon" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-lyon", + "weathermap": {} + }, + "renater-grenoble": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-lyon" + }, { + "kind": "router", + "site_uid": "grenoble", + "uid": "gw-grenoble" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-grenoble", + "weathermap": {} + }, + "renater-nancy": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-luxembourg" + }, { + "uid": "renater-paris" + }, { + "kind": "router", + "site_uid": "nancy", + "uid": "gw-nancy" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-nancy", + "weathermap": {} + }, + "renater-luxembourg": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-nancy" + }, { + "kind": "router", + "site_uid": "luxembourg", + "uid": "gw-luxembourg" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-luxembourg", + "weathermap": {} + }, + "renater-sophia": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-lyon" + }, { + "kind": "router", + "site_uid": "sophia", + "uid": "gw-sophia" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-sophia", + "weathermap": {} + }, + "renater-paris": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-lille" + }, { + "uid": "renater-lyon" + }, { + "uid": "renater-nancy" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-paris", + "weathermap": {} + }, + "renater-rennes": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-nantes" + }, { + "kind": "router", + "site_uid": "rennes", + "uid": "gw-rennes" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-rennes", + "weathermap": {} + }, + "renater-nantes": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-lyon" + }, { + "uid": "renater-rennes" + }, { + "kind": "router", + "site_uid": "nantes", + "uid": "gw-nantes" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-nantes", + "weathermap": {} + }, + "renater-lille": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-paris" + }, { + "kind": "router", + "site_uid": "lille", + "uid": "gw-lille" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-lille", + "weathermap": {} + } + }, + "type": "grid", + "uid": "grid5000" +} diff --git a/spec/stub_oar_properties/load_data_hierarchy_stubbed_data_wattmeters_nil.json b/spec/stub_oar_properties/load_data_hierarchy_stubbed_data_wattmeters_nil.json new file mode 100644 index 00000000000..f6f7a47abf8 --- /dev/null +++ b/spec/stub_oar_properties/load_data_hierarchy_stubbed_data_wattmeters_nil.json @@ -0,0 +1,813 @@ +{ + "sites": { + "fakesite": { + "clusters": { + "clustera": { + "nodes": { + "clustera-1": { + "architecture": { + "nb_cores": 16, + "nb_procs": 2, + "nb_threads": 32, + "platform_type": "x86_64", + "cpu_core_numbering": "contiguous" + }, + "bios": { + "release_date": "06/14/2019", + "vendor": "Dell Inc.", + "version": "2.2.11" + }, + "chassis": { + "manufacturer": "Dell Inc.", + "name": "PowerEdge T640", + "serial": "FL1CBX2" + }, + "gpu": { + "gpu": true, + "gpu_cores": 17408, + "gpu_count": 4, + "gpu_model": "RTX 2080 Ti", + "gpu_vendor": "Nvidia" + }, + "gpu_devices": { + "nvidia0": { + "cpu_affinity": 0, + "device": "/dev/nvidia0", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.B2", + "vendor": "Nvidia" + }, + "nvidia1": { + "cpu_affinity": 0, + "device": "/dev/nvidia1", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.B2", + "vendor": "Nvidia" + }, + "nvidia2": { + "cpu_affinity": 1, + "device": "/dev/nvidia2", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.0B.40.09", + "vendor": "Nvidia" + }, + "nvidia3": { + "cpu_affinity": 1, + "device": "/dev/nvidia3", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.B2", + "vendor": "Nvidia" + } + }, + "main_memory": { + "ram_size": 137438953472 + }, + "monitoring": { + }, + "network_adapters": [{ + "bridged": false, + "device": "eth0", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:3f:64", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno1", + "vendor": "Broadcom" + }, { + "bridged": false, + "device": "eth1", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:3f:65", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno2d1", + "vendor": "Broadcom" + }, { + "bridged": true, + "device": "eth2", + "driver": "i40e", + "enabled": true, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "ip": "172.16.64.1", + "mac": "f8:f2:1e:60:41:20", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": true, + "mounted": true, + "name": "enp137s0f0", + "network_address": "clustera-1.fakesite.grid5000.fr", + "rate": 10000000000, + "switch": "gw-fakesite", + "switch_port": "Ethernet6/39", + "vendor": "Intel" + }, { + "bridged": false, + "device": "eth3", + "driver": "i40e", + "enabled": false, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "mac": "f8:f2:1e:60:41:21", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": false, + "mounted": false, + "name": "enp137s0f1", + "vendor": "Intel" + }, { + "device": "bmc", + "enabled": true, + "interface": "Ethernet", + "ip": "172.17.64.1", + "mac": "f4:02:70:9a:3f:74", + "management": true, + "mountable": false, + "mounted": false, + "network_address": "clustera-1-bmc.fakesite.grid5000.fr" + }], + "operating_system": { + "cstate_driver": "intel_idle", + "cstate_governor": "menu", + "ht_enabled": true, + "pstate_driver": "intel_pstate", + "pstate_governor": "performance", + "turboboost_enabled": true + }, + "performance": { + "core_flops": 17713000000, + "node_flops": 202670000000 + }, + "processor": { + "cache_l1": null, + "cache_l1d": 32768, + "cache_l1i": 32768, + "cache_l2": 1048576, + "cache_l3": 11534336, + "clock_speed": 2100000000, + "ht_capable": true, + "instruction_set": "x86-64", + "microarchitecture": "Skylake", + "model": "Intel Xeon", + "other_description": "Intel(R) Xeon(R) Silver 4110 CPU @ 2.10GHz", + "vendor": "Intel", + "version": "Silver 4110" + }, + "sensors": { + "power": { + "available": true, + "via": { + "api": { + "metric": "power" + }, + "pdu": [{ + "port": 1, + "uid": "clustera-pdu1" + }, { + "port": 1, + "uid": "clustera-pdu2" + }] + } + } + }, + "storage_devices": [{ + "by_id": "/dev/disk/by-id/wwn-0x6f402700aefea00024afe4c307e10af8", + "by_path": "/dev/disk/by-path/pci-0000:19:00.0-scsi-0:2:0:0", + "device": "sda", + "driver": "megaraid_sas", + "firmware_version": 4.29, + "interface": "SATA", + "model": "PERC H330 Adp", + "size": 479559942144, + "storage": "SSD", + "vendor": "Dell (Raid)" + }], + "supported_job_types": { + "besteffort": true, + "deploy": true, + "max_walltime": 86400, + "queues": ["admin", "production"], + "virtual": "ivt" + }, + "type": "node", + "uid": "clustera-1" + }, + "clustera-2": { + "architecture": { + "nb_cores": 16, + "nb_procs": 2, + "nb_threads": 32, + "platform_type": "x86_64", + "cpu_core_numbering": "contiguous" + }, + "bios": { + "release_date": "06/14/2019", + "vendor": "Dell Inc.", + "version": "2.2.11" + }, + "chassis": { + "manufacturer": "Dell Inc.", + "name": "PowerEdge T640", + "serial": "9L1CBX2" + }, + "gpu": { + "gpu": true, + "gpu_cores": 17408, + "gpu_count": 4, + "gpu_model": "RTX 2080 Ti", + "gpu_vendor": "Nvidia" + }, + "gpu_devices": { + "nvidia0": { + "cpu_affinity": 0, + "device": "/dev/nvidia0", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.B2", + "vendor": "Nvidia" + }, + "nvidia1": { + "cpu_affinity": 0, + "device": "/dev/nvidia1", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.0B.40.09", + "vendor": "Nvidia" + }, + "nvidia2": { + "cpu_affinity": 1, + "device": "/dev/nvidia2", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.0B.40.09", + "vendor": "Nvidia" + }, + "nvidia3": { + "cpu_affinity": 1, + "device": "/dev/nvidia3", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.AC", + "vendor": "Nvidia" + } + }, + "main_memory": { + "ram_size": 137438953472 + }, + "monitoring": { + }, + "network_adapters": [{ + "bridged": false, + "device": "eth0", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:48:d8", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno1", + "vendor": "Broadcom" + }, { + "bridged": false, + "device": "eth1", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:48:d9", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno2d1", + "vendor": "Broadcom" + }, { + "bridged": true, + "device": "eth2", + "driver": "i40e", + "enabled": true, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "ip": "172.16.64.2", + "mac": "f8:f2:1e:60:3f:a0", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": true, + "mounted": true, + "name": "enp137s0f0", + "network_address": "clustera-2.fakesite.grid5000.fr", + "rate": 10000000000, + "switch": "gw-fakesite", + "switch_port": "Ethernet6/40", + "vendor": "Intel" + }, { + "bridged": false, + "device": "eth3", + "driver": "i40e", + "enabled": false, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "mac": "f8:f2:1e:60:3f:a1", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": false, + "mounted": false, + "name": "enp137s0f1", + "vendor": "Intel" + }, { + "device": "bmc", + "enabled": true, + "interface": "Ethernet", + "ip": "172.17.64.2", + "mac": "f4:02:70:9a:48:e8", + "management": true, + "mountable": false, + "mounted": false, + "network_address": "clustera-2-bmc.fakesite.grid5000.fr" + }], + "operating_system": { + "cstate_driver": "intel_idle", + "cstate_governor": "menu", + "ht_enabled": true, + "pstate_driver": "intel_pstate", + "pstate_governor": "performance", + "turboboost_enabled": true + }, + "performance": { + "core_flops": 17713000000, + "node_flops": 202670000000 + }, + "processor": { + "cache_l1": null, + "cache_l1d": 32768, + "cache_l1i": 32768, + "cache_l2": 1048576, + "cache_l3": 11534336, + "clock_speed": 2100000000, + "ht_capable": true, + "instruction_set": "x86-64", + "microarchitecture": "Skylake", + "model": "Intel Xeon", + "other_description": "Intel(R) Xeon(R) Silver 4110 CPU @ 2.10GHz", + "vendor": "Intel", + "version": "Silver 4110" + }, + "sensors": { + "power": { + "available": true, + "via": { + "api": { + "metric": "power" + }, + "pdu": [{ + "port": 6, + "uid": "clustera-pdu1" + }, { + "port": 6, + "uid": "clustera-pdu2" + }] + } + } + }, + "storage_devices": [{ + "by_id": "/dev/disk/by-id/wwn-0x6f402700aeff430024929b4003cd51d0", + "by_path": "/dev/disk/by-path/pci-0000:19:00.0-scsi-0:2:0:0", + "device": "sda", + "driver": "megaraid_sas", + "firmware_version": 4.29, + "interface": "SATA", + "model": "PERC H330 Adp", + "size": 479559942144, + "storage": "SSD", + "vendor": "Dell (Raid)" + }], + "supported_job_types": { + "besteffort": true, + "deploy": true, + "max_walltime": 86400, + "queues": ["admin", "production"], + "virtual": "ivt" + }, + "type": "node", + "uid": "clustera-2" + } + }, + "created_at": "Fri, 07 Jun 2019 00:00:00 GMT", + "kavlan": false, + "model": "Dell PowerEdge T640", + "queues": ["admin", "production"], + "type": "cluster", + "uid": "clustera" + } + }, + "network_equipments": { + "gw-fakesite": { + "backplane_bps": 1280000000000, + "kind": "router", + "linecards": [{}, {}, {}, {}, {}, {}, { + "backplane_bps": 1280000000000, + "kavlan_pattern": "Ethernet%LINECARD%/%PORT%", + "kind": "node", + "model": "N9K-X9464PX", + "ports": [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, { + "kind": "node", + "port": "eth2", + "uid": "clustera-1" + }, { + "kind": "node", + "port": "eth2", + "uid": "clustera-2" + }], + "rate": 10000000000, + "snmp_pattern": "Ethernet%LINECARD%/%PORT%" + }], + "model": "Cisco Nexus 9508", + "monitoring": { + "metric": "power", + "wattmeter": "multiple" + }, + "sensors": { + "network": { + "available": true, + "resolution": 10 + }, + "power": { + "available": true, + "resolution": 1, + "via": { + "pdu": [{ + "port": 8, + "uid": "graoully-pdu1" + }, { + "port": 8, + "uid": "graoully-pdu2" + }, { + "port": 8, + "uid": "grimoire-pdu1" + }, { + "port": 8, + "uid": "grimoire-pdu2" + }] + } + } + }, + "site": "fakesite", + "snmp_community": "public", + "type": "network_equipment", + "uid": "gw-fakesite", + "vlans": { + "vlan100": { + "addresses": ["172.16.79.254"], + "administrative": true + }, + "vlan101": { + "addresses": ["172.17.79.254"] + }, + "vlan500": { + "addresses": ["192.168.4.14"] + }, + "vlan701": { + "addresses": ["192.168.192.0/20"], + "name": "kavlan-1" + }, + "vlan702": { + "addresses": ["192.168.208.0/20"], + "name": "kavlan-2" + }, + "vlan703": { + "addresses": ["192.168.224.0/20"], + "name": "kavlan-3" + }, + "vlan704": { + "addresses": ["10.16.0.0/18"], + "name": "kavlan-4" + }, + "vlan705": { + "addresses": ["10.16.64.0/18"], + "name": "kavlan-5" + }, + "vlan706": { + "addresses": ["10.16.128.0/18"], + "name": "kavlan-6" + }, + "vlan707": { + "addresses": ["10.16.192.0/18"], + "name": "kavlan-7" + }, + "vlan708": { + "addresses": ["10.17.0.0/18"], + "name": "kavlan-8" + }, + "vlan709": { + "addresses": ["10.17.64.0/18"], + "name": "kavlan-9" + }, + "vlan714": { + "addresses": ["10.19.192.0/18"], + "name": "kavlan-14" + } + }, + "warranty": "2020-09-01", + "weathermap": {} + } + }, + "pdus": { + "clustera-pdu1": { + "ip": "172.17.79.226", + "mac": "28:29:86:0B:3B:06", + "model": "AP8653", + "ports": { + "1": "clustera-1", + "6": "clustera-2" + }, + "sensors": [{ + "power": { + "per_outlets": true, + "resolution": 1, + "snmp": { + "available": true, + "outlet_prefix_oid": "iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7", + "total_oids": ["iso.3.6.1.4.1.318.1.1.12.1.16.0"], + "unit": "W" + } + } + }], + "type": "pdu", + "uid": "clustera-pdu1", + "vendor": "APC" + }, + "clustera-pdu3": { + "ip": "172.17.79.231", + "mac": "28:29:86:12:27:FF", + "model": "AP8653", + "ports": {}, + "sensors": [{ + "power": { + "per_outlets": true, + "resolution": 1, + "snmp": { + "available": true, + "outlet_prefix_oid": "iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7", + "total_oids": ["iso.3.6.1.4.1.318.1.1.12.1.16.0"], + "unit": "W" + } + } + }], + "type": "pdu", + "uid": "clustera-pdu3", + "vendor": "APC" + }, + "clustera-pdu2": { + "ip": "172.17.79.227", + "mac": "28:29:86:10:0E:8C", + "model": "AP8653", + "ports": { + "1": "clustera-1", + "6": "clustera-2" + }, + "sensors": [{ + "power": { + "per_outlets": true, + "resolution": 1, + "snmp": { + "available": true, + "outlet_prefix_oid": "iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7", + "total_oids": ["iso.3.6.1.4.1.318.1.1.12.1.16.0"], + "unit": "W" + } + } + }], + "type": "pdu", + "uid": "clustera-pdu2", + "vendor": "APC" + }, + "clustera-pdu4": { + "ip": "172.17.79.232", + "mac": "28:29:86:10:0E:B4", + "model": "AP8653", + "ports": {}, + "sensors": [{ + "power": { + "per_outlets": true, + "resolution": 1, + "snmp": { + "available": true, + "outlet_prefix_oid": "iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7", + "total_oids": ["iso.3.6.1.4.1.318.1.1.12.1.16.0"], + "unit": "W" + } + } + }], + "type": "pdu", + "uid": "clustera-pdu4", + "vendor": "APC" + } + }, + "compilation_server": false, + "description": "Grid5000 Fakesite site", + "email_contact": "support-staff@lists.grid5000.fr", + "frontend_ip": "172.16.79.101", + "g5ksubnet": { + "gateway": "10.147.255.254", + "network": "10.144.0.0/14" + }, + "latitude": 48.7, + "location": "Fakesite, France", + "longitude": 6.2, + "name": "Fakesite", + "production": true, + "renater_ip": "192.168.4.14", + "security_contact": "support-staff@lists.grid5000.fr", + "storage5k": false, + "sys_admin_contact": "support-staff@lists.grid5000.fr", + "type": "site", + "uid": "fakesite", + "user_support_contact": "support-staff@lists.grid5000.fr", + "virt_ip_range": "10.144.0.0/14", + "web": "http://www.grid5000.fr/mediawiki/index.php/Fakesite:Home" + } + }, + "network_equipments": { + "renater-lyon": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-paris" + }, { + "uid": "renater-sophia" + }, { + "uid": "renater-grenoble" + }, { + "uid": "renater-nantes" + }, { + "kind": "router", + "site_uid": "lyon", + "uid": "gw-lyon" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-lyon", + "weathermap": {} + }, + "renater-grenoble": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-lyon" + }, { + "kind": "router", + "site_uid": "grenoble", + "uid": "gw-grenoble" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-grenoble", + "weathermap": {} + }, + "renater-nancy": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-luxembourg" + }, { + "uid": "renater-paris" + }, { + "kind": "router", + "site_uid": "nancy", + "uid": "gw-nancy" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-nancy", + "weathermap": {} + }, + "renater-luxembourg": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-nancy" + }, { + "kind": "router", + "site_uid": "luxembourg", + "uid": "gw-luxembourg" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-luxembourg", + "weathermap": {} + }, + "renater-sophia": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-lyon" + }, { + "kind": "router", + "site_uid": "sophia", + "uid": "gw-sophia" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-sophia", + "weathermap": {} + }, + "renater-paris": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-lille" + }, { + "uid": "renater-lyon" + }, { + "uid": "renater-nancy" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-paris", + "weathermap": {} + }, + "renater-rennes": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-nantes" + }, { + "kind": "router", + "site_uid": "rennes", + "uid": "gw-rennes" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-rennes", + "weathermap": {} + }, + "renater-nantes": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-lyon" + }, { + "uid": "renater-rennes" + }, { + "kind": "router", + "site_uid": "nantes", + "uid": "gw-nantes" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-nantes", + "weathermap": {} + }, + "renater-lille": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-paris" + }, { + "kind": "router", + "site_uid": "lille", + "uid": "gw-lille" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-lille", + "weathermap": {} + } + }, + "type": "grid", + "uid": "grid5000" +} diff --git a/spec/stub_oar_properties/load_data_hierarchy_stubbed_data_wattmeters_variations.json b/spec/stub_oar_properties/load_data_hierarchy_stubbed_data_wattmeters_variations.json new file mode 100644 index 00000000000..8242e474aa4 --- /dev/null +++ b/spec/stub_oar_properties/load_data_hierarchy_stubbed_data_wattmeters_variations.json @@ -0,0 +1,815 @@ +{ + "sites": { + "fakesite": { + "clusters": { + "clustera": { + "nodes": { + "clustera-1": { + "architecture": { + "nb_cores": 16, + "nb_procs": 2, + "nb_threads": 32, + "platform_type": "x86_64", + "cpu_core_numbering": "contiguous" + }, + "bios": { + "release_date": "06/14/2019", + "vendor": "Dell Inc.", + "version": "2.2.11" + }, + "chassis": { + "manufacturer": "Dell Inc.", + "name": "PowerEdge T640", + "serial": "FL1CBX2" + }, + "gpu": { + "gpu": true, + "gpu_cores": 17408, + "gpu_count": 4, + "gpu_model": "RTX 2080 Ti", + "gpu_vendor": "Nvidia" + }, + "gpu_devices": { + "nvidia0": { + "cpu_affinity": 0, + "device": "/dev/nvidia0", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.B2", + "vendor": "Nvidia" + }, + "nvidia1": { + "cpu_affinity": 0, + "device": "/dev/nvidia1", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.B2", + "vendor": "Nvidia" + }, + "nvidia2": { + "cpu_affinity": 1, + "device": "/dev/nvidia2", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.0B.40.09", + "vendor": "Nvidia" + }, + "nvidia3": { + "cpu_affinity": 1, + "device": "/dev/nvidia3", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.B2", + "vendor": "Nvidia" + } + }, + "main_memory": { + "ram_size": 137438953472 + }, + "monitoring": { + "wattmeter": "true" + }, + "network_adapters": [{ + "bridged": false, + "device": "eth0", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:3f:64", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno1", + "vendor": "Broadcom" + }, { + "bridged": false, + "device": "eth1", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:3f:65", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno2d1", + "vendor": "Broadcom" + }, { + "bridged": true, + "device": "eth2", + "driver": "i40e", + "enabled": true, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "ip": "172.16.64.1", + "mac": "f8:f2:1e:60:41:20", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": true, + "mounted": true, + "name": "enp137s0f0", + "network_address": "clustera-1.fakesite.grid5000.fr", + "rate": 10000000000, + "switch": "gw-fakesite", + "switch_port": "Ethernet6/39", + "vendor": "Intel" + }, { + "bridged": false, + "device": "eth3", + "driver": "i40e", + "enabled": false, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "mac": "f8:f2:1e:60:41:21", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": false, + "mounted": false, + "name": "enp137s0f1", + "vendor": "Intel" + }, { + "device": "bmc", + "enabled": true, + "interface": "Ethernet", + "ip": "172.17.64.1", + "mac": "f4:02:70:9a:3f:74", + "management": true, + "mountable": false, + "mounted": false, + "network_address": "clustera-1-bmc.fakesite.grid5000.fr" + }], + "operating_system": { + "cstate_driver": "intel_idle", + "cstate_governor": "menu", + "ht_enabled": true, + "pstate_driver": "intel_pstate", + "pstate_governor": "performance", + "turboboost_enabled": true + }, + "performance": { + "core_flops": 17713000000, + "node_flops": 202670000000 + }, + "processor": { + "cache_l1": null, + "cache_l1d": 32768, + "cache_l1i": 32768, + "cache_l2": 1048576, + "cache_l3": 11534336, + "clock_speed": 2100000000, + "ht_capable": true, + "instruction_set": "x86-64", + "microarchitecture": "Skylake", + "model": "Intel Xeon", + "other_description": "Intel(R) Xeon(R) Silver 4110 CPU @ 2.10GHz", + "vendor": "Intel", + "version": "Silver 4110" + }, + "sensors": { + "power": { + "available": true, + "via": { + "api": { + "metric": "power" + }, + "pdu": [{ + "port": 1, + "uid": "clustera-pdu1" + }, { + "port": 1, + "uid": "clustera-pdu2" + }] + } + } + }, + "storage_devices": [{ + "by_id": "/dev/disk/by-id/wwn-0x6f402700aefea00024afe4c307e10af8", + "by_path": "/dev/disk/by-path/pci-0000:19:00.0-scsi-0:2:0:0", + "device": "sda", + "driver": "megaraid_sas", + "firmware_version": 4.29, + "interface": "SATA", + "model": "PERC H330 Adp", + "size": 479559942144, + "storage": "SSD", + "vendor": "Dell (Raid)" + }], + "supported_job_types": { + "besteffort": true, + "deploy": true, + "max_walltime": 86400, + "queues": ["admin", "production"], + "virtual": "ivt" + }, + "type": "node", + "uid": "clustera-1" + }, + "clustera-2": { + "architecture": { + "nb_cores": 16, + "nb_procs": 2, + "nb_threads": 32, + "platform_type": "x86_64", + "cpu_core_numbering": "contiguous" + }, + "bios": { + "release_date": "06/14/2019", + "vendor": "Dell Inc.", + "version": "2.2.11" + }, + "chassis": { + "manufacturer": "Dell Inc.", + "name": "PowerEdge T640", + "serial": "9L1CBX2" + }, + "gpu": { + "gpu": true, + "gpu_cores": 17408, + "gpu_count": 4, + "gpu_model": "RTX 2080 Ti", + "gpu_vendor": "Nvidia" + }, + "gpu_devices": { + "nvidia0": { + "cpu_affinity": 0, + "device": "/dev/nvidia0", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.B2", + "vendor": "Nvidia" + }, + "nvidia1": { + "cpu_affinity": 0, + "device": "/dev/nvidia1", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.0B.40.09", + "vendor": "Nvidia" + }, + "nvidia2": { + "cpu_affinity": 1, + "device": "/dev/nvidia2", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.0B.40.09", + "vendor": "Nvidia" + }, + "nvidia3": { + "cpu_affinity": 1, + "device": "/dev/nvidia3", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.AC", + "vendor": "Nvidia" + } + }, + "main_memory": { + "ram_size": 137438953472 + }, + "monitoring": { + "wattmeter": "false" + }, + "network_adapters": [{ + "bridged": false, + "device": "eth0", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:48:d8", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno1", + "vendor": "Broadcom" + }, { + "bridged": false, + "device": "eth1", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:48:d9", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno2d1", + "vendor": "Broadcom" + }, { + "bridged": true, + "device": "eth2", + "driver": "i40e", + "enabled": true, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "ip": "172.16.64.2", + "mac": "f8:f2:1e:60:3f:a0", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": true, + "mounted": true, + "name": "enp137s0f0", + "network_address": "clustera-2.fakesite.grid5000.fr", + "rate": 10000000000, + "switch": "gw-fakesite", + "switch_port": "Ethernet6/40", + "vendor": "Intel" + }, { + "bridged": false, + "device": "eth3", + "driver": "i40e", + "enabled": false, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "mac": "f8:f2:1e:60:3f:a1", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": false, + "mounted": false, + "name": "enp137s0f1", + "vendor": "Intel" + }, { + "device": "bmc", + "enabled": true, + "interface": "Ethernet", + "ip": "172.17.64.2", + "mac": "f4:02:70:9a:48:e8", + "management": true, + "mountable": false, + "mounted": false, + "network_address": "clustera-2-bmc.fakesite.grid5000.fr" + }], + "operating_system": { + "cstate_driver": "intel_idle", + "cstate_governor": "menu", + "ht_enabled": true, + "pstate_driver": "intel_pstate", + "pstate_governor": "performance", + "turboboost_enabled": true + }, + "performance": { + "core_flops": 17713000000, + "node_flops": 202670000000 + }, + "processor": { + "cache_l1": null, + "cache_l1d": 32768, + "cache_l1i": 32768, + "cache_l2": 1048576, + "cache_l3": 11534336, + "clock_speed": 2100000000, + "ht_capable": true, + "instruction_set": "x86-64", + "microarchitecture": "Skylake", + "model": "Intel Xeon", + "other_description": "Intel(R) Xeon(R) Silver 4110 CPU @ 2.10GHz", + "vendor": "Intel", + "version": "Silver 4110" + }, + "sensors": { + "power": { + "available": true, + "via": { + "api": { + "metric": "power" + }, + "pdu": [{ + "port": 6, + "uid": "clustera-pdu1" + }, { + "port": 6, + "uid": "clustera-pdu2" + }] + } + } + }, + "storage_devices": [{ + "by_id": "/dev/disk/by-id/wwn-0x6f402700aeff430024929b4003cd51d0", + "by_path": "/dev/disk/by-path/pci-0000:19:00.0-scsi-0:2:0:0", + "device": "sda", + "driver": "megaraid_sas", + "firmware_version": 4.29, + "interface": "SATA", + "model": "PERC H330 Adp", + "size": 479559942144, + "storage": "SSD", + "vendor": "Dell (Raid)" + }], + "supported_job_types": { + "besteffort": true, + "deploy": true, + "max_walltime": 86400, + "queues": ["admin", "production"], + "virtual": "ivt" + }, + "type": "node", + "uid": "clustera-2" + } + }, + "created_at": "Fri, 07 Jun 2019 00:00:00 GMT", + "kavlan": false, + "model": "Dell PowerEdge T640", + "queues": ["admin", "production"], + "type": "cluster", + "uid": "clustera" + } + }, + "network_equipments": { + "gw-fakesite": { + "backplane_bps": 1280000000000, + "kind": "router", + "linecards": [{}, {}, {}, {}, {}, {}, { + "backplane_bps": 1280000000000, + "kavlan_pattern": "Ethernet%LINECARD%/%PORT%", + "kind": "node", + "model": "N9K-X9464PX", + "ports": [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, { + "kind": "node", + "port": "eth2", + "uid": "clustera-1" + }, { + "kind": "node", + "port": "eth2", + "uid": "clustera-2" + }], + "rate": 10000000000, + "snmp_pattern": "Ethernet%LINECARD%/%PORT%" + }], + "model": "Cisco Nexus 9508", + "monitoring": { + "metric": "power", + "wattmeter": "multiple" + }, + "sensors": { + "network": { + "available": true, + "resolution": 10 + }, + "power": { + "available": true, + "resolution": 1, + "via": { + "pdu": [{ + "port": 8, + "uid": "graoully-pdu1" + }, { + "port": 8, + "uid": "graoully-pdu2" + }, { + "port": 8, + "uid": "grimoire-pdu1" + }, { + "port": 8, + "uid": "grimoire-pdu2" + }] + } + } + }, + "site": "fakesite", + "snmp_community": "public", + "type": "network_equipment", + "uid": "gw-fakesite", + "vlans": { + "vlan100": { + "addresses": ["172.16.79.254"], + "administrative": true + }, + "vlan101": { + "addresses": ["172.17.79.254"] + }, + "vlan500": { + "addresses": ["192.168.4.14"] + }, + "vlan701": { + "addresses": ["192.168.192.0/20"], + "name": "kavlan-1" + }, + "vlan702": { + "addresses": ["192.168.208.0/20"], + "name": "kavlan-2" + }, + "vlan703": { + "addresses": ["192.168.224.0/20"], + "name": "kavlan-3" + }, + "vlan704": { + "addresses": ["10.16.0.0/18"], + "name": "kavlan-4" + }, + "vlan705": { + "addresses": ["10.16.64.0/18"], + "name": "kavlan-5" + }, + "vlan706": { + "addresses": ["10.16.128.0/18"], + "name": "kavlan-6" + }, + "vlan707": { + "addresses": ["10.16.192.0/18"], + "name": "kavlan-7" + }, + "vlan708": { + "addresses": ["10.17.0.0/18"], + "name": "kavlan-8" + }, + "vlan709": { + "addresses": ["10.17.64.0/18"], + "name": "kavlan-9" + }, + "vlan714": { + "addresses": ["10.19.192.0/18"], + "name": "kavlan-14" + } + }, + "warranty": "2020-09-01", + "weathermap": {} + } + }, + "pdus": { + "clustera-pdu1": { + "ip": "172.17.79.226", + "mac": "28:29:86:0B:3B:06", + "model": "AP8653", + "ports": { + "1": "clustera-1", + "6": "clustera-2" + }, + "sensors": [{ + "power": { + "per_outlets": true, + "resolution": 1, + "snmp": { + "available": true, + "outlet_prefix_oid": "iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7", + "total_oids": ["iso.3.6.1.4.1.318.1.1.12.1.16.0"], + "unit": "W" + } + } + }], + "type": "pdu", + "uid": "clustera-pdu1", + "vendor": "APC" + }, + "clustera-pdu3": { + "ip": "172.17.79.231", + "mac": "28:29:86:12:27:FF", + "model": "AP8653", + "ports": {}, + "sensors": [{ + "power": { + "per_outlets": true, + "resolution": 1, + "snmp": { + "available": true, + "outlet_prefix_oid": "iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7", + "total_oids": ["iso.3.6.1.4.1.318.1.1.12.1.16.0"], + "unit": "W" + } + } + }], + "type": "pdu", + "uid": "clustera-pdu3", + "vendor": "APC" + }, + "clustera-pdu2": { + "ip": "172.17.79.227", + "mac": "28:29:86:10:0E:8C", + "model": "AP8653", + "ports": { + "1": "clustera-1", + "6": "clustera-2" + }, + "sensors": [{ + "power": { + "per_outlets": true, + "resolution": 1, + "snmp": { + "available": true, + "outlet_prefix_oid": "iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7", + "total_oids": ["iso.3.6.1.4.1.318.1.1.12.1.16.0"], + "unit": "W" + } + } + }], + "type": "pdu", + "uid": "clustera-pdu2", + "vendor": "APC" + }, + "clustera-pdu4": { + "ip": "172.17.79.232", + "mac": "28:29:86:10:0E:B4", + "model": "AP8653", + "ports": {}, + "sensors": [{ + "power": { + "per_outlets": true, + "resolution": 1, + "snmp": { + "available": true, + "outlet_prefix_oid": "iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7", + "total_oids": ["iso.3.6.1.4.1.318.1.1.12.1.16.0"], + "unit": "W" + } + } + }], + "type": "pdu", + "uid": "clustera-pdu4", + "vendor": "APC" + } + }, + "compilation_server": false, + "description": "Grid5000 Fakesite site", + "email_contact": "support-staff@lists.grid5000.fr", + "frontend_ip": "172.16.79.101", + "g5ksubnet": { + "gateway": "10.147.255.254", + "network": "10.144.0.0/14" + }, + "latitude": 48.7, + "location": "Fakesite, France", + "longitude": 6.2, + "name": "Fakesite", + "production": true, + "renater_ip": "192.168.4.14", + "security_contact": "support-staff@lists.grid5000.fr", + "storage5k": false, + "sys_admin_contact": "support-staff@lists.grid5000.fr", + "type": "site", + "uid": "fakesite", + "user_support_contact": "support-staff@lists.grid5000.fr", + "virt_ip_range": "10.144.0.0/14", + "web": "http://www.grid5000.fr/mediawiki/index.php/Fakesite:Home" + } + }, + "network_equipments": { + "renater-lyon": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-paris" + }, { + "uid": "renater-sophia" + }, { + "uid": "renater-grenoble" + }, { + "uid": "renater-nantes" + }, { + "kind": "router", + "site_uid": "lyon", + "uid": "gw-lyon" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-lyon", + "weathermap": {} + }, + "renater-grenoble": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-lyon" + }, { + "kind": "router", + "site_uid": "grenoble", + "uid": "gw-grenoble" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-grenoble", + "weathermap": {} + }, + "renater-nancy": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-luxembourg" + }, { + "uid": "renater-paris" + }, { + "kind": "router", + "site_uid": "nancy", + "uid": "gw-nancy" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-nancy", + "weathermap": {} + }, + "renater-luxembourg": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-nancy" + }, { + "kind": "router", + "site_uid": "luxembourg", + "uid": "gw-luxembourg" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-luxembourg", + "weathermap": {} + }, + "renater-sophia": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-lyon" + }, { + "kind": "router", + "site_uid": "sophia", + "uid": "gw-sophia" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-sophia", + "weathermap": {} + }, + "renater-paris": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-lille" + }, { + "uid": "renater-lyon" + }, { + "uid": "renater-nancy" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-paris", + "weathermap": {} + }, + "renater-rennes": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-nantes" + }, { + "kind": "router", + "site_uid": "rennes", + "uid": "gw-rennes" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-rennes", + "weathermap": {} + }, + "renater-nantes": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-lyon" + }, { + "uid": "renater-rennes" + }, { + "kind": "router", + "site_uid": "nantes", + "uid": "gw-nantes" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-nantes", + "weathermap": {} + }, + "renater-lille": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-paris" + }, { + "kind": "router", + "site_uid": "lille", + "uid": "gw-lille" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-lille", + "weathermap": {} + } + }, + "type": "grid", + "uid": "grid5000" +} -- GitLab From 877e9ba4a9f7dddcc2c964c3d42c3ccb409a7558 Mon Sep 17 00:00:00 2001 From: Jonathan Pastor <jonathancmoa@gmail.com> Date: Thu, 24 Oct 2019 17:48:10 +0200 Subject: [PATCH 35/57] spec test for DIFF action does not expect OAR commands to be in the output --- spec/oar_properties_spec.rb | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/spec/oar_properties_spec.rb b/spec/oar_properties_spec.rb index b144017dabf..947ed7e3673 100644 --- a/spec/oar_properties_spec.rb +++ b/spec/oar_properties_spec.rb @@ -1768,11 +1768,7 @@ TXT } expected_output = <<-TXT -# Error: Resource 9 (host=clustera-1.fakesite.grid5000.fr cpu=2 core=9 cpuset=8 gpu=2 gpudevice=2) has a mismatch for ressource GPU: API gives 2, generator wants 3. To fix this: -oarnodesetting --sql "resource_id='9' AND type='default'" -p gpu=3 -TXT - expected_output2 = <<-TXT -oarnodesetting --sql "resource_id='9' AND type='default'" -p gpu=3 +# Error: Resource 9 (host=clustera-1.fakesite.grid5000.fr cpu=2 core=9 cpuset=8 gpu=2 gpudevice=2) has a mismatch for ressource GPU: API gives 2, generator wants 3. TXT generator_output = capture do @@ -1780,7 +1776,6 @@ TXT end expect(generator_output[:stdout]).to include(expected_output) - expect(generator_output[:stdout]).to include(expected_output2) end end -- GitLab From 83cd39983b01d44b9d61a94a9314f87497ed00e7 Mon Sep 17 00:00:00 2001 From: Jonathan Pastor <jonathancmoa@gmail.com> Date: Thu, 24 Oct 2019 17:49:26 +0200 Subject: [PATCH 36/57] implement an other spec test for DIFF action --- spec/oar_properties_spec.rb | 87 + ...ar_api_configured_server_to_test_diff.json | 2446 +++++++++++++++++ 2 files changed, 2533 insertions(+) create mode 100644 spec/stub_oar_properties/dump_oar_api_configured_server_to_test_diff.json diff --git a/spec/oar_properties_spec.rb b/spec/oar_properties_spec.rb index 947ed7e3673..acd2147afbc 100644 --- a/spec/oar_properties_spec.rb +++ b/spec/oar_properties_spec.rb @@ -2068,4 +2068,91 @@ Properties that need to be created on the fakesite server: ib_rate expect(generator_output[:stdout]).to include(expected_output) end end + + context 'interracting with a configured OAR server (non reservable GPUs)' do + before do + prepare_stubs("dump_oar_api_configured_server.json", "load_data_hierarchy_stubbed_data_with_non_reservable_gpus.json") + end + + it 'should ignore the GPUs' do + + uri = URI(conf["uri"]) + + response = Net::HTTP.get(uri) + + expect(response).to be_an_instance_of(String) + + options = { + :table => true, + :print => false, + :update => false, + :diff => false, + :site => "fakesite", + :clusters => ["clustera"], + :verbose => 2 + } + + expected_output = <<-TXT +| clustera | clustera-1 | 1 | 1 | 0 | | | Intel Xeon Silver 4110 | | +| clustera | clustera-1 | 1 | 2 | 1 | | | Intel Xeon Silver 4110 | | +| clustera | clustera-1 | 1 | 3 | 2 | | | Intel Xeon Silver 4110 | | +| clustera | clustera-1 | 1 | 4 | 3 | | | Intel Xeon Silver 4110 | | + TXT + + not_expected_output = <<-TXT +GeForce RTX 2080 Ti + TXT + + generator_output = capture do + generate_oar_properties(options) + end + + expect(generator_output[:stdout]).to include(expected_output) + expect(generator_output[:stdout]).not_to include(not_expected_output) + end + end + + context 'interracting with a configured OAR server (misconfigured to test the "DIFF" action)' do + before do + prepare_stubs("dump_oar_api_configured_server_to_test_diff.json", "load_data_hierarchy_stubbed_data.json") + end + + it 'should ignore the GPUs' do + + uri = URI(conf["uri"]) + + response = Net::HTTP.get(uri) + + expect(response).to be_an_instance_of(String) + + options = { + :table => false, + :print => false, + :update => false, + :diff => true, + :site => "fakesite", + :clusters => ["clustera"], + :verbose => 2 + } + + expected_output = <<-TXT + clustera-2: + ["~", "eth_rate", 100, 10] + ["~", "gpu_count", 2, 4] + TXT + + expected_output2 = <<-TXT +# Error: Resource 4 (host=clustera-1.fakesite.grid5000.fr cpu=1 core=4 cpuset=2 gpu=2 gpudevice=1) has a mismatch for ressource CPUSET: API gives 2, generator wants 3. +# Error: Resource 4 (host=clustera-1.fakesite.grid5000.fr cpu=1 core=4 cpuset=2 gpu=2 gpudevice=1) has a mismatch for ressource GPU: API gives 2, generator wants 1. +# Error: Resource 4 (host=clustera-1.fakesite.grid5000.fr cpu=1 core=4 cpuset=2 gpu=2 gpudevice=1) has a mismatch for ressource GPUDEVICE: API gives 1, generator wants 0. + TXT + + generator_output = capture do + generate_oar_properties(options) + end + + expect(generator_output[:stdout]).to include(expected_output) + expect(generator_output[:stdout]).to include(expected_output2) + end + end end diff --git a/spec/stub_oar_properties/dump_oar_api_configured_server_to_test_diff.json b/spec/stub_oar_properties/dump_oar_api_configured_server_to_test_diff.json new file mode 100644 index 00000000000..838f500cdc7 --- /dev/null +++ b/spec/stub_oar_properties/dump_oar_api_configured_server_to_test_diff.json @@ -0,0 +1,2446 @@ +{ + "offset": 0, + "api_timestamp": 1568902577, + "items": [ + { + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "gpu": 1, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "cpuset": 0, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/1" + }, + { + "href": "//oarapi/resources/1/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "production": "YES", + "type": "default", + "opa_count": 0, + "id": 1, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 0, + "next_state": "UnChanged", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "drain": "NO", + "cpu": 1, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "memcpu": 65536, + "myri_count": 0, + "ip": "172.16.64.1", + "core": 1, + "myri": "NO", + "max_walltime": 86400, + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO" + }, + { + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "id": 2, + "opa_count": 0, + "type": "default", + "production": "YES", + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/2", + "rel": "self" + }, + { + "title": "jobs", + "href": "//oarapi/resources/2/jobs", + "rel": "collection" + } + ], + "cpuset": 1, + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "gpu": 1, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "myri_rate": 0, + "api_timestamp": 1568902577, + "cpucore": 8, + "scheduler_priority": 0, + "last_available_upto": 0, + "finaud_decision": "NO", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "max_walltime": 86400, + "myri": "NO", + "core": 2, + "myri_count": 0, + "ip": "172.16.64.1", + "memcpu": 65536, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpu": 1, + "drain": "NO", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 0, + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE" + }, + { + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "core": 3, + "ip": "172.16.64.1", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 1, + "drain": "NO", + "memcpu": 65536, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "eth_count": 1, + "switch": "gw-fakesite", + "gpudevice": 0, + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_state": "UnChanged", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "cpuset": 2, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/3" + }, + { + "title": "jobs", + "href": "//oarapi/resources/3/jobs", + "rel": "collection" + } + ], + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "opa_count": 0, + "id": 3, + "type": "default", + "production": "YES", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 1, + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "last_available_upto": 0, + "finaud_decision": "NO", + "myri_rate": 0, + "api_timestamp": 1568902577, + "cpucore": 8, + "scheduler_priority": 0 + }, + { + "cpu": 1, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "drain": "NO", + "memcpu": 65536, + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO", + "max_walltime": 86400, + "myri": "NO", + "ip": "172.16.64.1", + "myri_count": 0, + "core": 4, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 1, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "next_state": "UnChanged", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "available_upto": 2147483647, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "rel": "member" + }, + { + "href": "//oarapi/resources/4", + "rel": "self" + }, + { + "href": "//oarapi/resources/4/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "cpuset": 2, + "besteffort": "YES", + "ib_rate": 0, + "id": 4, + "opa_count": 0, + "production": "YES", + "type": "default", + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "scheduler_priority": 0, + "cpucore": 8, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 2, + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive" + }, + { + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "type": "default", + "production": "YES", + "opa_count": 0, + "id": 5, + "ib_rate": 0, + "besteffort": "YES", + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node" + }, + { + "rel": "self", + "href": "//oarapi/resources/5" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/5/jobs" + } + ], + "cpuset": 4, + "available_upto": 2147483647, + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "gpu": 2, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "cpucore": 8, + "scheduler_priority": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "finaud_decision": "NO", + "last_available_upto": 0, + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "suspended_jobs": "NO", + "ib": "NO", + "disk_reservation_count": 0, + "myri_count": 0, + "ip": "172.16.64.1", + "core": 5, + "myri": "NO", + "max_walltime": 86400, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "memcpu": 65536, + "drain": "NO", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 1, + "switch": "gw-fakesite", + "eth_count": 1, + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "next_state": "UnChanged", + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 1, + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr" + }, + { + "opa_count": 0, + "id": 6, + "type": "default", + "production": "YES", + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node" + }, + { + "href": "//oarapi/resources/6", + "rel": "self" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/6/jobs" + } + ], + "cpuset": 5, + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "scheduler_priority": 0, + "cpucore": 8, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 2, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "memcpu": 65536, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpu": 1, + "drain": "NO", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "ip": "172.16.64.1", + "core": 6, + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 1, + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0 + }, + { + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "gpu": 2, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "scheduler_priority": 0, + "cpucore": 8, + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "opa": "NO", + "eth_rate": 10, + "available_upto": 2147483647, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/7", + "rel": "self" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/7/jobs" + } + ], + "cpuset": 6, + "besteffort": "YES", + "ib_rate": 0, + "opa_count": 0, + "id": 7, + "production": "YES", + "type": "default", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "gpudevice": 1, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "next_state": "UnChanged", + "max_walltime": 86400, + "myri": "NO", + "myri_count": 0, + "core": 7, + "ip": "172.16.64.1", + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "cpu": 1, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "drain": "NO", + "memcpu": 65536, + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO" + }, + { + "api_timestamp": 1568902577, + "myri_rate": 0, + "scheduler_priority": 0, + "cpucore": 8, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 2, + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "id": 8, + "opa_count": 0, + "production": "YES", + "type": "default", + "available_upto": 2147483647, + "cpuset": 7, + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node" + }, + { + "href": "//oarapi/resources/8", + "rel": "self" + }, + { + "rel": "collection", + "href": "//oarapi/resources/8/jobs", + "title": "jobs" + } + ], + "besteffort": "YES", + "ib_rate": 0, + "last_job_date": 0, + "opa": "NO", + "eth_rate": 10, + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "next_state": "UnChanged", + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 1, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "memcpu": 65536, + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "cpu": 1, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "drain": "NO", + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "myri": "NO", + "max_walltime": 86400, + "core": 8, + "myri_count": 0, + "ip": "172.16.64.1" + }, + { + "finaud_decision": "NO", + "last_available_upto": 0, + "scheduler_priority": 0, + "cpucore": 8, + "api_timestamp": 1568902577, + "myri_rate": 0, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "gpu": 3, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node" + }, + { + "rel": "self", + "href": "//oarapi/resources/9" + }, + { + "rel": "collection", + "href": "//oarapi/resources/9/jobs", + "title": "jobs" + } + ], + "cpuset": 8, + "production": "YES", + "type": "default", + "id": 9, + "opa_count": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "gpudevice": 2, + "next_state": "UnChanged", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "drain": "NO", + "cpu": 2, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO", + "memcpu": 65536, + "myri_count": 0, + "core": 9, + "ip": "172.16.64.1", + "myri": "NO", + "max_walltime": 86400, + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO" + }, + { + "drain": "NO", + "cpu": 2, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "memcpu": 65536, + "myri_count": 0, + "core": 10, + "ip": "172.16.64.1", + "max_walltime": 86400, + "myri": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "gpudevice": 2, + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "links": [ + { + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node", + "rel": "member" + }, + { + "href": "//oarapi/resources/10", + "rel": "self" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/10/jobs" + } + ], + "cpuset": 9, + "production": "YES", + "type": "default", + "id": 10, + "opa_count": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "gpu": 3 + }, + { + "cpu": 2, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "drain": "NO", + "memcpu": 65536, + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "myri": "NO", + "max_walltime": 86400, + "core": 11, + "myri_count": 0, + "ip": "172.16.64.1", + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "gpudevice": 2, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "next_state": "UnChanged", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "available_upto": 2147483647, + "cpuset": 10, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/11", + "rel": "self" + }, + { + "title": "jobs", + "href": "//oarapi/resources/11/jobs", + "rel": "collection" + } + ], + "besteffort": "YES", + "ib_rate": 0, + "id": 11, + "opa_count": 0, + "production": "YES", + "type": "default", + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "scheduler_priority": 0, + "cpucore": 8, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 3, + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive" + }, + { + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 2, + "switch": "gw-fakesite", + "eth_count": 1, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "memcpu": 65536, + "drain": "NO", + "cpu": 2, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "myri_count": 0, + "ip": "172.16.64.1", + "core": 12, + "myri": "NO", + "max_walltime": 86400, + "scheduler_priority": 0, + "cpucore": 8, + "api_timestamp": 1568902577, + "myri_rate": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "gpu": 3, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "production": "YES", + "type": "default", + "opa_count": 0, + "id": 12, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "links": [ + { + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node", + "rel": "member" + }, + { + "href": "//oarapi/resources/12", + "rel": "self" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/12/jobs" + } + ], + "cpuset": 11, + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072 + }, + { + "core": 13, + "myri_count": 0, + "ip": "172.16.64.1", + "myri": "NO", + "max_walltime": 86400, + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "suspended_jobs": "NO", + "ib": "NO", + "disk_reservation_count": 0, + "drain": "NO", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 2, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "memcpu": 65536, + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 3, + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "next_state": "UnChanged", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "ib_rate": 0, + "besteffort": "YES", + "cpuset": 12, + "links": [ + { + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/13" + }, + { + "href": "//oarapi/resources/13/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "available_upto": 2147483647, + "type": "default", + "production": "YES", + "id": 13, + "opa_count": 0, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "gpu": 4, + "finaud_decision": "NO", + "last_available_upto": 0, + "scheduler_priority": 0, + "cpucore": 8, + "myri_rate": 0, + "api_timestamp": 1568902577 + }, + { + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "gpu": 4, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "cpuset": 13, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "rel": "self", + "href": "//oarapi/resources/14" + }, + { + "rel": "collection", + "href": "//oarapi/resources/14/jobs", + "title": "jobs" + } + ], + "production": "YES", + "type": "default", + "id": 14, + "opa_count": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 3, + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "drain": "NO", + "cpu": 2, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO", + "memcpu": 65536, + "myri_count": 0, + "ip": "172.16.64.1", + "core": 14, + "max_walltime": 86400, + "myri": "NO", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO" + }, + { + "memcpu": 65536, + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "cpu": 2, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "drain": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "max_walltime": 86400, + "myri": "NO", + "myri_count": 0, + "core": 15, + "ip": "172.16.64.1", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "next_state": "UnChanged", + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "gpudevice": 3, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "opa_count": 0, + "id": 15, + "production": "YES", + "type": "default", + "available_upto": 2147483647, + "cpuset": 14, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "rel": "self", + "href": "//oarapi/resources/15" + }, + { + "href": "//oarapi/resources/15/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "besteffort": "YES", + "ib_rate": 0, + "last_job_date": 0, + "opa": "NO", + "eth_rate": 10, + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "cpucore": 8, + "scheduler_priority": 0, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 4, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0 + }, + { + "last_available_upto": 0, + "finaud_decision": "NO", + "myri_rate": 0, + "api_timestamp": 1568902577, + "scheduler_priority": 0, + "cpucore": 8, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 4, + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "cpuset": 15, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/16", + "rel": "self" + }, + { + "href": "//oarapi/resources/16/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "opa_count": 0, + "id": 16, + "type": "default", + "production": "YES", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "gpudevice": 3, + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_state": "UnChanged", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "eth_count": 1, + "switch": "gw-fakesite", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 2, + "drain": "NO", + "memcpu": 65536, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "ip": "172.16.64.1", + "core": 16, + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1 + }, + { + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 0, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "next_state": "UnChanged", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "cpu": 3, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "drain": "NO", + "memcpu": 65536, + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "core": 17, + "ip": "172.16.64.2", + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "scheduler_priority": 0, + "cpucore": 8, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "gpu": 5, + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "available_upto": 2147483647, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "href": "//oarapi/resources/17", + "rel": "self" + }, + { + "title": "jobs", + "href": "//oarapi/resources/17/jobs", + "rel": "collection" + } + ], + "cpuset": 0, + "besteffort": "YES", + "ib_rate": 0, + "opa_count": 0, + "id": 17, + "production": "YES", + "type": "default", + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO" + }, + { + "max_walltime": 86400, + "myri": "NO", + "myri_count": 0, + "ip": "172.16.64.2", + "core": 18, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "cpu": 3, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "drain": "NO", + "memcpu": 65536, + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "gpudevice": 0, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "next_state": "UnChanged", + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "available_upto": 2147483647, + "cpuset": 1, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/18", + "rel": "self" + }, + { + "href": "//oarapi/resources/18/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "besteffort": "YES", + "ib_rate": 0, + "opa_count": 0, + "id": 18, + "production": "YES", + "type": "default", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 5, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "cpucore": 8, + "scheduler_priority": 0 + }, + { + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "type": "default", + "production": "YES", + "opa_count": 0, + "id": 19, + "ib_rate": 0, + "besteffort": "YES", + "cpuset": 2, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "rel": "self", + "href": "//oarapi/resources/19" + }, + { + "href": "//oarapi/resources/19/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "available_upto": 2147483647, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "gpu": 5, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "cpucore": 8, + "scheduler_priority": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "finaud_decision": "NO", + "last_available_upto": 0, + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "myri_count": 0, + "ip": "172.16.64.2", + "core": 19, + "max_walltime": 86400, + "myri": "NO", + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "memcpu": 65536, + "drain": "NO", + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpu": 3, + "switch": "gw-fakesite", + "eth_count": 1, + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "next_state": "UnChanged", + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 0, + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64" + }, + { + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "gpu": 5, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "scheduler_priority": 0, + "cpucore": 8, + "myri_rate": 0, + "api_timestamp": 1568902577, + "finaud_decision": "NO", + "last_available_upto": 0, + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "type": "default", + "production": "YES", + "id": 20, + "opa_count": 0, + "ib_rate": 0, + "besteffort": "YES", + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/20" + }, + { + "href": "//oarapi/resources/20/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "cpuset": 3, + "available_upto": 2147483647, + "switch": "gw-fakesite", + "eth_count": 1, + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "next_state": "UnChanged", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 0, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "myri_count": 0, + "core": 20, + "ip": "172.16.64.2", + "max_walltime": 86400, + "myri": "NO", + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "memcpu": 65536, + "drain": "NO", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 3 + }, + { + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 1, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "memcpu": 65536, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 3, + "drain": "NO", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "core": 21, + "ip": "172.16.64.2", + "myri_rate": 0, + "api_timestamp": 1568902577, + "scheduler_priority": 0, + "cpucore": 8, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 6, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "opa_count": 0, + "id": 21, + "type": "default", + "production": "YES", + "cpuset": 4, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/21" + }, + { + "rel": "collection", + "href": "//oarapi/resources/21/jobs", + "title": "jobs" + } + ], + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "last_job_date": 0, + "opa": "NO", + "eth_rate": 10, + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0 + }, + { + "opa_count": 0, + "id": 22, + "type": "default", + "production": "YES", + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "rel": "self", + "href": "//oarapi/resources/22" + }, + { + "title": "jobs", + "href": "//oarapi/resources/22/jobs", + "rel": "collection" + } + ], + "cpuset": 5, + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "scheduler_priority": 0, + "cpucore": 8, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 6, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "memcpu": 65536, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpu": 3, + "drain": "NO", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "max_walltime": 86400, + "myri": "NO", + "core": 22, + "myri_count": 0, + "ip": "172.16.64.2", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 1, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0 + }, + { + "gpudevice": 1, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_state": "UnChanged", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "eth_count": 1, + "switch": "gw-fakesite", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 3, + "drain": "NO", + "memcpu": 65536, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "max_walltime": 86400, + "myri": "NO", + "ip": "172.16.64.2", + "myri_count": 0, + "core": 23, + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "last_available_upto": 0, + "finaud_decision": "NO", + "myri_rate": 0, + "api_timestamp": 1568902577, + "scheduler_priority": 0, + "cpucore": 8, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 6, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/23" + }, + { + "rel": "collection", + "href": "//oarapi/resources/23/jobs", + "title": "jobs" + } + ], + "cpuset": 6, + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "id": 23, + "opa_count": 0, + "type": "default", + "production": "YES", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO" + }, + { + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 1, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "next_state": "UnChanged", + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "ip": "172.16.64.2", + "core": 24, + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "cpu": 3, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "drain": "NO", + "memcpu": 65536, + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 6, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "cpucore": 8, + "scheduler_priority": 0, + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "opa": "NO", + "eth_rate": 10, + "available_upto": 2147483647, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/24", + "rel": "self" + }, + { + "rel": "collection", + "href": "//oarapi/resources/24/jobs", + "title": "jobs" + } + ], + "cpuset": 7, + "besteffort": "YES", + "ib_rate": 0, + "opa_count": 0, + "id": 24, + "production": "YES", + "type": "default" + }, + { + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 2, + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "next_state": "UnChanged", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "drain": "NO", + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpu": 4, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "memcpu": 65536, + "myri_count": 0, + "ip": "172.16.64.2", + "core": 25, + "myri": "NO", + "max_walltime": 86400, + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "gpu": 7, + "ib_rate": 0, + "besteffort": "YES", + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/25", + "rel": "self" + }, + { + "href": "//oarapi/resources/25/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "cpuset": 8, + "available_upto": 2147483647, + "type": "default", + "production": "YES", + "opa_count": 0, + "id": 25, + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0 + }, + { + "id": 26, + "opa_count": 0, + "type": "default", + "production": "YES", + "cpuset": 9, + "links": [ + { + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "title": "node", + "rel": "member" + }, + { + "href": "//oarapi/resources/26", + "rel": "self" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/26/jobs" + } + ], + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "cpucore": 8, + "scheduler_priority": 0, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 7, + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "memcpu": 65536, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 4, + "drain": "NO", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "max_walltime": 86400, + "myri": "NO", + "core": 26, + "myri_count": 0, + "ip": "172.16.64.2", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 2, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0 + }, + { + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "ib_rate": 0, + "besteffort": "YES", + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "title": "node" + }, + { + "rel": "self", + "href": "//oarapi/resources/27" + }, + { + "href": "//oarapi/resources/27/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "cpuset": 10, + "available_upto": 2147483647, + "type": "default", + "production": "YES", + "opa_count": 0, + "id": 27, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "gpu": 7, + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "core": 27, + "myri_count": 0, + "ip": "172.16.64.2", + "myri": "NO", + "max_walltime": 86400, + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "suspended_jobs": "NO", + "ib": "NO", + "disk_reservation_count": 0, + "drain": "NO", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 4, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "memcpu": 65536, + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "gpudevice": 2, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "next_state": "UnChanged", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO" + }, + { + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "gpudevice": 2, + "switch": "gw-fakesite", + "eth_count": 1, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "memcpu": 65536, + "drain": "NO", + "cpu": 4, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "core": 28, + "myri_count": 0, + "ip": "172.16.64.2", + "max_walltime": 86400, + "myri": "NO", + "cpucore": 8, + "scheduler_priority": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "gpu": 7, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "production": "YES", + "type": "default", + "opa_count": 0, + "id": 28, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/28", + "rel": "self" + }, + { + "rel": "collection", + "href": "//oarapi/resources/28/jobs", + "title": "jobs" + } + ], + "cpuset": 11, + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072 + }, + { + "drain": "NO", + "cpu": 4, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO", + "memcpu": 65536, + "core": 29, + "myri_count": 0, + "ip": "172.16.64.2", + "myri": "NO", + "max_walltime": 86400, + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 3, + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "title": "node" + }, + { + "rel": "self", + "href": "//oarapi/resources/29" + }, + { + "rel": "collection", + "href": "//oarapi/resources/29/jobs", + "title": "jobs" + } + ], + "cpuset": 12, + "production": "YES", + "type": "default", + "id": 29, + "opa_count": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "gpu": 8 + }, + { + "gpu": 8, + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "myri_rate": 0, + "api_timestamp": 1568902577, + "cpucore": 8, + "scheduler_priority": 0, + "last_available_upto": 0, + "finaud_decision": "NO", + "last_job_date": 0, + "opa": "NO", + "eth_rate": 10, + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "id": 30, + "opa_count": 0, + "type": "default", + "production": "YES", + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/30" + }, + { + "title": "jobs", + "href": "//oarapi/resources/30/jobs", + "rel": "collection" + } + ], + "cpuset": 13, + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 3, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "suspended_jobs": "NO", + "ib": "NO", + "disk_reservation_count": 0, + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "max_walltime": 86400, + "myri": "NO", + "myri_count": 0, + "core": 30, + "ip": "172.16.64.2", + "memcpu": 65536, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 4, + "drain": "NO" + }, + { + "drain": "NO", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 4, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "memcpu": 65536, + "myri_count": 0, + "ip": "172.16.64.2", + "core": 31, + "max_walltime": 86400, + "myri": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 3, + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "next_state": "UnChanged", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "ib_rate": 0, + "besteffort": "YES", + "cpuset": 14, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/31" + }, + { + "href": "//oarapi/resources/31/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "available_upto": 2147483647, + "type": "default", + "production": "YES", + "opa_count": 0, + "id": 31, + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "gpu": 8 + }, + { + "switch": "gw-fakesite", + "eth_count": 1, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 2, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "gpudevice": 3, + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "myri_count": 0, + "core": 32, + "ip": "172.16.64.2", + "max_walltime": 86400, + "myri": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "memcpu": 65536, + "drain": "NO", + "cpu": 4, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "gpu": 8, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "scheduler_priority": 0, + "cpucore": 8, + "api_timestamp": 1568902577, + "myri_rate": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "opa": "NO", + "eth_rate": 100, + "last_job_date": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "production": "YES", + "type": "default", + "opa_count": 0, + "id": 32, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "cpuset": 15, + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "title": "node" + }, + { + "href": "//oarapi/resources/32", + "rel": "self" + }, + { + "rel": "collection", + "href": "//oarapi/resources/32/jobs", + "title": "jobs" + } + ] + } + ], + "total": 32, + "links": [ + { + "href": "//oarapi/resources/details.json?limit=999999&offset=0", + "rel": "self" + } + ] +} + -- GitLab From 00e67539308d4afff9506a88802e9a6b3a376f4d Mon Sep 17 00:00:00 2001 From: Jonathan Pastor <jonathancmoa@gmail.com> Date: Thu, 24 Oct 2019 18:17:46 +0200 Subject: [PATCH 37/57] take into account the 'reservable' property of gpudevices --- lib/refrepo/gen/oar-properties.rb | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/refrepo/gen/oar-properties.rb b/lib/refrepo/gen/oar-properties.rb index f0f18e0a4b7..9ad03139e06 100644 --- a/lib/refrepo/gen/oar-properties.rb +++ b/lib/refrepo/gen/oar-properties.rb @@ -959,8 +959,7 @@ def do_diff(options, generated_hierarchy, refrepo_properties) {:cpu => "cpu", :core => "core", :cpuset => "cpuset", :gpu => "gpu", :gpudevice => "gpudevice"}.each do |key, value| if row[key].to_s != corresponding_resource[0][value].to_s and not (key == :gpu and row[key].nil? and corresponding_resource[0][value] == 0) fix_cmd = <<-TXT -# Error: Resource #{resc["id"]} (host=#{resc["network_address"]} cpu=#{resc["cpu"]} core=#{resc["core"]} cpuset=#{resc["cpuset"]} gpu=#{resc["gpu"]} gpudevice=#{resc["gpudevice"]}) has a mismatch for ressource #{value.upcase}: API gives #{resc[value]}, generator wants #{row[key]}. To fix this: -oarnodesetting --sql "resource_id='#{corresponding_resource[0]["id"]}' AND type='default'" -p #{value}=#{row[key]} +# Error: Resource #{resc["id"]} (host=#{resc["network_address"]} cpu=#{resc["cpu"]} core=#{resc["core"]} cpuset=#{resc["cpuset"]} gpu=#{resc["gpu"]} gpudevice=#{resc["gpudevice"]}) has a mismatch for ressource #{value.upcase}: API gives #{resc[value]}, generator wants #{row[key]}. TXT fix_cmds += "#{fix_cmd}" end @@ -1199,7 +1198,7 @@ def extract_clusters_description(clusters, site_name, options, data_hierarchy, s # Detect GPU configuration of nodes if node_description.key? "gpu_devices" - gpus = node_description["gpu_devices"] + gpus = node_description["gpu_devices"].select{|k ,v| v.fetch("reservable", true)} else gpus = [] end @@ -1241,7 +1240,9 @@ def extract_clusters_description(clusters, site_name, options, data_hierarchy, s ############################################ numa_gpus = [] if node_description.key? "gpu_devices" - numa_gpus = node_description["gpu_devices"].map {|v| v[1]}.select {|v| v['cpu_affinity'] == cpu_index0} + numa_gpus = node_description["gpu_devices"] + .map {|v| v[1]} + .select {|v| v['cpu_affinity'] == cpu_index0 and v.fetch("reservable", true)} end ############################################ -- GitLab From 1a4835392bb8ca33f2f060d0b0ab59d52c33c841 Mon Sep 17 00:00:00 2001 From: Jonathan Pastor <jonathancmoa@gmail.com> Date: Thu, 24 Oct 2019 18:17:58 +0200 Subject: [PATCH 38/57] implement a spec test for non reservable GPUs --- spec/oar_properties_spec.rb | 43 - ...stubbed_data_with_non_reservable_gpus.json | 823 ++++++++++++++++++ 2 files changed, 823 insertions(+), 43 deletions(-) create mode 100644 spec/stub_oar_properties/load_data_hierarchy_stubbed_data_with_non_reservable_gpus.json diff --git a/spec/oar_properties_spec.rb b/spec/oar_properties_spec.rb index acd2147afbc..e1cc97fc453 100644 --- a/spec/oar_properties_spec.rb +++ b/spec/oar_properties_spec.rb @@ -2112,47 +2112,4 @@ GeForce RTX 2080 Ti end end - context 'interracting with a configured OAR server (misconfigured to test the "DIFF" action)' do - before do - prepare_stubs("dump_oar_api_configured_server_to_test_diff.json", "load_data_hierarchy_stubbed_data.json") - end - - it 'should ignore the GPUs' do - - uri = URI(conf["uri"]) - - response = Net::HTTP.get(uri) - - expect(response).to be_an_instance_of(String) - - options = { - :table => false, - :print => false, - :update => false, - :diff => true, - :site => "fakesite", - :clusters => ["clustera"], - :verbose => 2 - } - - expected_output = <<-TXT - clustera-2: - ["~", "eth_rate", 100, 10] - ["~", "gpu_count", 2, 4] - TXT - - expected_output2 = <<-TXT -# Error: Resource 4 (host=clustera-1.fakesite.grid5000.fr cpu=1 core=4 cpuset=2 gpu=2 gpudevice=1) has a mismatch for ressource CPUSET: API gives 2, generator wants 3. -# Error: Resource 4 (host=clustera-1.fakesite.grid5000.fr cpu=1 core=4 cpuset=2 gpu=2 gpudevice=1) has a mismatch for ressource GPU: API gives 2, generator wants 1. -# Error: Resource 4 (host=clustera-1.fakesite.grid5000.fr cpu=1 core=4 cpuset=2 gpu=2 gpudevice=1) has a mismatch for ressource GPUDEVICE: API gives 1, generator wants 0. - TXT - - generator_output = capture do - generate_oar_properties(options) - end - - expect(generator_output[:stdout]).to include(expected_output) - expect(generator_output[:stdout]).to include(expected_output2) - end - end end diff --git a/spec/stub_oar_properties/load_data_hierarchy_stubbed_data_with_non_reservable_gpus.json b/spec/stub_oar_properties/load_data_hierarchy_stubbed_data_with_non_reservable_gpus.json new file mode 100644 index 00000000000..67af7cf702f --- /dev/null +++ b/spec/stub_oar_properties/load_data_hierarchy_stubbed_data_with_non_reservable_gpus.json @@ -0,0 +1,823 @@ +{ + "sites": { + "fakesite": { + "clusters": { + "clustera": { + "nodes": { + "clustera-1": { + "architecture": { + "nb_cores": 16, + "nb_procs": 2, + "nb_threads": 32, + "platform_type": "x86_64", + "cpu_core_numbering": "contiguous" + }, + "bios": { + "release_date": "06/14/2019", + "vendor": "Dell Inc.", + "version": "2.2.11" + }, + "chassis": { + "manufacturer": "Dell Inc.", + "name": "PowerEdge T640", + "serial": "FL1CBX2" + }, + "gpu": { + "gpu": true, + "gpu_cores": 17408, + "gpu_count": 4, + "gpu_model": "RTX 2080 Ti", + "gpu_vendor": "Nvidia" + }, + "gpu_devices": { + "nvidia0": { + "cpu_affinity": 0, + "device": "/dev/nvidia0", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.B2", + "vendor": "Nvidia", + "reservable": false + }, + "nvidia1": { + "cpu_affinity": 0, + "device": "/dev/nvidia1", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.B2", + "vendor": "Nvidia", + "reservable": false + }, + "nvidia2": { + "cpu_affinity": 1, + "device": "/dev/nvidia2", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.0B.40.09", + "vendor": "Nvidia", + "reservable": false + }, + "nvidia3": { + "cpu_affinity": 1, + "device": "/dev/nvidia3", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.B2", + "vendor": "Nvidia", + "reservable": false + } + }, + "main_memory": { + "ram_size": 137438953472 + }, + "monitoring": { + "wattmeter": "multiple" + }, + "network_adapters": [{ + "bridged": false, + "device": "eth0", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:3f:64", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno1", + "vendor": "Broadcom" + }, { + "bridged": false, + "device": "eth1", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:3f:65", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno2d1", + "vendor": "Broadcom" + }, { + "bridged": true, + "device": "eth2", + "driver": "i40e", + "enabled": true, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "ip": "172.16.64.1", + "mac": "f8:f2:1e:60:41:20", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": true, + "mounted": true, + "name": "enp137s0f0", + "network_address": "clustera-1.fakesite.grid5000.fr", + "rate": 10000000000, + "switch": "gw-fakesite", + "switch_port": "Ethernet6/39", + "vendor": "Intel" + }, { + "bridged": false, + "device": "eth3", + "driver": "i40e", + "enabled": false, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "mac": "f8:f2:1e:60:41:21", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": false, + "mounted": false, + "name": "enp137s0f1", + "vendor": "Intel" + }, { + "device": "bmc", + "enabled": true, + "interface": "Ethernet", + "ip": "172.17.64.1", + "mac": "f4:02:70:9a:3f:74", + "management": true, + "mountable": false, + "mounted": false, + "network_address": "clustera-1-bmc.fakesite.grid5000.fr" + }], + "operating_system": { + "cstate_driver": "intel_idle", + "cstate_governor": "menu", + "ht_enabled": true, + "pstate_driver": "intel_pstate", + "pstate_governor": "performance", + "turboboost_enabled": true + }, + "performance": { + "core_flops": 17713000000, + "node_flops": 202670000000 + }, + "processor": { + "cache_l1": null, + "cache_l1d": 32768, + "cache_l1i": 32768, + "cache_l2": 1048576, + "cache_l3": 11534336, + "clock_speed": 2100000000, + "ht_capable": true, + "instruction_set": "x86-64", + "microarchitecture": "Skylake", + "model": "Intel Xeon", + "other_description": "Intel(R) Xeon(R) Silver 4110 CPU @ 2.10GHz", + "vendor": "Intel", + "version": "Silver 4110" + }, + "sensors": { + "power": { + "available": true, + "via": { + "api": { + "metric": "power" + }, + "pdu": [{ + "port": 1, + "uid": "clustera-pdu1" + }, { + "port": 1, + "uid": "clustera-pdu2" + }] + } + } + }, + "storage_devices": [{ + "by_id": "/dev/disk/by-id/wwn-0x6f402700aefea00024afe4c307e10af8", + "by_path": "/dev/disk/by-path/pci-0000:19:00.0-scsi-0:2:0:0", + "device": "sda", + "driver": "megaraid_sas", + "firmware_version": 4.29, + "interface": "SATA", + "model": "PERC H330 Adp", + "size": 479559942144, + "storage": "SSD", + "vendor": "Dell (Raid)" + }], + "supported_job_types": { + "besteffort": true, + "deploy": true, + "max_walltime": 86400, + "queues": ["admin", "production"], + "virtual": "ivt" + }, + "type": "node", + "uid": "clustera-1" + }, + "clustera-2": { + "architecture": { + "nb_cores": 16, + "nb_procs": 2, + "nb_threads": 32, + "platform_type": "x86_64", + "cpu_core_numbering": "contiguous" + }, + "bios": { + "release_date": "06/14/2019", + "vendor": "Dell Inc.", + "version": "2.2.11" + }, + "chassis": { + "manufacturer": "Dell Inc.", + "name": "PowerEdge T640", + "serial": "9L1CBX2" + }, + "gpu": { + "gpu": true, + "gpu_cores": 17408, + "gpu_count": 4, + "gpu_model": "RTX 2080 Ti", + "gpu_vendor": "Nvidia" + }, + "gpu_devices": { + "nvidia0": { + "cpu_affinity": 0, + "device": "/dev/nvidia0", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.B2", + "vendor": "Nvidia", + "reservable": false + }, + "nvidia1": { + "cpu_affinity": 0, + "device": "/dev/nvidia1", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.0B.40.09", + "vendor": "Nvidia", + "reservable": false + }, + "nvidia2": { + "cpu_affinity": 1, + "device": "/dev/nvidia2", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.0B.40.09", + "vendor": "Nvidia", + "reservable": false + }, + "nvidia3": { + "cpu_affinity": 1, + "device": "/dev/nvidia3", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.AC", + "vendor": "Nvidia", + "reservable": false + } + }, + "main_memory": { + "ram_size": 137438953472 + }, + "monitoring": { + "wattmeter": "multiple" + }, + "network_adapters": [{ + "bridged": false, + "device": "eth0", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:48:d8", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno1", + "vendor": "Broadcom" + }, { + "bridged": false, + "device": "eth1", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:48:d9", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno2d1", + "vendor": "Broadcom" + }, { + "bridged": true, + "device": "eth2", + "driver": "i40e", + "enabled": true, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "ip": "172.16.64.2", + "mac": "f8:f2:1e:60:3f:a0", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": true, + "mounted": true, + "name": "enp137s0f0", + "network_address": "clustera-2.fakesite.grid5000.fr", + "rate": 10000000000, + "switch": "gw-fakesite", + "switch_port": "Ethernet6/40", + "vendor": "Intel" + }, { + "bridged": false, + "device": "eth3", + "driver": "i40e", + "enabled": false, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "mac": "f8:f2:1e:60:3f:a1", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": false, + "mounted": false, + "name": "enp137s0f1", + "vendor": "Intel" + }, { + "device": "bmc", + "enabled": true, + "interface": "Ethernet", + "ip": "172.17.64.2", + "mac": "f4:02:70:9a:48:e8", + "management": true, + "mountable": false, + "mounted": false, + "network_address": "clustera-2-bmc.fakesite.grid5000.fr" + }], + "operating_system": { + "cstate_driver": "intel_idle", + "cstate_governor": "menu", + "ht_enabled": true, + "pstate_driver": "intel_pstate", + "pstate_governor": "performance", + "turboboost_enabled": true + }, + "performance": { + "core_flops": 17713000000, + "node_flops": 202670000000 + }, + "processor": { + "cache_l1": null, + "cache_l1d": 32768, + "cache_l1i": 32768, + "cache_l2": 1048576, + "cache_l3": 11534336, + "clock_speed": 2100000000, + "ht_capable": true, + "instruction_set": "x86-64", + "microarchitecture": "Skylake", + "model": "Intel Xeon", + "other_description": "Intel(R) Xeon(R) Silver 4110 CPU @ 2.10GHz", + "vendor": "Intel", + "version": "Silver 4110" + }, + "sensors": { + "power": { + "available": true, + "via": { + "api": { + "metric": "power" + }, + "pdu": [{ + "port": 6, + "uid": "clustera-pdu1" + }, { + "port": 6, + "uid": "clustera-pdu2" + }] + } + } + }, + "storage_devices": [{ + "by_id": "/dev/disk/by-id/wwn-0x6f402700aeff430024929b4003cd51d0", + "by_path": "/dev/disk/by-path/pci-0000:19:00.0-scsi-0:2:0:0", + "device": "sda", + "driver": "megaraid_sas", + "firmware_version": 4.29, + "interface": "SATA", + "model": "PERC H330 Adp", + "size": 479559942144, + "storage": "SSD", + "vendor": "Dell (Raid)" + }], + "supported_job_types": { + "besteffort": true, + "deploy": true, + "max_walltime": 86400, + "queues": ["admin", "production"], + "virtual": "ivt" + }, + "type": "node", + "uid": "clustera-2" + } + }, + "created_at": "Fri, 07 Jun 2019 00:00:00 GMT", + "kavlan": false, + "model": "Dell PowerEdge T640", + "queues": ["admin", "production"], + "type": "cluster", + "uid": "clustera" + } + }, + "network_equipments": { + "gw-fakesite": { + "backplane_bps": 1280000000000, + "kind": "router", + "linecards": [{}, {}, {}, {}, {}, {}, { + "backplane_bps": 1280000000000, + "kavlan_pattern": "Ethernet%LINECARD%/%PORT%", + "kind": "node", + "model": "N9K-X9464PX", + "ports": [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, { + "kind": "node", + "port": "eth2", + "uid": "clustera-1" + }, { + "kind": "node", + "port": "eth2", + "uid": "clustera-2" + }], + "rate": 10000000000, + "snmp_pattern": "Ethernet%LINECARD%/%PORT%" + }], + "model": "Cisco Nexus 9508", + "monitoring": { + "metric": "power", + "wattmeter": "multiple" + }, + "sensors": { + "network": { + "available": true, + "resolution": 10 + }, + "power": { + "available": true, + "resolution": 1, + "via": { + "pdu": [{ + "port": 8, + "uid": "graoully-pdu1" + }, { + "port": 8, + "uid": "graoully-pdu2" + }, { + "port": 8, + "uid": "grimoire-pdu1" + }, { + "port": 8, + "uid": "grimoire-pdu2" + }] + } + } + }, + "site": "fakesite", + "snmp_community": "public", + "type": "network_equipment", + "uid": "gw-fakesite", + "vlans": { + "vlan100": { + "addresses": ["172.16.79.254"], + "administrative": true + }, + "vlan101": { + "addresses": ["172.17.79.254"] + }, + "vlan500": { + "addresses": ["192.168.4.14"] + }, + "vlan701": { + "addresses": ["192.168.192.0/20"], + "name": "kavlan-1" + }, + "vlan702": { + "addresses": ["192.168.208.0/20"], + "name": "kavlan-2" + }, + "vlan703": { + "addresses": ["192.168.224.0/20"], + "name": "kavlan-3" + }, + "vlan704": { + "addresses": ["10.16.0.0/18"], + "name": "kavlan-4" + }, + "vlan705": { + "addresses": ["10.16.64.0/18"], + "name": "kavlan-5" + }, + "vlan706": { + "addresses": ["10.16.128.0/18"], + "name": "kavlan-6" + }, + "vlan707": { + "addresses": ["10.16.192.0/18"], + "name": "kavlan-7" + }, + "vlan708": { + "addresses": ["10.17.0.0/18"], + "name": "kavlan-8" + }, + "vlan709": { + "addresses": ["10.17.64.0/18"], + "name": "kavlan-9" + }, + "vlan714": { + "addresses": ["10.19.192.0/18"], + "name": "kavlan-14" + } + }, + "warranty": "2020-09-01", + "weathermap": {} + } + }, + "pdus": { + "clustera-pdu1": { + "ip": "172.17.79.226", + "mac": "28:29:86:0B:3B:06", + "model": "AP8653", + "ports": { + "1": "clustera-1", + "6": "clustera-2" + }, + "sensors": [{ + "power": { + "per_outlets": true, + "resolution": 1, + "snmp": { + "available": true, + "outlet_prefix_oid": "iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7", + "total_oids": ["iso.3.6.1.4.1.318.1.1.12.1.16.0"], + "unit": "W" + } + } + }], + "type": "pdu", + "uid": "clustera-pdu1", + "vendor": "APC" + }, + "clustera-pdu3": { + "ip": "172.17.79.231", + "mac": "28:29:86:12:27:FF", + "model": "AP8653", + "ports": {}, + "sensors": [{ + "power": { + "per_outlets": true, + "resolution": 1, + "snmp": { + "available": true, + "outlet_prefix_oid": "iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7", + "total_oids": ["iso.3.6.1.4.1.318.1.1.12.1.16.0"], + "unit": "W" + } + } + }], + "type": "pdu", + "uid": "clustera-pdu3", + "vendor": "APC" + }, + "clustera-pdu2": { + "ip": "172.17.79.227", + "mac": "28:29:86:10:0E:8C", + "model": "AP8653", + "ports": { + "1": "clustera-1", + "6": "clustera-2" + }, + "sensors": [{ + "power": { + "per_outlets": true, + "resolution": 1, + "snmp": { + "available": true, + "outlet_prefix_oid": "iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7", + "total_oids": ["iso.3.6.1.4.1.318.1.1.12.1.16.0"], + "unit": "W" + } + } + }], + "type": "pdu", + "uid": "clustera-pdu2", + "vendor": "APC" + }, + "clustera-pdu4": { + "ip": "172.17.79.232", + "mac": "28:29:86:10:0E:B4", + "model": "AP8653", + "ports": {}, + "sensors": [{ + "power": { + "per_outlets": true, + "resolution": 1, + "snmp": { + "available": true, + "outlet_prefix_oid": "iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7", + "total_oids": ["iso.3.6.1.4.1.318.1.1.12.1.16.0"], + "unit": "W" + } + } + }], + "type": "pdu", + "uid": "clustera-pdu4", + "vendor": "APC" + } + }, + "compilation_server": false, + "description": "Grid5000 Fakesite site", + "email_contact": "support-staff@lists.grid5000.fr", + "frontend_ip": "172.16.79.101", + "g5ksubnet": { + "gateway": "10.147.255.254", + "network": "10.144.0.0/14" + }, + "latitude": 48.7, + "location": "Fakesite, France", + "longitude": 6.2, + "name": "Fakesite", + "production": true, + "renater_ip": "192.168.4.14", + "security_contact": "support-staff@lists.grid5000.fr", + "storage5k": false, + "sys_admin_contact": "support-staff@lists.grid5000.fr", + "type": "site", + "uid": "fakesite", + "user_support_contact": "support-staff@lists.grid5000.fr", + "virt_ip_range": "10.144.0.0/14", + "web": "http://www.grid5000.fr/mediawiki/index.php/Fakesite:Home" + } + }, + "network_equipments": { + "renater-lyon": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-paris" + }, { + "uid": "renater-sophia" + }, { + "uid": "renater-grenoble" + }, { + "uid": "renater-nantes" + }, { + "kind": "router", + "site_uid": "lyon", + "uid": "gw-lyon" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-lyon", + "weathermap": {} + }, + "renater-grenoble": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-lyon" + }, { + "kind": "router", + "site_uid": "grenoble", + "uid": "gw-grenoble" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-grenoble", + "weathermap": {} + }, + "renater-nancy": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-luxembourg" + }, { + "uid": "renater-paris" + }, { + "kind": "router", + "site_uid": "nancy", + "uid": "gw-nancy" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-nancy", + "weathermap": {} + }, + "renater-luxembourg": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-nancy" + }, { + "kind": "router", + "site_uid": "luxembourg", + "uid": "gw-luxembourg" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-luxembourg", + "weathermap": {} + }, + "renater-sophia": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-lyon" + }, { + "kind": "router", + "site_uid": "sophia", + "uid": "gw-sophia" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-sophia", + "weathermap": {} + }, + "renater-paris": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-lille" + }, { + "uid": "renater-lyon" + }, { + "uid": "renater-nancy" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-paris", + "weathermap": {} + }, + "renater-rennes": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-nantes" + }, { + "kind": "router", + "site_uid": "rennes", + "uid": "gw-rennes" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-rennes", + "weathermap": {} + }, + "renater-nantes": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-lyon" + }, { + "uid": "renater-rennes" + }, { + "kind": "router", + "site_uid": "nantes", + "uid": "gw-nantes" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-nantes", + "weathermap": {} + }, + "renater-lille": { + "kind": "virtual", + "linecards": [{ + "ports": [{ + "uid": "renater-paris" + }, { + "kind": "router", + "site_uid": "lille", + "uid": "gw-lille" + }], + "rate": 10000000000 + }], + "type": "network_equipment", + "uid": "renater-lille", + "weathermap": {} + } + }, + "type": "grid", + "uid": "grid5000" +} -- GitLab From 3ec4afdb4ba9d63649bc0efebf72c7e01be86209 Mon Sep 17 00:00:00 2001 From: Jonathan Pastor <jonathancmoa@gmail.com> Date: Mon, 4 Nov 2019 18:01:00 +0100 Subject: [PATCH 39/57] update specs --- spec/oar_properties_spec.rb | 30 +- ...rver_misconfigured_non_reservable_gpu.json | 2446 +++++++++++++++++ ...stubbed_data_with_non_reservable_gpus.json | 16 +- 3 files changed, 2469 insertions(+), 23 deletions(-) create mode 100644 spec/stub_oar_properties/dump_oar_api_configured_server_misconfigured_non_reservable_gpu.json diff --git a/spec/oar_properties_spec.rb b/spec/oar_properties_spec.rb index e1cc97fc453..3903dee5289 100644 --- a/spec/oar_properties_spec.rb +++ b/spec/oar_properties_spec.rb @@ -1485,16 +1485,16 @@ TXT ################################### # clusterc-1.fakesite.grid5000.fr ################################### -oarnodesetting --sql "host='clusterc-1.fakesite.grid5000.fr' AND resource_id='1' AND type='default'" -p cpu=1 -p core=1 -p cpuset=0 -oarnodesetting --sql "host='clusterc-1.fakesite.grid5000.fr' AND resource_id='2' AND type='default'" -p cpu=1 -p core=2 -p cpuset=1 -oarnodesetting --sql "host='clusterc-1.fakesite.grid5000.fr' AND resource_id='3' AND type='default'" -p cpu=1 -p core=3 -p cpuset=2 +oarnodesetting --sql "host='clusterc-1.fakesite.grid5000.fr' AND resource_id='1' AND type='default'" -p cpu=1 -p core=1 -p cpuset=0 -p gpu=0 -p gpudevice= -p gpu_model= +oarnodesetting --sql "host='clusterc-1.fakesite.grid5000.fr' AND resource_id='2' AND type='default'" -p cpu=1 -p core=2 -p cpuset=1 -p gpu=0 -p gpudevice= -p gpu_model= +oarnodesetting --sql "host='clusterc-1.fakesite.grid5000.fr' AND resource_id='3' AND type='default'" -p cpu=1 -p core=3 -p cpuset=2 -p gpu=0 -p gpudevice= -p gpu_model= TXT expected_clusterc2_cmds = <<-TXT -oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' AND resource_id='32' AND type='default'" -p cpu=4 -p core=29 -p cpuset=12 -oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' AND resource_id='33' AND type='default'" -p cpu=4 -p core=30 -p cpuset=13 -oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' AND resource_id='34' AND type='default'" -p cpu=4 -p core=31 -p cpuset=14 -oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' AND resource_id='35' AND type='default'" -p cpu=4 -p core=32 -p cpuset=15 +oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' AND resource_id='32' AND type='default'" -p cpu=4 -p core=29 -p cpuset=12 -p gpu=0 -p gpudevice= -p gpu_model= +oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' AND resource_id='33' AND type='default'" -p cpu=4 -p core=30 -p cpuset=13 -p gpu=0 -p gpudevice= -p gpu_model= +oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' AND resource_id='34' AND type='default'" -p cpu=4 -p core=31 -p cpuset=14 -p gpu=0 -p gpudevice= -p gpu_model= +oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' AND resource_id='35' AND type='default'" -p cpu=4 -p core=32 -p cpuset=15 -p gpu=0 -p gpudevice= -p gpu_model= TXT expected_clusterc3_cmds = <<-TXT oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' and type='default'" -p ip='172.16.64.2' -p cluster='clusterc' -p nodemodel='Dell PowerEdge T640' -p virtual='ivt' -p cpuarch='x86_64' -p cpucore=8 -p cputype='Intel Xeon Silver 4110' -p cpufreq='2.1' -p disktype='SATA' -p eth_count=1 -p eth_rate=10 -p ib_count=0 -p ib_rate=0 -p ib='NO' -p opa_count=0 -p opa_rate=0 -p opa='NO' -p myri_count=0 -p myri_rate=0 -p myri='NO' -p memcore=8192 -p memcpu=65536 -p memnode=131072 -p gpu_count=0 -p mic='NO' -p wattmeter='MULTIPLE' -p cluster_priority=201906 -p max_walltime=86400 -p production='YES' -p maintenance='NO' -p disk_reservation_count=3 @@ -1637,16 +1637,16 @@ TXT ################################### # clusterc-1.fakesite.grid5000.fr ################################### -oarnodesetting --sql "host='clusterc-1.fakesite.grid5000.fr' AND resource_id='1' AND type='default'" -p cpu=1 -p core=1 -p cpuset=0 -oarnodesetting --sql "host='clusterc-1.fakesite.grid5000.fr' AND resource_id='2' AND type='default'" -p cpu=1 -p core=3 -p cpuset=1 -oarnodesetting --sql "host='clusterc-1.fakesite.grid5000.fr' AND resource_id='3' AND type='default'" -p cpu=1 -p core=2 -p cpuset=2 +oarnodesetting --sql "host='clusterc-1.fakesite.grid5000.fr' AND resource_id='1' AND type='default'" -p cpu=1 -p core=1 -p cpuset=0 -p gpu=0 -p gpudevice= -p gpu_model= +oarnodesetting --sql "host='clusterc-1.fakesite.grid5000.fr' AND resource_id='2' AND type='default'" -p cpu=1 -p core=3 -p cpuset=1 -p gpu=0 -p gpudevice= -p gpu_model= +oarnodesetting --sql "host='clusterc-1.fakesite.grid5000.fr' AND resource_id='3' AND type='default'" -p cpu=1 -p core=2 -p cpuset=2 -p gpu=0 -p gpudevice= -p gpu_model= TXT expected_clusterc2_cmds = <<-TXT -oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' AND resource_id='32' AND type='default'" -p cpu=4 -p core=29 -p cpuset=12 -oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' AND resource_id='33' AND type='default'" -p cpu=4 -p core=30 -p cpuset=13 -oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' AND resource_id='34' AND type='default'" -p cpu=4 -p core=31 -p cpuset=14 -oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' AND resource_id='35' AND type='default'" -p cpu=4 -p core=32 -p cpuset=15 +oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' AND resource_id='32' AND type='default'" -p cpu=4 -p core=29 -p cpuset=12 -p gpu=0 -p gpudevice= -p gpu_model= +oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' AND resource_id='33' AND type='default'" -p cpu=4 -p core=30 -p cpuset=13 -p gpu=0 -p gpudevice= -p gpu_model= +oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' AND resource_id='34' AND type='default'" -p cpu=4 -p core=31 -p cpuset=14 -p gpu=0 -p gpudevice= -p gpu_model= +oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' AND resource_id='35' AND type='default'" -p cpu=4 -p core=32 -p cpuset=15 -p gpu=0 -p gpudevice= -p gpu_model= TXT expected_clusterc3_cmds = <<-TXT oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' and type='default'" -p ip='172.16.64.2' -p cluster='clusterc' -p nodemodel='Dell PowerEdge T640' -p virtual='ivt' -p cpuarch='x86_64' -p cpucore=8 -p cputype='Intel Xeon Silver 4110' -p cpufreq='2.1' -p disktype='SATA' -p eth_count=1 -p eth_rate=10 -p ib_count=0 -p ib_rate=0 -p ib='NO' -p opa_count=0 -p opa_rate=0 -p opa='NO' -p myri_count=0 -p myri_rate=0 -p myri='NO' -p memcore=8192 -p memcpu=65536 -p memnode=131072 -p gpu_count=0 -p mic='NO' -p wattmeter='MULTIPLE' -p cluster_priority=201906 -p max_walltime=86400 -p production='YES' -p maintenance='NO' -p disk_reservation_count=3 @@ -1768,7 +1768,7 @@ TXT } expected_output = <<-TXT -# Error: Resource 9 (host=clustera-1.fakesite.grid5000.fr cpu=2 core=9 cpuset=8 gpu=2 gpudevice=2) has a mismatch for ressource GPU: API gives 2, generator wants 3. +# Error: Resource 9 (host=clustera-1.fakesite.grid5000.fr cpu=2 core=9 cpuset=8 gpu=2 gpudevice=2) has a mismatch for ressource GPU: OAR API gives 2, generator wants 3. TXT generator_output = capture do diff --git a/spec/stub_oar_properties/dump_oar_api_configured_server_misconfigured_non_reservable_gpu.json b/spec/stub_oar_properties/dump_oar_api_configured_server_misconfigured_non_reservable_gpu.json new file mode 100644 index 00000000000..7bc0597f21e --- /dev/null +++ b/spec/stub_oar_properties/dump_oar_api_configured_server_misconfigured_non_reservable_gpu.json @@ -0,0 +1,2446 @@ +{ + "offset": 0, + "api_timestamp": 1568902577, + "items": [ + { + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "gpu": 1, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "cpuset": 0, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/1" + }, + { + "href": "//oarapi/resources/1/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "production": "YES", + "type": "default", + "opa_count": 0, + "id": 1, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 0, + "next_state": "UnChanged", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "drain": "NO", + "cpu": 1, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "memcpu": 65536, + "myri_count": 0, + "ip": "172.16.64.1", + "core": 1, + "myri": "NO", + "max_walltime": 86400, + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO" + }, + { + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "id": 2, + "opa_count": 0, + "type": "default", + "production": "YES", + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/2", + "rel": "self" + }, + { + "title": "jobs", + "href": "//oarapi/resources/2/jobs", + "rel": "collection" + } + ], + "cpuset": 1, + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "gpu": 1, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "myri_rate": 0, + "api_timestamp": 1568902577, + "cpucore": 8, + "scheduler_priority": 0, + "last_available_upto": 0, + "finaud_decision": "NO", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "max_walltime": 86400, + "myri": "NO", + "core": 2, + "myri_count": 0, + "ip": "172.16.64.1", + "memcpu": 65536, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpu": 1, + "drain": "NO", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 0, + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE" + }, + { + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "core": 3, + "ip": "172.16.64.1", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 1, + "drain": "NO", + "memcpu": 65536, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "eth_count": 1, + "switch": "gw-fakesite", + "gpudevice": 0, + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_state": "UnChanged", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "cpuset": 2, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/3" + }, + { + "title": "jobs", + "href": "//oarapi/resources/3/jobs", + "rel": "collection" + } + ], + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "opa_count": 0, + "id": 3, + "type": "default", + "production": "YES", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 1, + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "last_available_upto": 0, + "finaud_decision": "NO", + "myri_rate": 0, + "api_timestamp": 1568902577, + "cpucore": 8, + "scheduler_priority": 0 + }, + { + "cpu": 1, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "drain": "NO", + "memcpu": 65536, + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO", + "max_walltime": 86400, + "myri": "NO", + "ip": "172.16.64.1", + "myri_count": 0, + "core": 4, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 0, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "next_state": "UnChanged", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "available_upto": 2147483647, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "rel": "member" + }, + { + "href": "//oarapi/resources/4", + "rel": "self" + }, + { + "href": "//oarapi/resources/4/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "cpuset": 3, + "besteffort": "YES", + "ib_rate": 0, + "id": 4, + "opa_count": 0, + "production": "YES", + "type": "default", + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "scheduler_priority": 0, + "cpucore": 8, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 1, + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive" + }, + { + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "type": "default", + "production": "YES", + "opa_count": 0, + "id": 5, + "ib_rate": 0, + "besteffort": "YES", + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node" + }, + { + "rel": "self", + "href": "//oarapi/resources/5" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/5/jobs" + } + ], + "cpuset": 4, + "available_upto": 2147483647, + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "gpu": 2, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "cpucore": 8, + "scheduler_priority": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "finaud_decision": "NO", + "last_available_upto": 0, + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "suspended_jobs": "NO", + "ib": "NO", + "disk_reservation_count": 0, + "myri_count": 0, + "ip": "172.16.64.1", + "core": 5, + "myri": "NO", + "max_walltime": 86400, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "memcpu": 65536, + "drain": "NO", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 1, + "switch": "gw-fakesite", + "eth_count": 1, + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "next_state": "UnChanged", + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 1, + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr" + }, + { + "opa_count": 0, + "id": 6, + "type": "default", + "production": "YES", + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node" + }, + { + "href": "//oarapi/resources/6", + "rel": "self" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/6/jobs" + } + ], + "cpuset": 5, + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "scheduler_priority": 0, + "cpucore": 8, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 2, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "memcpu": 65536, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpu": 1, + "drain": "NO", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "ip": "172.16.64.1", + "core": 6, + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 1, + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0 + }, + { + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "gpu": 2, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "scheduler_priority": 0, + "cpucore": 8, + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "opa": "NO", + "eth_rate": 10, + "available_upto": 2147483647, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/7", + "rel": "self" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/7/jobs" + } + ], + "cpuset": 6, + "besteffort": "YES", + "ib_rate": 0, + "opa_count": 0, + "id": 7, + "production": "YES", + "type": "default", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "gpudevice": 1, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "next_state": "UnChanged", + "max_walltime": 86400, + "myri": "NO", + "myri_count": 0, + "core": 7, + "ip": "172.16.64.1", + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "cpu": 1, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "drain": "NO", + "memcpu": 65536, + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO" + }, + { + "api_timestamp": 1568902577, + "myri_rate": 0, + "scheduler_priority": 0, + "cpucore": 8, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 2, + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "id": 8, + "opa_count": 0, + "production": "YES", + "type": "default", + "available_upto": 2147483647, + "cpuset": 7, + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node" + }, + { + "href": "//oarapi/resources/8", + "rel": "self" + }, + { + "rel": "collection", + "href": "//oarapi/resources/8/jobs", + "title": "jobs" + } + ], + "besteffort": "YES", + "ib_rate": 0, + "last_job_date": 0, + "opa": "NO", + "eth_rate": 10, + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "next_state": "UnChanged", + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 1, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "memcpu": 65536, + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "cpu": 1, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "drain": "NO", + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "myri": "NO", + "max_walltime": 86400, + "core": 8, + "myri_count": 0, + "ip": "172.16.64.1" + }, + { + "finaud_decision": "NO", + "last_available_upto": 0, + "scheduler_priority": 0, + "cpucore": 8, + "api_timestamp": 1568902577, + "myri_rate": 0, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "gpu": 2, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node" + }, + { + "rel": "self", + "href": "//oarapi/resources/9" + }, + { + "rel": "collection", + "href": "//oarapi/resources/9/jobs", + "title": "jobs" + } + ], + "cpuset": 8, + "production": "YES", + "type": "default", + "id": 9, + "opa_count": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "gpudevice": 2, + "next_state": "UnChanged", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "drain": "NO", + "cpu": 2, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO", + "memcpu": 65536, + "myri_count": 0, + "core": 9, + "ip": "172.16.64.1", + "myri": "NO", + "max_walltime": 86400, + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO" + }, + { + "drain": "NO", + "cpu": 2, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "memcpu": 65536, + "myri_count": 0, + "core": 10, + "ip": "172.16.64.1", + "max_walltime": 86400, + "myri": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "gpudevice": 2, + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "links": [ + { + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node", + "rel": "member" + }, + { + "href": "//oarapi/resources/10", + "rel": "self" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/10/jobs" + } + ], + "cpuset": 9, + "production": "YES", + "type": "default", + "id": 10, + "opa_count": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "gpu": 3 + }, + { + "cpu": 2, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "drain": "NO", + "memcpu": 65536, + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "myri": "NO", + "max_walltime": 86400, + "core": 11, + "myri_count": 0, + "ip": "172.16.64.1", + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "gpudevice": 2, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "next_state": "UnChanged", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "available_upto": 2147483647, + "cpuset": 10, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/11", + "rel": "self" + }, + { + "title": "jobs", + "href": "//oarapi/resources/11/jobs", + "rel": "collection" + } + ], + "besteffort": "YES", + "ib_rate": 0, + "id": 11, + "opa_count": 0, + "production": "YES", + "type": "default", + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "scheduler_priority": 0, + "cpucore": 8, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 3, + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive" + }, + { + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 2, + "switch": "gw-fakesite", + "eth_count": 1, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "memcpu": 65536, + "drain": "NO", + "cpu": 2, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "myri_count": 0, + "ip": "172.16.64.1", + "core": 12, + "myri": "NO", + "max_walltime": 86400, + "scheduler_priority": 0, + "cpucore": 8, + "api_timestamp": 1568902577, + "myri_rate": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "gpu": 3, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "production": "YES", + "type": "default", + "opa_count": 0, + "id": 12, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "links": [ + { + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node", + "rel": "member" + }, + { + "href": "//oarapi/resources/12", + "rel": "self" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/12/jobs" + } + ], + "cpuset": 11, + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072 + }, + { + "core": 13, + "myri_count": 0, + "ip": "172.16.64.1", + "myri": "NO", + "max_walltime": 86400, + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "suspended_jobs": "NO", + "ib": "NO", + "disk_reservation_count": 0, + "drain": "NO", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 2, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "memcpu": 65536, + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 3, + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "next_state": "UnChanged", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "ib_rate": 0, + "besteffort": "YES", + "cpuset": 12, + "links": [ + { + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/13" + }, + { + "href": "//oarapi/resources/13/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "available_upto": 2147483647, + "type": "default", + "production": "YES", + "id": 13, + "opa_count": 0, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "gpu": 4, + "finaud_decision": "NO", + "last_available_upto": 0, + "scheduler_priority": 0, + "cpucore": 8, + "myri_rate": 0, + "api_timestamp": 1568902577 + }, + { + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "gpu": 4, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "cpuset": 13, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "rel": "self", + "href": "//oarapi/resources/14" + }, + { + "rel": "collection", + "href": "//oarapi/resources/14/jobs", + "title": "jobs" + } + ], + "production": "YES", + "type": "default", + "id": 14, + "opa_count": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 3, + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "drain": "NO", + "cpu": 2, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO", + "memcpu": 65536, + "myri_count": 0, + "ip": "172.16.64.1", + "core": 14, + "max_walltime": 86400, + "myri": "NO", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO" + }, + { + "memcpu": 65536, + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "cpu": 2, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "drain": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "max_walltime": 86400, + "myri": "NO", + "myri_count": 0, + "core": 15, + "ip": "172.16.64.1", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "next_state": "UnChanged", + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "gpudevice": 3, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "opa_count": 0, + "id": 15, + "production": "YES", + "type": "default", + "available_upto": 2147483647, + "cpuset": 14, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "rel": "self", + "href": "//oarapi/resources/15" + }, + { + "href": "//oarapi/resources/15/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "besteffort": "YES", + "ib_rate": 0, + "last_job_date": 0, + "opa": "NO", + "eth_rate": 10, + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "cpucore": 8, + "scheduler_priority": 0, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 4, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0 + }, + { + "last_available_upto": 0, + "finaud_decision": "NO", + "myri_rate": 0, + "api_timestamp": 1568902577, + "scheduler_priority": 0, + "cpucore": 8, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 4, + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "cpuset": 15, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/16", + "rel": "self" + }, + { + "href": "//oarapi/resources/16/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "opa_count": 0, + "id": 16, + "type": "default", + "production": "YES", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "gpudevice": 3, + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_state": "UnChanged", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "eth_count": 1, + "switch": "gw-fakesite", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 2, + "drain": "NO", + "memcpu": 65536, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "ip": "172.16.64.1", + "core": 16, + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1 + }, + { + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 0, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "next_state": "UnChanged", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "cpu": 3, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "drain": "NO", + "memcpu": 65536, + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "core": 17, + "ip": "172.16.64.2", + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "scheduler_priority": 0, + "cpucore": 8, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "gpu": 5, + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "available_upto": 2147483647, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "href": "//oarapi/resources/17", + "rel": "self" + }, + { + "title": "jobs", + "href": "//oarapi/resources/17/jobs", + "rel": "collection" + } + ], + "cpuset": 0, + "besteffort": "YES", + "ib_rate": 0, + "opa_count": 0, + "id": 17, + "production": "YES", + "type": "default", + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO" + }, + { + "max_walltime": 86400, + "myri": "NO", + "myri_count": 0, + "ip": "172.16.64.2", + "core": 18, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "cpu": 3, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "drain": "NO", + "memcpu": 65536, + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "gpudevice": 0, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "next_state": "UnChanged", + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "available_upto": 2147483647, + "cpuset": 1, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/18", + "rel": "self" + }, + { + "href": "//oarapi/resources/18/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "besteffort": "YES", + "ib_rate": 0, + "opa_count": 0, + "id": 18, + "production": "YES", + "type": "default", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 5, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "cpucore": 8, + "scheduler_priority": 0 + }, + { + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "type": "default", + "production": "YES", + "opa_count": 0, + "id": 19, + "ib_rate": 0, + "besteffort": "YES", + "cpuset": 2, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "rel": "self", + "href": "//oarapi/resources/19" + }, + { + "href": "//oarapi/resources/19/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "available_upto": 2147483647, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "gpu": 5, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "cpucore": 8, + "scheduler_priority": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "finaud_decision": "NO", + "last_available_upto": 0, + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "myri_count": 0, + "ip": "172.16.64.2", + "core": 19, + "max_walltime": 86400, + "myri": "NO", + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "memcpu": 65536, + "drain": "NO", + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpu": 3, + "switch": "gw-fakesite", + "eth_count": 1, + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "next_state": "UnChanged", + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 0, + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64" + }, + { + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "gpu": 5, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "scheduler_priority": 0, + "cpucore": 8, + "myri_rate": 0, + "api_timestamp": 1568902577, + "finaud_decision": "NO", + "last_available_upto": 0, + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "type": "default", + "production": "YES", + "id": 20, + "opa_count": 0, + "ib_rate": 0, + "besteffort": "YES", + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/20" + }, + { + "href": "//oarapi/resources/20/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "cpuset": 3, + "available_upto": 2147483647, + "switch": "gw-fakesite", + "eth_count": 1, + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "next_state": "UnChanged", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 0, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "myri_count": 0, + "core": 20, + "ip": "172.16.64.2", + "max_walltime": 86400, + "myri": "NO", + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "memcpu": 65536, + "drain": "NO", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 3 + }, + { + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 1, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "memcpu": 65536, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 3, + "drain": "NO", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "core": 21, + "ip": "172.16.64.2", + "myri_rate": 0, + "api_timestamp": 1568902577, + "scheduler_priority": 0, + "cpucore": 8, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 6, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "opa_count": 0, + "id": 21, + "type": "default", + "production": "YES", + "cpuset": 4, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/21" + }, + { + "rel": "collection", + "href": "//oarapi/resources/21/jobs", + "title": "jobs" + } + ], + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "last_job_date": 0, + "opa": "NO", + "eth_rate": 10, + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0 + }, + { + "opa_count": 0, + "id": 22, + "type": "default", + "production": "YES", + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "rel": "self", + "href": "//oarapi/resources/22" + }, + { + "title": "jobs", + "href": "//oarapi/resources/22/jobs", + "rel": "collection" + } + ], + "cpuset": 5, + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "scheduler_priority": 0, + "cpucore": 8, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 6, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "memcpu": 65536, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpu": 3, + "drain": "NO", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "max_walltime": 86400, + "myri": "NO", + "core": 22, + "myri_count": 0, + "ip": "172.16.64.2", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 1, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0 + }, + { + "gpudevice": 1, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_state": "UnChanged", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "eth_count": 1, + "switch": "gw-fakesite", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 3, + "drain": "NO", + "memcpu": 65536, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "max_walltime": 86400, + "myri": "NO", + "ip": "172.16.64.2", + "myri_count": 0, + "core": 23, + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "last_available_upto": 0, + "finaud_decision": "NO", + "myri_rate": 0, + "api_timestamp": 1568902577, + "scheduler_priority": 0, + "cpucore": 8, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 6, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/23" + }, + { + "rel": "collection", + "href": "//oarapi/resources/23/jobs", + "title": "jobs" + } + ], + "cpuset": 6, + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "id": 23, + "opa_count": 0, + "type": "default", + "production": "YES", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO" + }, + { + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 1, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "next_state": "UnChanged", + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "ip": "172.16.64.2", + "core": 24, + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "cpu": 3, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "drain": "NO", + "memcpu": 65536, + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 6, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "cpucore": 8, + "scheduler_priority": 0, + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "opa": "NO", + "eth_rate": 10, + "available_upto": 2147483647, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/24", + "rel": "self" + }, + { + "rel": "collection", + "href": "//oarapi/resources/24/jobs", + "title": "jobs" + } + ], + "cpuset": 7, + "besteffort": "YES", + "ib_rate": 0, + "opa_count": 0, + "id": 24, + "production": "YES", + "type": "default" + }, + { + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 2, + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "next_state": "UnChanged", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "drain": "NO", + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpu": 4, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "memcpu": 65536, + "myri_count": 0, + "ip": "172.16.64.2", + "core": 25, + "myri": "NO", + "max_walltime": 86400, + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "gpu": 7, + "ib_rate": 0, + "besteffort": "YES", + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/25", + "rel": "self" + }, + { + "href": "//oarapi/resources/25/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "cpuset": 8, + "available_upto": 2147483647, + "type": "default", + "production": "YES", + "opa_count": 0, + "id": 25, + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0 + }, + { + "id": 26, + "opa_count": 0, + "type": "default", + "production": "YES", + "cpuset": 9, + "links": [ + { + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "title": "node", + "rel": "member" + }, + { + "href": "//oarapi/resources/26", + "rel": "self" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/26/jobs" + } + ], + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "cpucore": 8, + "scheduler_priority": 0, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 7, + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "memcpu": 65536, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 4, + "drain": "NO", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "max_walltime": 86400, + "myri": "NO", + "core": 26, + "myri_count": 0, + "ip": "172.16.64.2", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 2, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0 + }, + { + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "ib_rate": 0, + "besteffort": "YES", + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "title": "node" + }, + { + "rel": "self", + "href": "//oarapi/resources/27" + }, + { + "href": "//oarapi/resources/27/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "cpuset": 10, + "available_upto": 2147483647, + "type": "default", + "production": "YES", + "opa_count": 0, + "id": 27, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "gpu": 7, + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "core": 27, + "myri_count": 0, + "ip": "172.16.64.2", + "myri": "NO", + "max_walltime": 86400, + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "suspended_jobs": "NO", + "ib": "NO", + "disk_reservation_count": 0, + "drain": "NO", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 4, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "memcpu": 65536, + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "gpudevice": 2, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "next_state": "UnChanged", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO" + }, + { + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "gpudevice": 2, + "switch": "gw-fakesite", + "eth_count": 1, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "memcpu": 65536, + "drain": "NO", + "cpu": 4, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "core": 28, + "myri_count": 0, + "ip": "172.16.64.2", + "max_walltime": 86400, + "myri": "NO", + "cpucore": 8, + "scheduler_priority": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "gpu": 7, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "production": "YES", + "type": "default", + "opa_count": 0, + "id": 28, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/28", + "rel": "self" + }, + { + "rel": "collection", + "href": "//oarapi/resources/28/jobs", + "title": "jobs" + } + ], + "cpuset": 11, + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072 + }, + { + "drain": "NO", + "cpu": 4, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO", + "memcpu": 65536, + "core": 29, + "myri_count": 0, + "ip": "172.16.64.2", + "myri": "NO", + "max_walltime": 86400, + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 3, + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "title": "node" + }, + { + "rel": "self", + "href": "//oarapi/resources/29" + }, + { + "rel": "collection", + "href": "//oarapi/resources/29/jobs", + "title": "jobs" + } + ], + "cpuset": 12, + "production": "YES", + "type": "default", + "id": 29, + "opa_count": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "gpu": 8 + }, + { + "gpu": 8, + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "myri_rate": 0, + "api_timestamp": 1568902577, + "cpucore": 8, + "scheduler_priority": 0, + "last_available_upto": 0, + "finaud_decision": "NO", + "last_job_date": 0, + "opa": "NO", + "eth_rate": 10, + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "id": 30, + "opa_count": 0, + "type": "default", + "production": "YES", + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/30" + }, + { + "title": "jobs", + "href": "//oarapi/resources/30/jobs", + "rel": "collection" + } + ], + "cpuset": 13, + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 3, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "suspended_jobs": "NO", + "ib": "NO", + "disk_reservation_count": 0, + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "max_walltime": 86400, + "myri": "NO", + "myri_count": 0, + "core": 30, + "ip": "172.16.64.2", + "memcpu": 65536, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 4, + "drain": "NO" + }, + { + "drain": "NO", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 4, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "memcpu": 65536, + "myri_count": 0, + "ip": "172.16.64.2", + "core": 31, + "max_walltime": 86400, + "myri": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 3, + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "next_state": "UnChanged", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "ib_rate": 0, + "besteffort": "YES", + "cpuset": 14, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/31" + }, + { + "href": "//oarapi/resources/31/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "available_upto": 2147483647, + "type": "default", + "production": "YES", + "opa_count": 0, + "id": 31, + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "gpu": 8 + }, + { + "switch": "gw-fakesite", + "eth_count": 1, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "gpudevice": 3, + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "myri_count": 0, + "core": 32, + "ip": "172.16.64.2", + "max_walltime": 86400, + "myri": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "memcpu": 65536, + "drain": "NO", + "cpu": 4, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "gpu": 8, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "scheduler_priority": 0, + "cpucore": 8, + "api_timestamp": 1568902577, + "myri_rate": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "production": "YES", + "type": "default", + "opa_count": 0, + "id": 32, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "cpuset": 15, + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "title": "node" + }, + { + "href": "//oarapi/resources/32", + "rel": "self" + }, + { + "rel": "collection", + "href": "//oarapi/resources/32/jobs", + "title": "jobs" + } + ] + } + ], + "total": 32, + "links": [ + { + "href": "//oarapi/resources/details.json?limit=999999&offset=0", + "rel": "self" + } + ] +} + diff --git a/spec/stub_oar_properties/load_data_hierarchy_stubbed_data_with_non_reservable_gpus.json b/spec/stub_oar_properties/load_data_hierarchy_stubbed_data_with_non_reservable_gpus.json index 67af7cf702f..d9050ae73b4 100644 --- a/spec/stub_oar_properties/load_data_hierarchy_stubbed_data_with_non_reservable_gpus.json +++ b/spec/stub_oar_properties/load_data_hierarchy_stubbed_data_with_non_reservable_gpus.json @@ -38,7 +38,7 @@ "power_default_limit": "250.00 W", "vbios_version": "90.02.17.00.B2", "vendor": "Nvidia", - "reservable": false + "reservation": false }, "nvidia1": { "cpu_affinity": 0, @@ -48,7 +48,7 @@ "power_default_limit": "250.00 W", "vbios_version": "90.02.17.00.B2", "vendor": "Nvidia", - "reservable": false + "reservation": false }, "nvidia2": { "cpu_affinity": 1, @@ -58,7 +58,7 @@ "power_default_limit": "250.00 W", "vbios_version": "90.02.0B.40.09", "vendor": "Nvidia", - "reservable": false + "reservation": false }, "nvidia3": { "cpu_affinity": 1, @@ -68,7 +68,7 @@ "power_default_limit": "250.00 W", "vbios_version": "90.02.17.00.B2", "vendor": "Nvidia", - "reservable": false + "reservation": false } }, "main_memory": { @@ -249,7 +249,7 @@ "power_default_limit": "250.00 W", "vbios_version": "90.02.17.00.B2", "vendor": "Nvidia", - "reservable": false + "reservation": false }, "nvidia1": { "cpu_affinity": 0, @@ -259,7 +259,7 @@ "power_default_limit": "250.00 W", "vbios_version": "90.02.0B.40.09", "vendor": "Nvidia", - "reservable": false + "reservation": false }, "nvidia2": { "cpu_affinity": 1, @@ -269,7 +269,7 @@ "power_default_limit": "250.00 W", "vbios_version": "90.02.0B.40.09", "vendor": "Nvidia", - "reservable": false + "reservation": false }, "nvidia3": { "cpu_affinity": 1, @@ -279,7 +279,7 @@ "power_default_limit": "250.00 W", "vbios_version": "90.02.17.00.AC", "vendor": "Nvidia", - "reservable": false + "reservation": false } }, "main_memory": { -- GitLab From c086128dd59468b030cb1ba825934c5951f82d86 Mon Sep 17 00:00:00 2001 From: Jonathan Pastor <jonathancmoa@gmail.com> Date: Mon, 4 Nov 2019 18:02:14 +0100 Subject: [PATCH 40/57] reservable -> reservation --- lib/refrepo/gen/oar-properties.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/refrepo/gen/oar-properties.rb b/lib/refrepo/gen/oar-properties.rb index 9ad03139e06..2697b14dd49 100644 --- a/lib/refrepo/gen/oar-properties.rb +++ b/lib/refrepo/gen/oar-properties.rb @@ -1198,7 +1198,7 @@ def extract_clusters_description(clusters, site_name, options, data_hierarchy, s # Detect GPU configuration of nodes if node_description.key? "gpu_devices" - gpus = node_description["gpu_devices"].select{|k ,v| v.fetch("reservable", true)} + gpus = node_description["gpu_devices"].select{|k ,v| v.fetch("reservation", true)} else gpus = [] end @@ -1242,7 +1242,7 @@ def extract_clusters_description(clusters, site_name, options, data_hierarchy, s if node_description.key? "gpu_devices" numa_gpus = node_description["gpu_devices"] .map {|v| v[1]} - .select {|v| v['cpu_affinity'] == cpu_index0 and v.fetch("reservable", true)} + .select {|v| v['cpu_affinity'] == cpu_index0 and v.fetch("reservation", true)} end ############################################ -- GitLab From e926916097d0331174119a88166b7e8856108257 Mon Sep 17 00:00:00 2001 From: Jonathan Pastor <jonathancmoa@gmail.com> Date: Mon, 4 Nov 2019 18:03:11 +0100 Subject: [PATCH 41/57] [DIFF] show empty character when null value is expected by generator --- lib/refrepo/gen/oar-properties.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/refrepo/gen/oar-properties.rb b/lib/refrepo/gen/oar-properties.rb index 2697b14dd49..02a0f1db0a2 100644 --- a/lib/refrepo/gen/oar-properties.rb +++ b/lib/refrepo/gen/oar-properties.rb @@ -958,8 +958,12 @@ def do_diff(options, generated_hierarchy, refrepo_properties) {:cpu => "cpu", :core => "core", :cpuset => "cpuset", :gpu => "gpu", :gpudevice => "gpudevice"}.each do |key, value| if row[key].to_s != corresponding_resource[0][value].to_s and not (key == :gpu and row[key].nil? and corresponding_resource[0][value] == 0) + expected_value = row[key] + if expected_value == "" + expected_value = "ø" + end fix_cmd = <<-TXT -# Error: Resource #{resc["id"]} (host=#{resc["network_address"]} cpu=#{resc["cpu"]} core=#{resc["core"]} cpuset=#{resc["cpuset"]} gpu=#{resc["gpu"]} gpudevice=#{resc["gpudevice"]}) has a mismatch for ressource #{value.upcase}: API gives #{resc[value]}, generator wants #{row[key]}. +# Error: Resource #{resc["id"]} (host=#{resc["network_address"]} cpu=#{resc["cpu"]} core=#{resc["core"]} cpuset=#{resc["cpuset"]} gpu=#{resc["gpu"]} gpudevice=#{resc["gpudevice"]}) has a mismatch for ressource #{value.upcase}: OAR API gives #{resc[value]}, generator wants #{expected_value}. TXT fix_cmds += "#{fix_cmd}" end -- GitLab From fd6c8e012e41cf0ede36a6306fef5350f0399025 Mon Sep 17 00:00:00 2001 From: Jonathan Pastor <jonathancmoa@gmail.com> Date: Mon, 4 Nov 2019 18:03:39 +0100 Subject: [PATCH 42/57] input -> data --- lib/refrepo/gen/oar-properties.rb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/refrepo/gen/oar-properties.rb b/lib/refrepo/gen/oar-properties.rb index 02a0f1db0a2..46f6c2b8ac4 100644 --- a/lib/refrepo/gen/oar-properties.rb +++ b/lib/refrepo/gen/oar-properties.rb @@ -1000,7 +1000,7 @@ def extract_clusters_description(clusters, site_name, options, data_hierarchy, s # This function works as follow: # (1) Initialization - # (a) Load the local data contained in YAML input files + # (a) Load the local data contained in JSON data files # (b) Handle the program arguments (detects which site and which clusters # are targeted), and what action is requested # (c) Fetch the OAR properties of the requested site @@ -1048,8 +1048,8 @@ def extract_clusters_description(clusters, site_name, options, data_hierarchy, s cpu_idx = 0 core_idx = 0 - cluster_desc_from_input_files = data_hierarchy['sites'][site_name]['clusters'][cluster_name] - cluster_nodes = cluster_desc_from_input_files['nodes'] + cluster_desc_from_data_files = data_hierarchy['sites'][site_name]['clusters'][cluster_name] + cluster_nodes = cluster_desc_from_data_files['nodes'] node_count = cluster_nodes.length @@ -1057,7 +1057,7 @@ def extract_clusters_description(clusters, site_name, options, data_hierarchy, s .select{|r| r["cluster"] == cluster_name} .select{|r| cluster_nodes.include?(r["host"].split(".")[0])} - first_node = cluster_desc_from_input_files['nodes'].first[1] + first_node = cluster_desc_from_data_files['nodes'].first[1] # Some clusters such as graphite have a different organisation: # for example, graphite-1 is organised as follow: @@ -1192,7 +1192,7 @@ def extract_clusters_description(clusters, site_name, options, data_hierarchy, s name = nodes_names[node_index0][:name] fqdn = nodes_names[node_index0][:fqdn] - node_description = cluster_desc_from_input_files["nodes"][name] + node_description = cluster_desc_from_data_files["nodes"][name] node_description_default_properties = site_properties["default"][name] -- GitLab From b93b562c9aba15ffe111e52b922570d43fa25bc3 Mon Sep 17 00:00:00 2001 From: Jonathan Pastor <jonathancmoa@gmail.com> Date: Mon, 4 Nov 2019 18:04:01 +0100 Subject: [PATCH 43/57] when no GPUs, set gpu=0 --- lib/refrepo/gen/oar-properties.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/refrepo/gen/oar-properties.rb b/lib/refrepo/gen/oar-properties.rb index 46f6c2b8ac4..8007650d8ed 100644 --- a/lib/refrepo/gen/oar-properties.rb +++ b/lib/refrepo/gen/oar-properties.rb @@ -247,7 +247,7 @@ def export_rows_as_oar_command(generated_hierarchy, site_name, site_properties, else # Update the resource if gpu == '' - result += "oarnodesetting --sql \"host='#{host}' AND resource_id='#{resource_id}' AND type='default'\" -p cpu=#{cpu} -p core=#{core} -p cpuset=#{cpuset}\n" + result += "oarnodesetting --sql \"host='#{host}' AND resource_id='#{resource_id}' AND type='default'\" -p cpu=#{cpu} -p core=#{core} -p cpuset=#{cpuset} -p gpu=0 -p gpudevice= -p gpu_model=\n" else result += "oarnodesetting --sql \"host='#{host}' AND resource_id='#{resource_id}' AND type='default'\" -p cpu=#{cpu} -p core=#{core} -p cpuset=#{cpuset} -p gpu=#{gpu} -p gpu_model='#{gpumodel}' -p gpudevice=#{gpudevice} # This GPU is mapped on #{gpudevicepath}\n" end -- GitLab From 04e122822d3631019bc167d52a43e575bc0904d9 Mon Sep 17 00:00:00 2001 From: Jonathan Pastor <jonathancmoa@gmail.com> Date: Mon, 4 Nov 2019 18:05:29 +0100 Subject: [PATCH 44/57] regenerate ref-api --- data/grid5000/sites/lyon/clusters/orion/nodes/orion-1.json | 1 + data/grid5000/sites/lyon/clusters/orion/nodes/orion-2.json | 1 + data/grid5000/sites/lyon/clusters/orion/nodes/orion-3.json | 1 + data/grid5000/sites/lyon/clusters/orion/nodes/orion-4.json | 1 + 4 files changed, 4 insertions(+) diff --git a/data/grid5000/sites/lyon/clusters/orion/nodes/orion-1.json b/data/grid5000/sites/lyon/clusters/orion/nodes/orion-1.json index 036822415f2..4dec46a8072 100644 --- a/data/grid5000/sites/lyon/clusters/orion/nodes/orion-1.json +++ b/data/grid5000/sites/lyon/clusters/orion/nodes/orion-1.json @@ -24,6 +24,7 @@ "memory": 5636096000, "model": "Tesla M2075", "power_default_limit": "225.00 W", + "reservation": true, "vbios_version": "70.10.46.00.05", "vendor": "Nvidia" } diff --git a/data/grid5000/sites/lyon/clusters/orion/nodes/orion-2.json b/data/grid5000/sites/lyon/clusters/orion/nodes/orion-2.json index c4809a4676a..e5b3b678e64 100644 --- a/data/grid5000/sites/lyon/clusters/orion/nodes/orion-2.json +++ b/data/grid5000/sites/lyon/clusters/orion/nodes/orion-2.json @@ -24,6 +24,7 @@ "memory": 5636096000, "model": "Tesla M2075", "power_default_limit": "225.00 W", + "reservation": false, "vbios_version": "70.10.46.00.05", "vendor": "Nvidia" } diff --git a/data/grid5000/sites/lyon/clusters/orion/nodes/orion-3.json b/data/grid5000/sites/lyon/clusters/orion/nodes/orion-3.json index b26d0529896..444410c3168 100644 --- a/data/grid5000/sites/lyon/clusters/orion/nodes/orion-3.json +++ b/data/grid5000/sites/lyon/clusters/orion/nodes/orion-3.json @@ -24,6 +24,7 @@ "memory": 5636096000, "model": "Tesla M2075", "power_default_limit": "225.00 W", + "reservation": false, "vbios_version": "70.10.46.00.05", "vendor": "Nvidia" } diff --git a/data/grid5000/sites/lyon/clusters/orion/nodes/orion-4.json b/data/grid5000/sites/lyon/clusters/orion/nodes/orion-4.json index 9866a6375ea..b05821e3295 100644 --- a/data/grid5000/sites/lyon/clusters/orion/nodes/orion-4.json +++ b/data/grid5000/sites/lyon/clusters/orion/nodes/orion-4.json @@ -24,6 +24,7 @@ "memory": 5636096000, "model": "Tesla M2075", "power_default_limit": "225.00 W", + "reservation": false, "vbios_version": "70.10.46.00.05", "vendor": "Nvidia" } -- GitLab From da21c2bd483a15fa4a6d96b91835dc478acc24e6 Mon Sep 17 00:00:00 2001 From: Jonathan Pastor <jonathancmoa@gmail.com> Date: Thu, 7 Nov 2019 15:12:18 +0100 Subject: [PATCH 45/57] using empty character for indicating that generator expects no value --- lib/refrepo/gen/oar-properties.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/refrepo/gen/oar-properties.rb b/lib/refrepo/gen/oar-properties.rb index 8007650d8ed..380b18b23ea 100644 --- a/lib/refrepo/gen/oar-properties.rb +++ b/lib/refrepo/gen/oar-properties.rb @@ -959,7 +959,7 @@ def do_diff(options, generated_hierarchy, refrepo_properties) {:cpu => "cpu", :core => "core", :cpuset => "cpuset", :gpu => "gpu", :gpudevice => "gpudevice"}.each do |key, value| if row[key].to_s != corresponding_resource[0][value].to_s and not (key == :gpu and row[key].nil? and corresponding_resource[0][value] == 0) expected_value = row[key] - if expected_value == "" + if expected_value == "" or expected_value.nil? expected_value = "ø" end fix_cmd = <<-TXT -- GitLab From bff27b5d8c34319c5c4028f4a5a81535f448e8bc Mon Sep 17 00:00:00 2001 From: Jonathan Pastor <jonathancmoa@gmail.com> Date: Thu, 7 Nov 2019 15:12:48 +0100 Subject: [PATCH 46/57] implement a spec test for generator expecting no value --- spec/oar_properties_spec.rb | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/spec/oar_properties_spec.rb b/spec/oar_properties_spec.rb index 3903dee5289..77416a4b231 100644 --- a/spec/oar_properties_spec.rb +++ b/spec/oar_properties_spec.rb @@ -2110,6 +2110,42 @@ GeForce RTX 2080 Ti expect(generator_output[:stdout]).to include(expected_output) expect(generator_output[:stdout]).not_to include(not_expected_output) end + + it 'should ignore the GPUs' do + + uri = URI(conf["uri"]) + + response = Net::HTTP.get(uri) + + expect(response).to be_an_instance_of(String) + + options = { + :table => false, + :print => false, + :update => false, + :diff => true, + :site => "fakesite", + :clusters => ["clustera"], + :verbose => 2 + } + + expected_output = <<-TXT +# Error: Resource 1 (host=clustera-1.fakesite.grid5000.fr cpu=1 core=1 cpuset=0 gpu=1 gpudevice=0) has a mismatch for ressource GPU: OAR API gives 1, generator wants ø. +# Error: Resource 1 (host=clustera-1.fakesite.grid5000.fr cpu=1 core=1 cpuset=0 gpu=1 gpudevice=0) has a mismatch for ressource GPUDEVICE: OAR API gives 0, generator wants ø. +# Error: Resource 2 (host=clustera-1.fakesite.grid5000.fr cpu=1 core=2 cpuset=1 gpu=1 gpudevice=0) has a mismatch for ressource GPU: OAR API gives 1, generator wants ø. + TXT + + not_expected_output = <<-TXT +GeForce RTX 2080 Ti + TXT + + generator_output = capture do + generate_oar_properties(options) + end + + expect(generator_output[:stdout]).to include(expected_output) + expect(generator_output[:stdout]).not_to include(not_expected_output) + end end end -- GitLab From c2c081ac176b9dd08a8cced3fe6e56e501be5a8f Mon Sep 17 00:00:00 2001 From: Jonathan Pastor <jonathancmoa@gmail.com> Date: Wed, 13 Nov 2019 10:22:06 +0100 Subject: [PATCH 47/57] remove the setting of 'gpu=0' when there is no gpu associated to a node --- lib/refrepo/gen/oar-properties.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/refrepo/gen/oar-properties.rb b/lib/refrepo/gen/oar-properties.rb index 380b18b23ea..8111b430492 100644 --- a/lib/refrepo/gen/oar-properties.rb +++ b/lib/refrepo/gen/oar-properties.rb @@ -247,7 +247,7 @@ def export_rows_as_oar_command(generated_hierarchy, site_name, site_properties, else # Update the resource if gpu == '' - result += "oarnodesetting --sql \"host='#{host}' AND resource_id='#{resource_id}' AND type='default'\" -p cpu=#{cpu} -p core=#{core} -p cpuset=#{cpuset} -p gpu=0 -p gpudevice= -p gpu_model=\n" + result += "oarnodesetting --sql \"host='#{host}' AND resource_id='#{resource_id}' AND type='default'\" -p cpu=#{cpu} -p core=#{core} -p cpuset=#{cpuset}\n" else result += "oarnodesetting --sql \"host='#{host}' AND resource_id='#{resource_id}' AND type='default'\" -p cpu=#{cpu} -p core=#{core} -p cpuset=#{cpuset} -p gpu=#{gpu} -p gpu_model='#{gpumodel}' -p gpudevice=#{gpudevice} # This GPU is mapped on #{gpudevicepath}\n" end -- GitLab From 9c1ae35e1e4556d8419c1bb2c037782ba2a3a185 Mon Sep 17 00:00:00 2001 From: Jonathan Pastor <jonathancmoa@gmail.com> Date: Wed, 13 Nov 2019 10:23:27 +0100 Subject: [PATCH 48/57] revert 'gpu=0' on spec tests --- spec/oar_properties_spec.rb | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/spec/oar_properties_spec.rb b/spec/oar_properties_spec.rb index 77416a4b231..4d6fdbbf416 100644 --- a/spec/oar_properties_spec.rb +++ b/spec/oar_properties_spec.rb @@ -1485,16 +1485,16 @@ TXT ################################### # clusterc-1.fakesite.grid5000.fr ################################### -oarnodesetting --sql "host='clusterc-1.fakesite.grid5000.fr' AND resource_id='1' AND type='default'" -p cpu=1 -p core=1 -p cpuset=0 -p gpu=0 -p gpudevice= -p gpu_model= -oarnodesetting --sql "host='clusterc-1.fakesite.grid5000.fr' AND resource_id='2' AND type='default'" -p cpu=1 -p core=2 -p cpuset=1 -p gpu=0 -p gpudevice= -p gpu_model= -oarnodesetting --sql "host='clusterc-1.fakesite.grid5000.fr' AND resource_id='3' AND type='default'" -p cpu=1 -p core=3 -p cpuset=2 -p gpu=0 -p gpudevice= -p gpu_model= +oarnodesetting --sql "host='clusterc-1.fakesite.grid5000.fr' AND resource_id='1' AND type='default'" -p cpu=1 -p core=1 -p cpuset=0 +oarnodesetting --sql "host='clusterc-1.fakesite.grid5000.fr' AND resource_id='2' AND type='default'" -p cpu=1 -p core=2 -p cpuset=1 +oarnodesetting --sql "host='clusterc-1.fakesite.grid5000.fr' AND resource_id='3' AND type='default'" -p cpu=1 -p core=3 -p cpuset=2 TXT expected_clusterc2_cmds = <<-TXT -oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' AND resource_id='32' AND type='default'" -p cpu=4 -p core=29 -p cpuset=12 -p gpu=0 -p gpudevice= -p gpu_model= -oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' AND resource_id='33' AND type='default'" -p cpu=4 -p core=30 -p cpuset=13 -p gpu=0 -p gpudevice= -p gpu_model= -oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' AND resource_id='34' AND type='default'" -p cpu=4 -p core=31 -p cpuset=14 -p gpu=0 -p gpudevice= -p gpu_model= -oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' AND resource_id='35' AND type='default'" -p cpu=4 -p core=32 -p cpuset=15 -p gpu=0 -p gpudevice= -p gpu_model= +oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' AND resource_id='32' AND type='default'" -p cpu=4 -p core=29 -p cpuset=12 +oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' AND resource_id='33' AND type='default'" -p cpu=4 -p core=30 -p cpuset=13 +oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' AND resource_id='34' AND type='default'" -p cpu=4 -p core=31 -p cpuset=14 +oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' AND resource_id='35' AND type='default'" -p cpu=4 -p core=32 -p cpuset=15 TXT expected_clusterc3_cmds = <<-TXT oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' and type='default'" -p ip='172.16.64.2' -p cluster='clusterc' -p nodemodel='Dell PowerEdge T640' -p virtual='ivt' -p cpuarch='x86_64' -p cpucore=8 -p cputype='Intel Xeon Silver 4110' -p cpufreq='2.1' -p disktype='SATA' -p eth_count=1 -p eth_rate=10 -p ib_count=0 -p ib_rate=0 -p ib='NO' -p opa_count=0 -p opa_rate=0 -p opa='NO' -p myri_count=0 -p myri_rate=0 -p myri='NO' -p memcore=8192 -p memcpu=65536 -p memnode=131072 -p gpu_count=0 -p mic='NO' -p wattmeter='MULTIPLE' -p cluster_priority=201906 -p max_walltime=86400 -p production='YES' -p maintenance='NO' -p disk_reservation_count=3 @@ -1637,16 +1637,16 @@ TXT ################################### # clusterc-1.fakesite.grid5000.fr ################################### -oarnodesetting --sql "host='clusterc-1.fakesite.grid5000.fr' AND resource_id='1' AND type='default'" -p cpu=1 -p core=1 -p cpuset=0 -p gpu=0 -p gpudevice= -p gpu_model= -oarnodesetting --sql "host='clusterc-1.fakesite.grid5000.fr' AND resource_id='2' AND type='default'" -p cpu=1 -p core=3 -p cpuset=1 -p gpu=0 -p gpudevice= -p gpu_model= -oarnodesetting --sql "host='clusterc-1.fakesite.grid5000.fr' AND resource_id='3' AND type='default'" -p cpu=1 -p core=2 -p cpuset=2 -p gpu=0 -p gpudevice= -p gpu_model= +oarnodesetting --sql "host='clusterc-1.fakesite.grid5000.fr' AND resource_id='1' AND type='default'" -p cpu=1 -p core=1 -p cpuset=0 +oarnodesetting --sql "host='clusterc-1.fakesite.grid5000.fr' AND resource_id='2' AND type='default'" -p cpu=1 -p core=3 -p cpuset=1 +oarnodesetting --sql "host='clusterc-1.fakesite.grid5000.fr' AND resource_id='3' AND type='default'" -p cpu=1 -p core=2 -p cpuset=2 TXT expected_clusterc2_cmds = <<-TXT -oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' AND resource_id='32' AND type='default'" -p cpu=4 -p core=29 -p cpuset=12 -p gpu=0 -p gpudevice= -p gpu_model= -oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' AND resource_id='33' AND type='default'" -p cpu=4 -p core=30 -p cpuset=13 -p gpu=0 -p gpudevice= -p gpu_model= -oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' AND resource_id='34' AND type='default'" -p cpu=4 -p core=31 -p cpuset=14 -p gpu=0 -p gpudevice= -p gpu_model= -oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' AND resource_id='35' AND type='default'" -p cpu=4 -p core=32 -p cpuset=15 -p gpu=0 -p gpudevice= -p gpu_model= +oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' AND resource_id='32' AND type='default'" -p cpu=4 -p core=29 -p cpuset=12 +oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' AND resource_id='33' AND type='default'" -p cpu=4 -p core=30 -p cpuset=13 +oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' AND resource_id='34' AND type='default'" -p cpu=4 -p core=31 -p cpuset=14 +oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' AND resource_id='35' AND type='default'" -p cpu=4 -p core=32 -p cpuset=15 TXT expected_clusterc3_cmds = <<-TXT oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' and type='default'" -p ip='172.16.64.2' -p cluster='clusterc' -p nodemodel='Dell PowerEdge T640' -p virtual='ivt' -p cpuarch='x86_64' -p cpucore=8 -p cputype='Intel Xeon Silver 4110' -p cpufreq='2.1' -p disktype='SATA' -p eth_count=1 -p eth_rate=10 -p ib_count=0 -p ib_rate=0 -p ib='NO' -p opa_count=0 -p opa_rate=0 -p opa='NO' -p myri_count=0 -p myri_rate=0 -p myri='NO' -p memcore=8192 -p memcpu=65536 -p memnode=131072 -p gpu_count=0 -p mic='NO' -p wattmeter='MULTIPLE' -p cluster_priority=201906 -p max_walltime=86400 -p production='YES' -p maintenance='NO' -p disk_reservation_count=3 -- GitLab From d2d42f6953f249362cb34c2480cf939e07ad78af Mon Sep 17 00:00:00 2001 From: Jonathan Pastor <jonathancmoa@gmail.com> Date: Wed, 13 Nov 2019 10:24:28 +0100 Subject: [PATCH 49/57] implement sanity check of OAR resources --- lib/refrepo/gen/oar-properties.rb | 142 ++++++++++++++++++++++-------- 1 file changed, 103 insertions(+), 39 deletions(-) diff --git a/lib/refrepo/gen/oar-properties.rb b/lib/refrepo/gen/oar-properties.rb index 8111b430492..1f04e585afb 100644 --- a/lib/refrepo/gen/oar-properties.rb +++ b/lib/refrepo/gen/oar-properties.rb @@ -996,6 +996,90 @@ TXT end +def sanity_check(cluster_resources, site_resources) + + sanity_result = true + + # Detect cluster resources + cluster_cpus = + cluster_resources + .map{|r| r["cpu"]} + .uniq + cluster_gpus = + cluster_resources + .map{|r| r["gpu"]} + .select{|gpu| not gpu.nil?} + .uniq + cluster_cores = + cluster_resources + .map{|r| r["core"]} + .uniq + + # Check CPUs + cluster_cpus.each do |cluster_cpu| + hosts_with_same_cpu = + site_resources + .select{|r| r["cpu"] == cluster_cpu} + .map{|r| r["host"]} + .uniq + + if hosts_with_same_cpu.length > 1 + puts("################################") + puts("# Error: CPU #{cluster_cpu} is associated to more than one host: #{hosts_with_same_cpu}.") + puts("# You can review this situation via the following command:\n") + puts("################################") + puts("oarnodes -Y --sql \"cpu=#{cluster_cpu}\"") + puts("") + + sanity_result = false + end + end + + # Checks GPUs + cluster_gpus.each do |cluster_gpu| + hosts_with_same_gpu = + site_resources + .select{|r| r["gpu"] == cluster_gpu} + .map{|r| r["host"]} + .uniq + + if hosts_with_same_gpu.length > 1 + puts("################################") + puts("# Error: GPU #{cluster_gpu} is associated to more than one host: #{hosts_with_same_gpu}.") + puts("# You can review this situation via the following command:\n") + puts("################################") + puts("oarnodes -Y --sql \"gpu=#{cluster_gpu}\"") + puts("") + + sanity_result = false + end + end + + # Check Cores + cluster_cores.each do |cluster_core| + resources_id_with_same_core = + site_resources + .select{|r| r["core"] == cluster_core} + .map{|r| r["id"]} + + if resources_id_with_same_core.length > 1 + oar_sql_clause = resources_id_with_same_core .map{|rid| "resource_id='#{rid}'"}.join(" OR ") + + puts("################################") + puts("# Error: resources with ids #{resources_id_with_same_core} have the same value for core (core is equal to #{cluster_core})\n") + puts("# You can review this situation via the following command:\n") + puts("################################") + puts("oarnodes -Y --sql \"#{oar_sql_clause}\"") + puts("") + + sanity_result = false + end + end + + return sanity_result +end + + def extract_clusters_description(clusters, site_name, options, data_hierarchy, site_properties) # This function works as follow: @@ -1057,6 +1141,12 @@ def extract_clusters_description(clusters, site_name, options, data_hierarchy, s .select{|r| r["cluster"] == cluster_name} .select{|r| cluster_nodes.include?(r["host"].split(".")[0])} + sanity_check_result = sanity_check(cluster_resources, site_resources) + unless sanity_check_result + puts("It seems that the cluster \"#{cluster_name}\" has some incoherence in its resource configuration (see above). The generator will abort.") + raise 'Sanity check failed' + end + first_node = cluster_desc_from_data_files['nodes'].first[1] # Some clusters such as graphite have a different organisation: @@ -1128,44 +1218,14 @@ def extract_clusters_description(clusters, site_name, options, data_hierarchy, s end phys_rsc_map.each do |physical_resource, variables| - # Try to detect a bad allocation of physical resources. There is two main cases: - # case 1) We detect too many resources: it likely means than a rsc of another cluster has been mis-associated to - # this cluster. A simple fix is to sort <RESOURCES> of the cluster according to their number of occurence in - # the cluster's properties, and keep only the N <RESOURCES> that appears the most frequently, where N is equal - # to node_count * count(RESOURCES) - # case 2) We don't have enough RESOURCES: it likely means that a same rsc has been associated to different - # properties, and that a "gap" should exist in RESOURCES IDs (.i.e some rsc IDs are available). We fill the - # missing RESOURCES with a) available RESOURCES in the site, and then b) new RESOURCES - + # Try to detect case where an existing cluster is misconfigured: too many or too few OAR resources phys_rsc_ids = variables[:current_ids] expected_phys_rsc_count = variables[:per_cluster_count] if phys_rsc_ids.length != expected_phys_rsc_count - - # We detected a situation where a phyisical resource is misallocated to a wrong OAR property - if cluster_resources.map{|r| r[physical_resource]}.length == expected_phys_rsc_count - resource_count = Hash.new([]) - cluster_resources.select{|r| not r[physical_resource].nil? }.each do |resource| - resource_count[resource[physical_resource]] += [resource] - end - - for (k, v) in resource_count - if v.size > 1 - duplicated_resources = cluster_resources.select{|r| r[physical_resource] == k} - oar_sql_clause = duplicated_resources.map{|r| r["id"]}.map{|rid| "resource_id='#{rid}'"}.join(" OR ") - - puts("################################") - puts("# Error: resources with ids #{duplicated_resources.map{|r| r["id"]}} have the same value for #{physical_resource} (#{physical_resource} is equal to #{k})\n") - puts("# You can review this situation via the following command:\n") - puts("################################") - puts("oarnodes -Y --sql \"#{oar_sql_clause}\"\n") - end - end - end - if ["cpu", "core"].include? physical_resource - puts("#{physical_resource} has an unexpected number of resources (current:#{phys_rsc_ids.length} vs expected:#{expected_phys_rsc_count})") - return 1 + puts("#{physical_resource.upcase} has an unexpected number of resources (current:#{phys_rsc_ids.length} vs expected:#{expected_phys_rsc_count}).") + raise "unexpected number (current:#{phys_rsc_ids.length} vs expected:#{expected_phys_rsc_count}) of resources for cluster #{cluster_name}" end end @@ -1377,7 +1437,6 @@ def generate_oar_properties(options) clusters = options[:clusters] end - refrepo_properties = get_oar_properties_from_the_ref_repo(data_hierarchy, { :sites => [site_name] }) @@ -1386,11 +1445,16 @@ def generate_oar_properties(options) # Generate information about the clusters ############################################ - generated_hierarchy = extract_clusters_description(clusters, - site_name, - options, - data_hierarchy, - refrepo_properties[site_name]) + begin + generated_hierarchy = extract_clusters_description(clusters, + site_name, + options, + data_hierarchy, + refrepo_properties[site_name]) + rescue + print("A problem occured while building the clusters description. Generator is exiting.") + return 1 + end ############################################ # Output generated information -- GitLab From bc2266e65972f1c48d205cef2479641737595a6f Mon Sep 17 00:00:00 2001 From: Jonathan Pastor <jonathancmoa@gmail.com> Date: Wed, 13 Nov 2019 10:25:23 +0100 Subject: [PATCH 50/57] implement spec tests for sanity check of OAR resources --- spec/oar_properties_spec.rb | 131 +- ...red_server_duplicated_cpus_cores_gpus.json | 2446 ++++++++++++++++ ...red_server_with_too_few_oar_resources.json | 2370 ++++++++++++++++ ...ed_server_with_too_many_oar_resources.json | 2522 +++++++++++++++++ 4 files changed, 7462 insertions(+), 7 deletions(-) create mode 100644 spec/stub_oar_properties/dump_oar_api_configured_server_duplicated_cpus_cores_gpus.json create mode 100644 spec/stub_oar_properties/dump_oar_api_configured_server_with_too_few_oar_resources.json create mode 100644 spec/stub_oar_properties/dump_oar_api_configured_server_with_too_many_oar_resources.json diff --git a/spec/oar_properties_spec.rb b/spec/oar_properties_spec.rb index 4d6fdbbf416..367d68c86bf 100644 --- a/spec/oar_properties_spec.rb +++ b/spec/oar_properties_spec.rb @@ -1731,17 +1731,11 @@ TXT oarnodes -Y --sql "resource_id='2' OR resource_id='3'" TXT - has_encountered_an_error = false generator_output = capture do - begin generate_oar_properties(options) - rescue - has_encountered_an_error = true - end end expect(generator_output[:stdout]).to include(expected_output) - expect(has_encountered_an_error).to be true end end @@ -2111,7 +2105,7 @@ GeForce RTX 2080 Ti expect(generator_output[:stdout]).not_to include(not_expected_output) end - it 'should ignore the GPUs' do + it 'it should expect no value for GPU (DIFF)' do uri = URI(conf["uri"]) @@ -2148,4 +2142,127 @@ GeForce RTX 2080 Ti end end + context 'interracting with a configured same CPUs, COREs, GPUS, allocated to different servers' do + before do + prepare_stubs("dump_oar_api_configured_server_duplicated_cpus_cores_gpus.json", "load_data_hierarchy_stubbed_data.json") + end + + it 'should trigger an error with a message' do + + uri = URI(conf["uri"]) + + response = Net::HTTP.get(uri) + + expect(response).to be_an_instance_of(String) + + options = { + :table => false, + :print => false, + :update => false, + :diff => true, + :site => "fakesite", + :clusters => ["clustera"], + :verbose => 2 + } + + expected_output = <<-TXT +################################ +# Error: CPU 1 is associated to more than one host: ["clustera-1.fakesite.grid5000.fr", "clustera-2.fakesite.grid5000.fr"]. +# You can review this situation via the following command: +################################ +oarnodes -Y --sql "cpu=1" + +################################ +# Error: GPU 1 is associated to more than one host: ["clustera-1.fakesite.grid5000.fr", "clustera-2.fakesite.grid5000.fr"]. +# You can review this situation via the following command: +################################ +oarnodes -Y --sql "gpu=1" + +################################ +# Error: resources with ids [21, 22] have the same value for core (core is equal to 21) +# You can review this situation via the following command: +################################ +oarnodes -Y --sql "resource_id='21' OR resource_id='22'" + +It seems that the cluster "clustera" has some incoherence in its resource configuration (see above). The generator will abort. + TXT + + generator_output = capture do + generate_oar_properties(options) + end + + expect(generator_output[:stdout]).to include(expected_output) + end + end + + context 'interracting with a configured same CPUs, COREs, GPUS, allocated to different servers' do + before do + prepare_stubs("dump_oar_api_configured_server_with_too_many_oar_resources.json", "load_data_hierarchy_stubbed_data.json") + end + + it 'should trigger an error with a message' do + + uri = URI(conf["uri"]) + + response = Net::HTTP.get(uri) + + expect(response).to be_an_instance_of(String) + + options = { + :table => false, + :print => false, + :update => false, + :diff => true, + :site => "fakesite", + :clusters => ["clustera"], + :verbose => 2 + } + + expected_output = <<-TXT +CORE has an unexpected number of resources (current:33 vs expected:32). + TXT + + generator_output = capture do + generate_oar_properties(options) + end + + expect(generator_output[:stdout]).to include(expected_output) + end + end + + context 'interracting with a configured same CPUs, COREs, GPUS, allocated to different servers' do + before do + prepare_stubs("dump_oar_api_configured_server_with_too_few_oar_resources.json", "load_data_hierarchy_stubbed_data.json") + end + + it 'should trigger an error with a message' do + + uri = URI(conf["uri"]) + + response = Net::HTTP.get(uri) + + expect(response).to be_an_instance_of(String) + + options = { + :table => false, + :print => false, + :update => false, + :diff => true, + :site => "fakesite", + :clusters => ["clustera"], + :verbose => 2 + } + + expected_output = <<-TXT +CORE has an unexpected number of resources (current:31 vs expected:32). + TXT + + generator_output = capture do + generate_oar_properties(options) + end + + expect(generator_output[:stdout]).to include(expected_output) + end + end + end diff --git a/spec/stub_oar_properties/dump_oar_api_configured_server_duplicated_cpus_cores_gpus.json b/spec/stub_oar_properties/dump_oar_api_configured_server_duplicated_cpus_cores_gpus.json new file mode 100644 index 00000000000..502cf530d83 --- /dev/null +++ b/spec/stub_oar_properties/dump_oar_api_configured_server_duplicated_cpus_cores_gpus.json @@ -0,0 +1,2446 @@ +{ + "offset": 0, + "api_timestamp": 1568902577, + "items": [ + { + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "gpu": 1, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "cpuset": 0, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/1" + }, + { + "href": "//oarapi/resources/1/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "production": "YES", + "type": "default", + "opa_count": 0, + "id": 1, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 0, + "next_state": "UnChanged", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "drain": "NO", + "cpu": 1, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "memcpu": 65536, + "myri_count": 0, + "ip": "172.16.64.1", + "core": 1, + "myri": "NO", + "max_walltime": 86400, + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO" + }, + { + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "id": 2, + "opa_count": 0, + "type": "default", + "production": "YES", + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/2", + "rel": "self" + }, + { + "title": "jobs", + "href": "//oarapi/resources/2/jobs", + "rel": "collection" + } + ], + "cpuset": 1, + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "gpu": 1, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "myri_rate": 0, + "api_timestamp": 1568902577, + "cpucore": 8, + "scheduler_priority": 0, + "last_available_upto": 0, + "finaud_decision": "NO", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "max_walltime": 86400, + "myri": "NO", + "core": 2, + "myri_count": 0, + "ip": "172.16.64.1", + "memcpu": 65536, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpu": 1, + "drain": "NO", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 0, + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE" + }, + { + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "core": 3, + "ip": "172.16.64.1", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 1, + "drain": "NO", + "memcpu": 65536, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "eth_count": 1, + "switch": "gw-fakesite", + "gpudevice": 0, + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_state": "UnChanged", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "cpuset": 2, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/3" + }, + { + "title": "jobs", + "href": "//oarapi/resources/3/jobs", + "rel": "collection" + } + ], + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "opa_count": 0, + "id": 3, + "type": "default", + "production": "YES", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 1, + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "last_available_upto": 0, + "finaud_decision": "NO", + "myri_rate": 0, + "api_timestamp": 1568902577, + "cpucore": 8, + "scheduler_priority": 0 + }, + { + "cpu": 1, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "drain": "NO", + "memcpu": 65536, + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO", + "max_walltime": 86400, + "myri": "NO", + "ip": "172.16.64.1", + "myri_count": 0, + "core": 4, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 0, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "next_state": "UnChanged", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "available_upto": 2147483647, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "rel": "member" + }, + { + "href": "//oarapi/resources/4", + "rel": "self" + }, + { + "href": "//oarapi/resources/4/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "cpuset": 3, + "besteffort": "YES", + "ib_rate": 0, + "id": 4, + "opa_count": 0, + "production": "YES", + "type": "default", + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "scheduler_priority": 0, + "cpucore": 8, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 1, + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive" + }, + { + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "type": "default", + "production": "YES", + "opa_count": 0, + "id": 5, + "ib_rate": 0, + "besteffort": "YES", + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node" + }, + { + "rel": "self", + "href": "//oarapi/resources/5" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/5/jobs" + } + ], + "cpuset": 4, + "available_upto": 2147483647, + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "gpu": 2, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "cpucore": 8, + "scheduler_priority": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "finaud_decision": "NO", + "last_available_upto": 0, + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "suspended_jobs": "NO", + "ib": "NO", + "disk_reservation_count": 0, + "myri_count": 0, + "ip": "172.16.64.1", + "core": 5, + "myri": "NO", + "max_walltime": 86400, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "memcpu": 65536, + "drain": "NO", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 1, + "switch": "gw-fakesite", + "eth_count": 1, + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "next_state": "UnChanged", + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 1, + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr" + }, + { + "opa_count": 0, + "id": 6, + "type": "default", + "production": "YES", + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node" + }, + { + "href": "//oarapi/resources/6", + "rel": "self" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/6/jobs" + } + ], + "cpuset": 5, + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "scheduler_priority": 0, + "cpucore": 8, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 2, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "memcpu": 65536, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpu": 1, + "drain": "NO", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "ip": "172.16.64.1", + "core": 6, + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 1, + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0 + }, + { + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "gpu": 2, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "scheduler_priority": 0, + "cpucore": 8, + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "opa": "NO", + "eth_rate": 10, + "available_upto": 2147483647, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/7", + "rel": "self" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/7/jobs" + } + ], + "cpuset": 6, + "besteffort": "YES", + "ib_rate": 0, + "opa_count": 0, + "id": 7, + "production": "YES", + "type": "default", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "gpudevice": 1, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "next_state": "UnChanged", + "max_walltime": 86400, + "myri": "NO", + "myri_count": 0, + "core": 7, + "ip": "172.16.64.1", + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "cpu": 1, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "drain": "NO", + "memcpu": 65536, + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO" + }, + { + "api_timestamp": 1568902577, + "myri_rate": 0, + "scheduler_priority": 0, + "cpucore": 8, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 2, + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "id": 8, + "opa_count": 0, + "production": "YES", + "type": "default", + "available_upto": 2147483647, + "cpuset": 7, + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node" + }, + { + "href": "//oarapi/resources/8", + "rel": "self" + }, + { + "rel": "collection", + "href": "//oarapi/resources/8/jobs", + "title": "jobs" + } + ], + "besteffort": "YES", + "ib_rate": 0, + "last_job_date": 0, + "opa": "NO", + "eth_rate": 10, + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "next_state": "UnChanged", + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 1, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "memcpu": 65536, + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "cpu": 1, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "drain": "NO", + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "myri": "NO", + "max_walltime": 86400, + "core": 8, + "myri_count": 0, + "ip": "172.16.64.1" + }, + { + "finaud_decision": "NO", + "last_available_upto": 0, + "scheduler_priority": 0, + "cpucore": 8, + "api_timestamp": 1568902577, + "myri_rate": 0, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "gpu": 3, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node" + }, + { + "rel": "self", + "href": "//oarapi/resources/9" + }, + { + "rel": "collection", + "href": "//oarapi/resources/9/jobs", + "title": "jobs" + } + ], + "cpuset": 8, + "production": "YES", + "type": "default", + "id": 9, + "opa_count": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "gpudevice": 2, + "next_state": "UnChanged", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "drain": "NO", + "cpu": 2, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO", + "memcpu": 65536, + "myri_count": 0, + "core": 9, + "ip": "172.16.64.1", + "myri": "NO", + "max_walltime": 86400, + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO" + }, + { + "drain": "NO", + "cpu": 2, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "memcpu": 65536, + "myri_count": 0, + "core": 10, + "ip": "172.16.64.1", + "max_walltime": 86400, + "myri": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "gpudevice": 2, + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "links": [ + { + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node", + "rel": "member" + }, + { + "href": "//oarapi/resources/10", + "rel": "self" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/10/jobs" + } + ], + "cpuset": 9, + "production": "YES", + "type": "default", + "id": 10, + "opa_count": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "gpu": 3 + }, + { + "cpu": 2, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "drain": "NO", + "memcpu": 65536, + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "myri": "NO", + "max_walltime": 86400, + "core": 11, + "myri_count": 0, + "ip": "172.16.64.1", + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "gpudevice": 2, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "next_state": "UnChanged", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "available_upto": 2147483647, + "cpuset": 10, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/11", + "rel": "self" + }, + { + "title": "jobs", + "href": "//oarapi/resources/11/jobs", + "rel": "collection" + } + ], + "besteffort": "YES", + "ib_rate": 0, + "id": 11, + "opa_count": 0, + "production": "YES", + "type": "default", + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "scheduler_priority": 0, + "cpucore": 8, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 3, + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive" + }, + { + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 2, + "switch": "gw-fakesite", + "eth_count": 1, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "memcpu": 65536, + "drain": "NO", + "cpu": 2, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "myri_count": 0, + "ip": "172.16.64.1", + "core": 12, + "myri": "NO", + "max_walltime": 86400, + "scheduler_priority": 0, + "cpucore": 8, + "api_timestamp": 1568902577, + "myri_rate": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "gpu": 3, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "production": "YES", + "type": "default", + "opa_count": 0, + "id": 12, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "links": [ + { + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node", + "rel": "member" + }, + { + "href": "//oarapi/resources/12", + "rel": "self" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/12/jobs" + } + ], + "cpuset": 11, + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072 + }, + { + "core": 13, + "myri_count": 0, + "ip": "172.16.64.1", + "myri": "NO", + "max_walltime": 86400, + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "suspended_jobs": "NO", + "ib": "NO", + "disk_reservation_count": 0, + "drain": "NO", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 2, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "memcpu": 65536, + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 3, + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "next_state": "UnChanged", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "ib_rate": 0, + "besteffort": "YES", + "cpuset": 12, + "links": [ + { + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/13" + }, + { + "href": "//oarapi/resources/13/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "available_upto": 2147483647, + "type": "default", + "production": "YES", + "id": 13, + "opa_count": 0, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "gpu": 4, + "finaud_decision": "NO", + "last_available_upto": 0, + "scheduler_priority": 0, + "cpucore": 8, + "myri_rate": 0, + "api_timestamp": 1568902577 + }, + { + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "gpu": 4, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "cpuset": 13, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "rel": "self", + "href": "//oarapi/resources/14" + }, + { + "rel": "collection", + "href": "//oarapi/resources/14/jobs", + "title": "jobs" + } + ], + "production": "YES", + "type": "default", + "id": 14, + "opa_count": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 3, + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "drain": "NO", + "cpu": 2, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO", + "memcpu": 65536, + "myri_count": 0, + "ip": "172.16.64.1", + "core": 14, + "max_walltime": 86400, + "myri": "NO", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO" + }, + { + "memcpu": 65536, + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "cpu": 2, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "drain": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "max_walltime": 86400, + "myri": "NO", + "myri_count": 0, + "core": 15, + "ip": "172.16.64.1", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "next_state": "UnChanged", + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "gpudevice": 3, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "opa_count": 0, + "id": 15, + "production": "YES", + "type": "default", + "available_upto": 2147483647, + "cpuset": 14, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "rel": "self", + "href": "//oarapi/resources/15" + }, + { + "href": "//oarapi/resources/15/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "besteffort": "YES", + "ib_rate": 0, + "last_job_date": 0, + "opa": "NO", + "eth_rate": 10, + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "cpucore": 8, + "scheduler_priority": 0, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 1, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0 + }, + { + "last_available_upto": 0, + "finaud_decision": "NO", + "myri_rate": 0, + "api_timestamp": 1568902577, + "scheduler_priority": 0, + "cpucore": 8, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 4, + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "cpuset": 15, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/16", + "rel": "self" + }, + { + "href": "//oarapi/resources/16/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "opa_count": 0, + "id": 16, + "type": "default", + "production": "YES", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "gpudevice": 3, + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_state": "UnChanged", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "eth_count": 1, + "switch": "gw-fakesite", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 2, + "drain": "NO", + "memcpu": 65536, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "ip": "172.16.64.1", + "core": 16, + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1 + }, + { + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 0, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "next_state": "UnChanged", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "cpu": 3, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "drain": "NO", + "memcpu": 65536, + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "core": 17, + "ip": "172.16.64.2", + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "scheduler_priority": 0, + "cpucore": 8, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "gpu": 5, + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "available_upto": 2147483647, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "href": "//oarapi/resources/17", + "rel": "self" + }, + { + "title": "jobs", + "href": "//oarapi/resources/17/jobs", + "rel": "collection" + } + ], + "cpuset": 0, + "besteffort": "YES", + "ib_rate": 0, + "opa_count": 0, + "id": 17, + "production": "YES", + "type": "default", + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO" + }, + { + "max_walltime": 86400, + "myri": "NO", + "myri_count": 0, + "ip": "172.16.64.2", + "core": 18, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "cpu": 3, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "drain": "NO", + "memcpu": 65536, + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "gpudevice": 0, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "next_state": "UnChanged", + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "available_upto": 2147483647, + "cpuset": 1, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/18", + "rel": "self" + }, + { + "href": "//oarapi/resources/18/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "besteffort": "YES", + "ib_rate": 0, + "opa_count": 0, + "id": 18, + "production": "YES", + "type": "default", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 5, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "cpucore": 8, + "scheduler_priority": 0 + }, + { + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "type": "default", + "production": "YES", + "opa_count": 0, + "id": 19, + "ib_rate": 0, + "besteffort": "YES", + "cpuset": 2, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "rel": "self", + "href": "//oarapi/resources/19" + }, + { + "href": "//oarapi/resources/19/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "available_upto": 2147483647, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "gpu": 1, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "cpucore": 8, + "scheduler_priority": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "finaud_decision": "NO", + "last_available_upto": 0, + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "myri_count": 0, + "ip": "172.16.64.2", + "core": 19, + "max_walltime": 86400, + "myri": "NO", + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "memcpu": 65536, + "drain": "NO", + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpu": 3, + "switch": "gw-fakesite", + "eth_count": 1, + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "next_state": "UnChanged", + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 0, + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64" + }, + { + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "gpu": 5, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "scheduler_priority": 0, + "cpucore": 8, + "myri_rate": 0, + "api_timestamp": 1568902577, + "finaud_decision": "NO", + "last_available_upto": 0, + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "type": "default", + "production": "YES", + "id": 20, + "opa_count": 0, + "ib_rate": 0, + "besteffort": "YES", + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/20" + }, + { + "href": "//oarapi/resources/20/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "cpuset": 3, + "available_upto": 2147483647, + "switch": "gw-fakesite", + "eth_count": 1, + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "next_state": "UnChanged", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 0, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "myri_count": 0, + "core": 20, + "ip": "172.16.64.2", + "max_walltime": 86400, + "myri": "NO", + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "memcpu": 65536, + "drain": "NO", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 3 + }, + { + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 1, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "memcpu": 65536, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 3, + "drain": "NO", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "core": 21, + "ip": "172.16.64.2", + "myri_rate": 0, + "api_timestamp": 1568902577, + "scheduler_priority": 0, + "cpucore": 8, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 6, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "opa_count": 0, + "id": 21, + "type": "default", + "production": "YES", + "cpuset": 4, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/21" + }, + { + "rel": "collection", + "href": "//oarapi/resources/21/jobs", + "title": "jobs" + } + ], + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "last_job_date": 0, + "opa": "NO", + "eth_rate": 10, + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0 + }, + { + "opa_count": 0, + "id": 22, + "type": "default", + "production": "YES", + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "rel": "self", + "href": "//oarapi/resources/22" + }, + { + "title": "jobs", + "href": "//oarapi/resources/22/jobs", + "rel": "collection" + } + ], + "cpuset": 5, + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "scheduler_priority": 0, + "cpucore": 8, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 6, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "memcpu": 65536, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpu": 3, + "drain": "NO", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "max_walltime": 86400, + "myri": "NO", + "core": 21, + "myri_count": 0, + "ip": "172.16.64.2", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 1, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0 + }, + { + "gpudevice": 1, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_state": "UnChanged", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "eth_count": 1, + "switch": "gw-fakesite", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 3, + "drain": "NO", + "memcpu": 65536, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "max_walltime": 86400, + "myri": "NO", + "ip": "172.16.64.2", + "myri_count": 0, + "core": 23, + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "last_available_upto": 0, + "finaud_decision": "NO", + "myri_rate": 0, + "api_timestamp": 1568902577, + "scheduler_priority": 0, + "cpucore": 8, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 6, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/23" + }, + { + "rel": "collection", + "href": "//oarapi/resources/23/jobs", + "title": "jobs" + } + ], + "cpuset": 6, + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "id": 23, + "opa_count": 0, + "type": "default", + "production": "YES", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO" + }, + { + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 1, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "next_state": "UnChanged", + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "ip": "172.16.64.2", + "core": 24, + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "cpu": 3, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "drain": "NO", + "memcpu": 65536, + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 6, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "cpucore": 8, + "scheduler_priority": 0, + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "opa": "NO", + "eth_rate": 10, + "available_upto": 2147483647, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/24", + "rel": "self" + }, + { + "rel": "collection", + "href": "//oarapi/resources/24/jobs", + "title": "jobs" + } + ], + "cpuset": 7, + "besteffort": "YES", + "ib_rate": 0, + "opa_count": 0, + "id": 24, + "production": "YES", + "type": "default" + }, + { + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 2, + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "next_state": "UnChanged", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "drain": "NO", + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpu": 4, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "memcpu": 65536, + "myri_count": 0, + "ip": "172.16.64.2", + "core": 25, + "myri": "NO", + "max_walltime": 86400, + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "gpu": 7, + "ib_rate": 0, + "besteffort": "YES", + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/25", + "rel": "self" + }, + { + "href": "//oarapi/resources/25/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "cpuset": 8, + "available_upto": 2147483647, + "type": "default", + "production": "YES", + "opa_count": 0, + "id": 25, + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0 + }, + { + "id": 26, + "opa_count": 0, + "type": "default", + "production": "YES", + "cpuset": 9, + "links": [ + { + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "title": "node", + "rel": "member" + }, + { + "href": "//oarapi/resources/26", + "rel": "self" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/26/jobs" + } + ], + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "cpucore": 8, + "scheduler_priority": 0, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 7, + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "memcpu": 65536, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 4, + "drain": "NO", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "max_walltime": 86400, + "myri": "NO", + "core": 26, + "myri_count": 0, + "ip": "172.16.64.2", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 2, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0 + }, + { + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "ib_rate": 0, + "besteffort": "YES", + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "title": "node" + }, + { + "rel": "self", + "href": "//oarapi/resources/27" + }, + { + "href": "//oarapi/resources/27/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "cpuset": 10, + "available_upto": 2147483647, + "type": "default", + "production": "YES", + "opa_count": 0, + "id": 27, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "gpu": 7, + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "core": 27, + "myri_count": 0, + "ip": "172.16.64.2", + "myri": "NO", + "max_walltime": 86400, + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "suspended_jobs": "NO", + "ib": "NO", + "disk_reservation_count": 0, + "drain": "NO", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 4, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "memcpu": 65536, + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "gpudevice": 2, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "next_state": "UnChanged", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO" + }, + { + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "gpudevice": 2, + "switch": "gw-fakesite", + "eth_count": 1, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "memcpu": 65536, + "drain": "NO", + "cpu": 4, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "core": 28, + "myri_count": 0, + "ip": "172.16.64.2", + "max_walltime": 86400, + "myri": "NO", + "cpucore": 8, + "scheduler_priority": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "gpu": 7, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "production": "YES", + "type": "default", + "opa_count": 0, + "id": 28, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/28", + "rel": "self" + }, + { + "rel": "collection", + "href": "//oarapi/resources/28/jobs", + "title": "jobs" + } + ], + "cpuset": 11, + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072 + }, + { + "drain": "NO", + "cpu": 4, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO", + "memcpu": 65536, + "core": 29, + "myri_count": 0, + "ip": "172.16.64.2", + "myri": "NO", + "max_walltime": 86400, + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 3, + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "title": "node" + }, + { + "rel": "self", + "href": "//oarapi/resources/29" + }, + { + "rel": "collection", + "href": "//oarapi/resources/29/jobs", + "title": "jobs" + } + ], + "cpuset": 12, + "production": "YES", + "type": "default", + "id": 29, + "opa_count": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "gpu": 8 + }, + { + "gpu": 8, + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "myri_rate": 0, + "api_timestamp": 1568902577, + "cpucore": 8, + "scheduler_priority": 0, + "last_available_upto": 0, + "finaud_decision": "NO", + "last_job_date": 0, + "opa": "NO", + "eth_rate": 10, + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "id": 30, + "opa_count": 0, + "type": "default", + "production": "YES", + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/30" + }, + { + "title": "jobs", + "href": "//oarapi/resources/30/jobs", + "rel": "collection" + } + ], + "cpuset": 13, + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 3, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "suspended_jobs": "NO", + "ib": "NO", + "disk_reservation_count": 0, + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "max_walltime": 86400, + "myri": "NO", + "myri_count": 0, + "core": 30, + "ip": "172.16.64.2", + "memcpu": 65536, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 4, + "drain": "NO" + }, + { + "drain": "NO", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 1, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "memcpu": 65536, + "myri_count": 0, + "ip": "172.16.64.2", + "core": 31, + "max_walltime": 86400, + "myri": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 3, + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "next_state": "UnChanged", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "ib_rate": 0, + "besteffort": "YES", + "cpuset": 14, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/31" + }, + { + "href": "//oarapi/resources/31/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "available_upto": 2147483647, + "type": "default", + "production": "YES", + "opa_count": 0, + "id": 31, + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "gpu": 8 + }, + { + "switch": "gw-fakesite", + "eth_count": 1, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "gpudevice": 3, + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "myri_count": 0, + "core": 32, + "ip": "172.16.64.2", + "max_walltime": 86400, + "myri": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "memcpu": 65536, + "drain": "NO", + "cpu": 4, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "gpu": 8, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "scheduler_priority": 0, + "cpucore": 8, + "api_timestamp": 1568902577, + "myri_rate": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "production": "YES", + "type": "default", + "opa_count": 0, + "id": 32, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "cpuset": 15, + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "title": "node" + }, + { + "href": "//oarapi/resources/32", + "rel": "self" + }, + { + "rel": "collection", + "href": "//oarapi/resources/32/jobs", + "title": "jobs" + } + ] + } + ], + "total": 32, + "links": [ + { + "href": "//oarapi/resources/details.json?limit=999999&offset=0", + "rel": "self" + } + ] +} + diff --git a/spec/stub_oar_properties/dump_oar_api_configured_server_with_too_few_oar_resources.json b/spec/stub_oar_properties/dump_oar_api_configured_server_with_too_few_oar_resources.json new file mode 100644 index 00000000000..d2e9da1ce73 --- /dev/null +++ b/spec/stub_oar_properties/dump_oar_api_configured_server_with_too_few_oar_resources.json @@ -0,0 +1,2370 @@ +{ + "offset": 0, + "api_timestamp": 1568902577, + "items": [ + { + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "gpu": 1, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "cpuset": 0, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/1" + }, + { + "href": "//oarapi/resources/1/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "production": "YES", + "type": "default", + "opa_count": 0, + "id": 1, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 0, + "next_state": "UnChanged", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "drain": "NO", + "cpu": 1, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "memcpu": 65536, + "myri_count": 0, + "ip": "172.16.64.1", + "core": 1, + "myri": "NO", + "max_walltime": 86400, + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO" + }, + { + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "id": 2, + "opa_count": 0, + "type": "default", + "production": "YES", + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/2", + "rel": "self" + }, + { + "title": "jobs", + "href": "//oarapi/resources/2/jobs", + "rel": "collection" + } + ], + "cpuset": 1, + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "gpu": 1, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "myri_rate": 0, + "api_timestamp": 1568902577, + "cpucore": 8, + "scheduler_priority": 0, + "last_available_upto": 0, + "finaud_decision": "NO", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "max_walltime": 86400, + "myri": "NO", + "core": 2, + "myri_count": 0, + "ip": "172.16.64.1", + "memcpu": 65536, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpu": 1, + "drain": "NO", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 0, + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE" + }, + { + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "core": 3, + "ip": "172.16.64.1", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 1, + "drain": "NO", + "memcpu": 65536, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "eth_count": 1, + "switch": "gw-fakesite", + "gpudevice": 0, + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_state": "UnChanged", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "cpuset": 2, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/3" + }, + { + "title": "jobs", + "href": "//oarapi/resources/3/jobs", + "rel": "collection" + } + ], + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "opa_count": 0, + "id": 3, + "type": "default", + "production": "YES", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 1, + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "last_available_upto": 0, + "finaud_decision": "NO", + "myri_rate": 0, + "api_timestamp": 1568902577, + "cpucore": 8, + "scheduler_priority": 0 + }, + { + "cpu": 1, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "drain": "NO", + "memcpu": 65536, + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO", + "max_walltime": 86400, + "myri": "NO", + "ip": "172.16.64.1", + "myri_count": 0, + "core": 4, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 0, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "next_state": "UnChanged", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "available_upto": 2147483647, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "rel": "member" + }, + { + "href": "//oarapi/resources/4", + "rel": "self" + }, + { + "href": "//oarapi/resources/4/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "cpuset": 3, + "besteffort": "YES", + "ib_rate": 0, + "id": 4, + "opa_count": 0, + "production": "YES", + "type": "default", + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "scheduler_priority": 0, + "cpucore": 8, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 1, + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive" + }, + { + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "type": "default", + "production": "YES", + "opa_count": 0, + "id": 5, + "ib_rate": 0, + "besteffort": "YES", + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node" + }, + { + "rel": "self", + "href": "//oarapi/resources/5" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/5/jobs" + } + ], + "cpuset": 4, + "available_upto": 2147483647, + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "gpu": 2, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "cpucore": 8, + "scheduler_priority": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "finaud_decision": "NO", + "last_available_upto": 0, + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "suspended_jobs": "NO", + "ib": "NO", + "disk_reservation_count": 0, + "myri_count": 0, + "ip": "172.16.64.1", + "core": 5, + "myri": "NO", + "max_walltime": 86400, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "memcpu": 65536, + "drain": "NO", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 1, + "switch": "gw-fakesite", + "eth_count": 1, + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "next_state": "UnChanged", + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 1, + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr" + }, + { + "opa_count": 0, + "id": 6, + "type": "default", + "production": "YES", + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node" + }, + { + "href": "//oarapi/resources/6", + "rel": "self" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/6/jobs" + } + ], + "cpuset": 5, + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "scheduler_priority": 0, + "cpucore": 8, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 2, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "memcpu": 65536, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpu": 1, + "drain": "NO", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "ip": "172.16.64.1", + "core": 6, + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 1, + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0 + }, + { + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "gpu": 2, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "scheduler_priority": 0, + "cpucore": 8, + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "opa": "NO", + "eth_rate": 10, + "available_upto": 2147483647, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/7", + "rel": "self" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/7/jobs" + } + ], + "cpuset": 6, + "besteffort": "YES", + "ib_rate": 0, + "opa_count": 0, + "id": 7, + "production": "YES", + "type": "default", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "gpudevice": 1, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "next_state": "UnChanged", + "max_walltime": 86400, + "myri": "NO", + "myri_count": 0, + "core": 7, + "ip": "172.16.64.1", + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "cpu": 1, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "drain": "NO", + "memcpu": 65536, + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO" + }, + { + "api_timestamp": 1568902577, + "myri_rate": 0, + "scheduler_priority": 0, + "cpucore": 8, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 2, + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "id": 8, + "opa_count": 0, + "production": "YES", + "type": "default", + "available_upto": 2147483647, + "cpuset": 7, + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node" + }, + { + "href": "//oarapi/resources/8", + "rel": "self" + }, + { + "rel": "collection", + "href": "//oarapi/resources/8/jobs", + "title": "jobs" + } + ], + "besteffort": "YES", + "ib_rate": 0, + "last_job_date": 0, + "opa": "NO", + "eth_rate": 10, + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "next_state": "UnChanged", + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 1, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "memcpu": 65536, + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "cpu": 1, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "drain": "NO", + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "myri": "NO", + "max_walltime": 86400, + "core": 8, + "myri_count": 0, + "ip": "172.16.64.1" + }, + { + "finaud_decision": "NO", + "last_available_upto": 0, + "scheduler_priority": 0, + "cpucore": 8, + "api_timestamp": 1568902577, + "myri_rate": 0, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "gpu": 3, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node" + }, + { + "rel": "self", + "href": "//oarapi/resources/9" + }, + { + "rel": "collection", + "href": "//oarapi/resources/9/jobs", + "title": "jobs" + } + ], + "cpuset": 8, + "production": "YES", + "type": "default", + "id": 9, + "opa_count": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "gpudevice": 2, + "next_state": "UnChanged", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "drain": "NO", + "cpu": 2, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO", + "memcpu": 65536, + "myri_count": 0, + "core": 9, + "ip": "172.16.64.1", + "myri": "NO", + "max_walltime": 86400, + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO" + }, + { + "drain": "NO", + "cpu": 2, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "memcpu": 65536, + "myri_count": 0, + "core": 10, + "ip": "172.16.64.1", + "max_walltime": 86400, + "myri": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "gpudevice": 2, + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "links": [ + { + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node", + "rel": "member" + }, + { + "href": "//oarapi/resources/10", + "rel": "self" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/10/jobs" + } + ], + "cpuset": 9, + "production": "YES", + "type": "default", + "id": 10, + "opa_count": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "gpu": 3 + }, + { + "cpu": 2, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "drain": "NO", + "memcpu": 65536, + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "myri": "NO", + "max_walltime": 86400, + "core": 11, + "myri_count": 0, + "ip": "172.16.64.1", + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "gpudevice": 2, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "next_state": "UnChanged", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "available_upto": 2147483647, + "cpuset": 10, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/11", + "rel": "self" + }, + { + "title": "jobs", + "href": "//oarapi/resources/11/jobs", + "rel": "collection" + } + ], + "besteffort": "YES", + "ib_rate": 0, + "id": 11, + "opa_count": 0, + "production": "YES", + "type": "default", + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "scheduler_priority": 0, + "cpucore": 8, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 3, + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive" + }, + { + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 2, + "switch": "gw-fakesite", + "eth_count": 1, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "memcpu": 65536, + "drain": "NO", + "cpu": 2, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "myri_count": 0, + "ip": "172.16.64.1", + "core": 12, + "myri": "NO", + "max_walltime": 86400, + "scheduler_priority": 0, + "cpucore": 8, + "api_timestamp": 1568902577, + "myri_rate": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "gpu": 3, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "production": "YES", + "type": "default", + "opa_count": 0, + "id": 12, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "links": [ + { + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node", + "rel": "member" + }, + { + "href": "//oarapi/resources/12", + "rel": "self" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/12/jobs" + } + ], + "cpuset": 11, + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072 + }, + { + "core": 13, + "myri_count": 0, + "ip": "172.16.64.1", + "myri": "NO", + "max_walltime": 86400, + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "suspended_jobs": "NO", + "ib": "NO", + "disk_reservation_count": 0, + "drain": "NO", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 2, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "memcpu": 65536, + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 3, + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "next_state": "UnChanged", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "ib_rate": 0, + "besteffort": "YES", + "cpuset": 12, + "links": [ + { + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/13" + }, + { + "href": "//oarapi/resources/13/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "available_upto": 2147483647, + "type": "default", + "production": "YES", + "id": 13, + "opa_count": 0, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "gpu": 4, + "finaud_decision": "NO", + "last_available_upto": 0, + "scheduler_priority": 0, + "cpucore": 8, + "myri_rate": 0, + "api_timestamp": 1568902577 + }, + { + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "gpu": 4, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "cpuset": 13, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "rel": "self", + "href": "//oarapi/resources/14" + }, + { + "rel": "collection", + "href": "//oarapi/resources/14/jobs", + "title": "jobs" + } + ], + "production": "YES", + "type": "default", + "id": 14, + "opa_count": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 3, + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "drain": "NO", + "cpu": 2, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO", + "memcpu": 65536, + "myri_count": 0, + "ip": "172.16.64.1", + "core": 14, + "max_walltime": 86400, + "myri": "NO", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO" + }, + { + "memcpu": 65536, + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "cpu": 2, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "drain": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "max_walltime": 86400, + "myri": "NO", + "myri_count": 0, + "core": 15, + "ip": "172.16.64.1", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "next_state": "UnChanged", + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "gpudevice": 3, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "opa_count": 0, + "id": 15, + "production": "YES", + "type": "default", + "available_upto": 2147483647, + "cpuset": 14, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "rel": "self", + "href": "//oarapi/resources/15" + }, + { + "href": "//oarapi/resources/15/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "besteffort": "YES", + "ib_rate": 0, + "last_job_date": 0, + "opa": "NO", + "eth_rate": 10, + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "cpucore": 8, + "scheduler_priority": 0, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 4, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0 + }, + { + "last_available_upto": 0, + "finaud_decision": "NO", + "myri_rate": 0, + "api_timestamp": 1568902577, + "scheduler_priority": 0, + "cpucore": 8, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 4, + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "cpuset": 15, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/16", + "rel": "self" + }, + { + "href": "//oarapi/resources/16/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "opa_count": 0, + "id": 16, + "type": "default", + "production": "YES", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "gpudevice": 3, + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_state": "UnChanged", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "eth_count": 1, + "switch": "gw-fakesite", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 2, + "drain": "NO", + "memcpu": 65536, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "ip": "172.16.64.1", + "core": 16, + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1 + }, + { + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 0, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "next_state": "UnChanged", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "cpu": 3, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "drain": "NO", + "memcpu": 65536, + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "core": 17, + "ip": "172.16.64.2", + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "scheduler_priority": 0, + "cpucore": 8, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "gpu": 5, + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "available_upto": 2147483647, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "href": "//oarapi/resources/17", + "rel": "self" + }, + { + "title": "jobs", + "href": "//oarapi/resources/17/jobs", + "rel": "collection" + } + ], + "cpuset": 0, + "besteffort": "YES", + "ib_rate": 0, + "opa_count": 0, + "id": 17, + "production": "YES", + "type": "default", + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO" + }, + { + "max_walltime": 86400, + "myri": "NO", + "myri_count": 0, + "ip": "172.16.64.2", + "core": 18, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "cpu": 3, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "drain": "NO", + "memcpu": 65536, + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "gpudevice": 0, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "next_state": "UnChanged", + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "available_upto": 2147483647, + "cpuset": 1, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/18", + "rel": "self" + }, + { + "href": "//oarapi/resources/18/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "besteffort": "YES", + "ib_rate": 0, + "opa_count": 0, + "id": 18, + "production": "YES", + "type": "default", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 5, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "cpucore": 8, + "scheduler_priority": 0 + }, + { + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "type": "default", + "production": "YES", + "opa_count": 0, + "id": 19, + "ib_rate": 0, + "besteffort": "YES", + "cpuset": 2, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "rel": "self", + "href": "//oarapi/resources/19" + }, + { + "href": "//oarapi/resources/19/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "available_upto": 2147483647, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "gpu": 5, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "cpucore": 8, + "scheduler_priority": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "finaud_decision": "NO", + "last_available_upto": 0, + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "myri_count": 0, + "ip": "172.16.64.2", + "core": 19, + "max_walltime": 86400, + "myri": "NO", + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "memcpu": 65536, + "drain": "NO", + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpu": 3, + "switch": "gw-fakesite", + "eth_count": 1, + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "next_state": "UnChanged", + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 0, + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64" + }, + { + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "gpu": 5, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "scheduler_priority": 0, + "cpucore": 8, + "myri_rate": 0, + "api_timestamp": 1568902577, + "finaud_decision": "NO", + "last_available_upto": 0, + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "type": "default", + "production": "YES", + "id": 20, + "opa_count": 0, + "ib_rate": 0, + "besteffort": "YES", + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/20" + }, + { + "href": "//oarapi/resources/20/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "cpuset": 3, + "available_upto": 2147483647, + "switch": "gw-fakesite", + "eth_count": 1, + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "next_state": "UnChanged", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 0, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "myri_count": 0, + "core": 20, + "ip": "172.16.64.2", + "max_walltime": 86400, + "myri": "NO", + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "memcpu": 65536, + "drain": "NO", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 3 + }, + { + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 1, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "memcpu": 65536, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 3, + "drain": "NO", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "core": 21, + "ip": "172.16.64.2", + "myri_rate": 0, + "api_timestamp": 1568902577, + "scheduler_priority": 0, + "cpucore": 8, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 6, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "opa_count": 0, + "id": 21, + "type": "default", + "production": "YES", + "cpuset": 4, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/21" + }, + { + "rel": "collection", + "href": "//oarapi/resources/21/jobs", + "title": "jobs" + } + ], + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "last_job_date": 0, + "opa": "NO", + "eth_rate": 10, + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0 + }, + { + "opa_count": 0, + "id": 22, + "type": "default", + "production": "YES", + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "rel": "self", + "href": "//oarapi/resources/22" + }, + { + "title": "jobs", + "href": "//oarapi/resources/22/jobs", + "rel": "collection" + } + ], + "cpuset": 5, + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "scheduler_priority": 0, + "cpucore": 8, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 6, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "memcpu": 65536, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpu": 3, + "drain": "NO", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "max_walltime": 86400, + "myri": "NO", + "core": 22, + "myri_count": 0, + "ip": "172.16.64.2", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 1, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0 + }, + { + "gpudevice": 1, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_state": "UnChanged", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "eth_count": 1, + "switch": "gw-fakesite", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 3, + "drain": "NO", + "memcpu": 65536, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "max_walltime": 86400, + "myri": "NO", + "ip": "172.16.64.2", + "myri_count": 0, + "core": 23, + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "last_available_upto": 0, + "finaud_decision": "NO", + "myri_rate": 0, + "api_timestamp": 1568902577, + "scheduler_priority": 0, + "cpucore": 8, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 6, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/23" + }, + { + "rel": "collection", + "href": "//oarapi/resources/23/jobs", + "title": "jobs" + } + ], + "cpuset": 6, + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "id": 23, + "opa_count": 0, + "type": "default", + "production": "YES", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO" + }, + { + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 1, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "next_state": "UnChanged", + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "ip": "172.16.64.2", + "core": 24, + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "cpu": 3, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "drain": "NO", + "memcpu": 65536, + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 6, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "cpucore": 8, + "scheduler_priority": 0, + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "opa": "NO", + "eth_rate": 10, + "available_upto": 2147483647, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/24", + "rel": "self" + }, + { + "rel": "collection", + "href": "//oarapi/resources/24/jobs", + "title": "jobs" + } + ], + "cpuset": 7, + "besteffort": "YES", + "ib_rate": 0, + "opa_count": 0, + "id": 24, + "production": "YES", + "type": "default" + }, + { + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 2, + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "next_state": "UnChanged", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "drain": "NO", + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpu": 4, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "memcpu": 65536, + "myri_count": 0, + "ip": "172.16.64.2", + "core": 25, + "myri": "NO", + "max_walltime": 86400, + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "gpu": 7, + "ib_rate": 0, + "besteffort": "YES", + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/25", + "rel": "self" + }, + { + "href": "//oarapi/resources/25/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "cpuset": 8, + "available_upto": 2147483647, + "type": "default", + "production": "YES", + "opa_count": 0, + "id": 25, + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0 + }, + { + "id": 26, + "opa_count": 0, + "type": "default", + "production": "YES", + "cpuset": 9, + "links": [ + { + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "title": "node", + "rel": "member" + }, + { + "href": "//oarapi/resources/26", + "rel": "self" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/26/jobs" + } + ], + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "cpucore": 8, + "scheduler_priority": 0, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 7, + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "memcpu": 65536, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 4, + "drain": "NO", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "max_walltime": 86400, + "myri": "NO", + "core": 26, + "myri_count": 0, + "ip": "172.16.64.2", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 2, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0 + }, + { + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "ib_rate": 0, + "besteffort": "YES", + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "title": "node" + }, + { + "rel": "self", + "href": "//oarapi/resources/27" + }, + { + "href": "//oarapi/resources/27/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "cpuset": 10, + "available_upto": 2147483647, + "type": "default", + "production": "YES", + "opa_count": 0, + "id": 27, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "gpu": 7, + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "core": 27, + "myri_count": 0, + "ip": "172.16.64.2", + "myri": "NO", + "max_walltime": 86400, + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "suspended_jobs": "NO", + "ib": "NO", + "disk_reservation_count": 0, + "drain": "NO", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 4, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "memcpu": 65536, + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "gpudevice": 2, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "next_state": "UnChanged", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO" + }, + { + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "gpudevice": 2, + "switch": "gw-fakesite", + "eth_count": 1, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "memcpu": 65536, + "drain": "NO", + "cpu": 4, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "core": 28, + "myri_count": 0, + "ip": "172.16.64.2", + "max_walltime": 86400, + "myri": "NO", + "cpucore": 8, + "scheduler_priority": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "gpu": 7, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "production": "YES", + "type": "default", + "opa_count": 0, + "id": 28, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/28", + "rel": "self" + }, + { + "rel": "collection", + "href": "//oarapi/resources/28/jobs", + "title": "jobs" + } + ], + "cpuset": 11, + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072 + }, + { + "drain": "NO", + "cpu": 4, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO", + "memcpu": 65536, + "core": 29, + "myri_count": 0, + "ip": "172.16.64.2", + "myri": "NO", + "max_walltime": 86400, + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 3, + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "title": "node" + }, + { + "rel": "self", + "href": "//oarapi/resources/29" + }, + { + "rel": "collection", + "href": "//oarapi/resources/29/jobs", + "title": "jobs" + } + ], + "cpuset": 12, + "production": "YES", + "type": "default", + "id": 29, + "opa_count": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "gpu": 8 + }, + { + "gpu": 8, + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "myri_rate": 0, + "api_timestamp": 1568902577, + "cpucore": 8, + "scheduler_priority": 0, + "last_available_upto": 0, + "finaud_decision": "NO", + "last_job_date": 0, + "opa": "NO", + "eth_rate": 10, + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "id": 30, + "opa_count": 0, + "type": "default", + "production": "YES", + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/30" + }, + { + "title": "jobs", + "href": "//oarapi/resources/30/jobs", + "rel": "collection" + } + ], + "cpuset": 13, + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 3, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "suspended_jobs": "NO", + "ib": "NO", + "disk_reservation_count": 0, + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "max_walltime": 86400, + "myri": "NO", + "myri_count": 0, + "core": 30, + "ip": "172.16.64.2", + "memcpu": 65536, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 4, + "drain": "NO" + }, + { + "drain": "NO", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 4, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "memcpu": 65536, + "myri_count": 0, + "ip": "172.16.64.2", + "core": 31, + "max_walltime": 86400, + "myri": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 3, + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "next_state": "UnChanged", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "ib_rate": 0, + "besteffort": "YES", + "cpuset": 14, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/31" + }, + { + "href": "//oarapi/resources/31/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "available_upto": 2147483647, + "type": "default", + "production": "YES", + "opa_count": 0, + "id": 31, + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "gpu": 8 + } + ], + "total": 32, + "links": [ + { + "href": "//oarapi/resources/details.json?limit=999999&offset=0", + "rel": "self" + } + ] +} + diff --git a/spec/stub_oar_properties/dump_oar_api_configured_server_with_too_many_oar_resources.json b/spec/stub_oar_properties/dump_oar_api_configured_server_with_too_many_oar_resources.json new file mode 100644 index 00000000000..247174d7c3b --- /dev/null +++ b/spec/stub_oar_properties/dump_oar_api_configured_server_with_too_many_oar_resources.json @@ -0,0 +1,2522 @@ +{ + "offset": 0, + "api_timestamp": 1568902577, + "items": [ + { + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "gpu": 1, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "cpuset": 0, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/1" + }, + { + "href": "//oarapi/resources/1/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "production": "YES", + "type": "default", + "opa_count": 0, + "id": 1, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 0, + "next_state": "UnChanged", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "drain": "NO", + "cpu": 1, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "memcpu": 65536, + "myri_count": 0, + "ip": "172.16.64.1", + "core": 1, + "myri": "NO", + "max_walltime": 86400, + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO" + }, + { + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "id": 2, + "opa_count": 0, + "type": "default", + "production": "YES", + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/2", + "rel": "self" + }, + { + "title": "jobs", + "href": "//oarapi/resources/2/jobs", + "rel": "collection" + } + ], + "cpuset": 1, + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "gpu": 1, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "myri_rate": 0, + "api_timestamp": 1568902577, + "cpucore": 8, + "scheduler_priority": 0, + "last_available_upto": 0, + "finaud_decision": "NO", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "max_walltime": 86400, + "myri": "NO", + "core": 2, + "myri_count": 0, + "ip": "172.16.64.1", + "memcpu": 65536, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpu": 1, + "drain": "NO", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 0, + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE" + }, + { + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "core": 3, + "ip": "172.16.64.1", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 1, + "drain": "NO", + "memcpu": 65536, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "eth_count": 1, + "switch": "gw-fakesite", + "gpudevice": 0, + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_state": "UnChanged", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "cpuset": 2, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/3" + }, + { + "title": "jobs", + "href": "//oarapi/resources/3/jobs", + "rel": "collection" + } + ], + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "opa_count": 0, + "id": 3, + "type": "default", + "production": "YES", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 1, + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "last_available_upto": 0, + "finaud_decision": "NO", + "myri_rate": 0, + "api_timestamp": 1568902577, + "cpucore": 8, + "scheduler_priority": 0 + }, + { + "cpu": 1, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "drain": "NO", + "memcpu": 65536, + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO", + "max_walltime": 86400, + "myri": "NO", + "ip": "172.16.64.1", + "myri_count": 0, + "core": 4, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 0, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "next_state": "UnChanged", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "available_upto": 2147483647, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "rel": "member" + }, + { + "href": "//oarapi/resources/4", + "rel": "self" + }, + { + "href": "//oarapi/resources/4/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "cpuset": 3, + "besteffort": "YES", + "ib_rate": 0, + "id": 4, + "opa_count": 0, + "production": "YES", + "type": "default", + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "scheduler_priority": 0, + "cpucore": 8, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 1, + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive" + }, + { + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "type": "default", + "production": "YES", + "opa_count": 0, + "id": 5, + "ib_rate": 0, + "besteffort": "YES", + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node" + }, + { + "rel": "self", + "href": "//oarapi/resources/5" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/5/jobs" + } + ], + "cpuset": 4, + "available_upto": 2147483647, + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "gpu": 2, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "cpucore": 8, + "scheduler_priority": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "finaud_decision": "NO", + "last_available_upto": 0, + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "suspended_jobs": "NO", + "ib": "NO", + "disk_reservation_count": 0, + "myri_count": 0, + "ip": "172.16.64.1", + "core": 5, + "myri": "NO", + "max_walltime": 86400, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "memcpu": 65536, + "drain": "NO", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 1, + "switch": "gw-fakesite", + "eth_count": 1, + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "next_state": "UnChanged", + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 1, + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr" + }, + { + "opa_count": 0, + "id": 6, + "type": "default", + "production": "YES", + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node" + }, + { + "href": "//oarapi/resources/6", + "rel": "self" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/6/jobs" + } + ], + "cpuset": 5, + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "scheduler_priority": 0, + "cpucore": 8, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 2, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "memcpu": 65536, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpu": 1, + "drain": "NO", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "ip": "172.16.64.1", + "core": 6, + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 1, + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0 + }, + { + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "gpu": 2, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "scheduler_priority": 0, + "cpucore": 8, + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "opa": "NO", + "eth_rate": 10, + "available_upto": 2147483647, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/7", + "rel": "self" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/7/jobs" + } + ], + "cpuset": 6, + "besteffort": "YES", + "ib_rate": 0, + "opa_count": 0, + "id": 7, + "production": "YES", + "type": "default", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "gpudevice": 1, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "next_state": "UnChanged", + "max_walltime": 86400, + "myri": "NO", + "myri_count": 0, + "core": 7, + "ip": "172.16.64.1", + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "cpu": 1, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "drain": "NO", + "memcpu": 65536, + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO" + }, + { + "api_timestamp": 1568902577, + "myri_rate": 0, + "scheduler_priority": 0, + "cpucore": 8, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 2, + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "id": 8, + "opa_count": 0, + "production": "YES", + "type": "default", + "available_upto": 2147483647, + "cpuset": 7, + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node" + }, + { + "href": "//oarapi/resources/8", + "rel": "self" + }, + { + "rel": "collection", + "href": "//oarapi/resources/8/jobs", + "title": "jobs" + } + ], + "besteffort": "YES", + "ib_rate": 0, + "last_job_date": 0, + "opa": "NO", + "eth_rate": 10, + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "next_state": "UnChanged", + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 1, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "memcpu": 65536, + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "cpu": 1, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "drain": "NO", + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "myri": "NO", + "max_walltime": 86400, + "core": 8, + "myri_count": 0, + "ip": "172.16.64.1" + }, + { + "finaud_decision": "NO", + "last_available_upto": 0, + "scheduler_priority": 0, + "cpucore": 8, + "api_timestamp": 1568902577, + "myri_rate": 0, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "gpu": 3, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node" + }, + { + "rel": "self", + "href": "//oarapi/resources/9" + }, + { + "rel": "collection", + "href": "//oarapi/resources/9/jobs", + "title": "jobs" + } + ], + "cpuset": 8, + "production": "YES", + "type": "default", + "id": 9, + "opa_count": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "gpudevice": 2, + "next_state": "UnChanged", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "drain": "NO", + "cpu": 2, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO", + "memcpu": 65536, + "myri_count": 0, + "core": 9, + "ip": "172.16.64.1", + "myri": "NO", + "max_walltime": 86400, + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO" + }, + { + "drain": "NO", + "cpu": 2, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "memcpu": 65536, + "myri_count": 0, + "core": 10, + "ip": "172.16.64.1", + "max_walltime": 86400, + "myri": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "gpudevice": 2, + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "links": [ + { + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node", + "rel": "member" + }, + { + "href": "//oarapi/resources/10", + "rel": "self" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/10/jobs" + } + ], + "cpuset": 9, + "production": "YES", + "type": "default", + "id": 10, + "opa_count": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "gpu": 3 + }, + { + "cpu": 2, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "drain": "NO", + "memcpu": 65536, + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "myri": "NO", + "max_walltime": 86400, + "core": 11, + "myri_count": 0, + "ip": "172.16.64.1", + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "gpudevice": 2, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "next_state": "UnChanged", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "available_upto": 2147483647, + "cpuset": 10, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/11", + "rel": "self" + }, + { + "title": "jobs", + "href": "//oarapi/resources/11/jobs", + "rel": "collection" + } + ], + "besteffort": "YES", + "ib_rate": 0, + "id": 11, + "opa_count": 0, + "production": "YES", + "type": "default", + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "scheduler_priority": 0, + "cpucore": 8, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 3, + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive" + }, + { + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 2, + "switch": "gw-fakesite", + "eth_count": 1, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "memcpu": 65536, + "drain": "NO", + "cpu": 2, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "myri_count": 0, + "ip": "172.16.64.1", + "core": 12, + "myri": "NO", + "max_walltime": 86400, + "scheduler_priority": 0, + "cpucore": 8, + "api_timestamp": 1568902577, + "myri_rate": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "gpu": 3, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "production": "YES", + "type": "default", + "opa_count": 0, + "id": 12, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "links": [ + { + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node", + "rel": "member" + }, + { + "href": "//oarapi/resources/12", + "rel": "self" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/12/jobs" + } + ], + "cpuset": 11, + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072 + }, + { + "core": 13, + "myri_count": 0, + "ip": "172.16.64.1", + "myri": "NO", + "max_walltime": 86400, + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1, + "suspended_jobs": "NO", + "ib": "NO", + "disk_reservation_count": 0, + "drain": "NO", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 2, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "memcpu": 65536, + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 3, + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "next_state": "UnChanged", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "ib_rate": 0, + "besteffort": "YES", + "cpuset": 12, + "links": [ + { + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr", + "title": "node", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/13" + }, + { + "href": "//oarapi/resources/13/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "available_upto": 2147483647, + "type": "default", + "production": "YES", + "id": 13, + "opa_count": 0, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "gpu": 4, + "finaud_decision": "NO", + "last_available_upto": 0, + "scheduler_priority": 0, + "cpucore": 8, + "myri_rate": 0, + "api_timestamp": 1568902577 + }, + { + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "gpu": 4, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "cpuset": 13, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "rel": "self", + "href": "//oarapi/resources/14" + }, + { + "rel": "collection", + "href": "//oarapi/resources/14/jobs", + "title": "jobs" + } + ], + "production": "YES", + "type": "default", + "id": 14, + "opa_count": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "host": "clustera-1.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 3, + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "drain": "NO", + "cpu": 2, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO", + "memcpu": 65536, + "myri_count": 0, + "ip": "172.16.64.1", + "core": 14, + "max_walltime": 86400, + "myri": "NO", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO" + }, + { + "memcpu": 65536, + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "cpu": 2, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "drain": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-1.fakesite.grid5000.fr", + "max_walltime": 86400, + "myri": "NO", + "myri_count": 0, + "core": 15, + "ip": "172.16.64.1", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "next_state": "UnChanged", + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "gpudevice": 3, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "opa_count": 0, + "id": 15, + "production": "YES", + "type": "default", + "available_upto": 2147483647, + "cpuset": 14, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "rel": "self", + "href": "//oarapi/resources/15" + }, + { + "href": "//oarapi/resources/15/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "besteffort": "YES", + "ib_rate": 0, + "last_job_date": 0, + "opa": "NO", + "eth_rate": 10, + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "cpucore": 8, + "scheduler_priority": 0, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 4, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0 + }, + { + "last_available_upto": 0, + "finaud_decision": "NO", + "myri_rate": 0, + "api_timestamp": 1568902577, + "scheduler_priority": 0, + "cpucore": 8, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 4, + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "cpuset": 15, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-1.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/16", + "rel": "self" + }, + { + "href": "//oarapi/resources/16/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "opa_count": 0, + "id": 16, + "type": "default", + "production": "YES", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "gpudevice": 3, + "cpuarch": "x86_64", + "host": "clustera-1.fakesite.grid5000.fr", + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_state": "UnChanged", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "eth_count": 1, + "switch": "gw-fakesite", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 2, + "drain": "NO", + "memcpu": 65536, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "ip": "172.16.64.1", + "core": 16, + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "network_address": "clustera-1.fakesite.grid5000.fr", + "state_num": 1 + }, + { + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 0, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "next_state": "UnChanged", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "cpu": 3, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "drain": "NO", + "memcpu": 65536, + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "core": 17, + "ip": "172.16.64.2", + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "scheduler_priority": 0, + "cpucore": 8, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "gpu": 5, + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "available_upto": 2147483647, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "href": "//oarapi/resources/17", + "rel": "self" + }, + { + "title": "jobs", + "href": "//oarapi/resources/17/jobs", + "rel": "collection" + } + ], + "cpuset": 0, + "besteffort": "YES", + "ib_rate": 0, + "opa_count": 0, + "id": 17, + "production": "YES", + "type": "default", + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO" + }, + { + "max_walltime": 86400, + "myri": "NO", + "myri_count": 0, + "ip": "172.16.64.2", + "core": 18, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "cpu": 3, + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "drain": "NO", + "memcpu": 65536, + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "gpudevice": 0, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "next_state": "UnChanged", + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "available_upto": 2147483647, + "cpuset": 1, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/18", + "rel": "self" + }, + { + "href": "//oarapi/resources/18/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "besteffort": "YES", + "ib_rate": 0, + "opa_count": 0, + "id": 18, + "production": "YES", + "type": "default", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 5, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "cpucore": 8, + "scheduler_priority": 0 + }, + { + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "type": "default", + "production": "YES", + "opa_count": 0, + "id": 19, + "ib_rate": 0, + "besteffort": "YES", + "cpuset": 2, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "rel": "self", + "href": "//oarapi/resources/19" + }, + { + "href": "//oarapi/resources/19/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "available_upto": 2147483647, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "gpu": 5, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "cpucore": 8, + "scheduler_priority": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "finaud_decision": "NO", + "last_available_upto": 0, + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "myri_count": 0, + "ip": "172.16.64.2", + "core": 19, + "max_walltime": 86400, + "myri": "NO", + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "memcpu": 65536, + "drain": "NO", + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpu": 3, + "switch": "gw-fakesite", + "eth_count": 1, + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "next_state": "UnChanged", + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 0, + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64" + }, + { + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "gpu": 5, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "scheduler_priority": 0, + "cpucore": 8, + "myri_rate": 0, + "api_timestamp": 1568902577, + "finaud_decision": "NO", + "last_available_upto": 0, + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "type": "default", + "production": "YES", + "id": 20, + "opa_count": 0, + "ib_rate": 0, + "besteffort": "YES", + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/20" + }, + { + "href": "//oarapi/resources/20/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "cpuset": 3, + "available_upto": 2147483647, + "switch": "gw-fakesite", + "eth_count": 1, + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "next_state": "UnChanged", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 0, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "myri_count": 0, + "core": 20, + "ip": "172.16.64.2", + "max_walltime": 86400, + "myri": "NO", + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "memcpu": 65536, + "drain": "NO", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 3 + }, + { + "cluster_priority": 201906, + "gpu_count": 4, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 1, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "memcpu": 65536, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 3, + "drain": "NO", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "core": 21, + "ip": "172.16.64.2", + "myri_rate": 0, + "api_timestamp": 1568902577, + "scheduler_priority": 0, + "cpucore": 8, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 6, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "opa_count": 0, + "id": 21, + "type": "default", + "production": "YES", + "cpuset": 4, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/21" + }, + { + "rel": "collection", + "href": "//oarapi/resources/21/jobs", + "title": "jobs" + } + ], + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "last_job_date": 0, + "opa": "NO", + "eth_rate": 10, + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0 + }, + { + "opa_count": 0, + "id": 22, + "type": "default", + "production": "YES", + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "rel": "self", + "href": "//oarapi/resources/22" + }, + { + "title": "jobs", + "href": "//oarapi/resources/22/jobs", + "rel": "collection" + } + ], + "cpuset": 5, + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "scheduler_priority": 0, + "cpucore": 8, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 6, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "memcpu": 65536, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpu": 3, + "drain": "NO", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "max_walltime": 86400, + "myri": "NO", + "core": 22, + "myri_count": 0, + "ip": "172.16.64.2", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 1, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0 + }, + { + "gpudevice": 1, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_state": "UnChanged", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "eth_count": 1, + "switch": "gw-fakesite", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 3, + "drain": "NO", + "memcpu": 65536, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "max_walltime": 86400, + "myri": "NO", + "ip": "172.16.64.2", + "myri_count": 0, + "core": 23, + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "last_available_upto": 0, + "finaud_decision": "NO", + "myri_rate": 0, + "api_timestamp": 1568902577, + "scheduler_priority": 0, + "cpucore": 8, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 6, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/23" + }, + { + "rel": "collection", + "href": "//oarapi/resources/23/jobs", + "title": "jobs" + } + ], + "cpuset": 6, + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "id": 23, + "opa_count": 0, + "type": "default", + "production": "YES", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO" + }, + { + "mic": "NO", + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "eth_count": 1, + "switch": "gw-fakesite", + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 1, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "maintenance": "NO", + "gpu_count": 4, + "cluster_priority": 201906, + "next_state": "UnChanged", + "myri": "NO", + "max_walltime": 86400, + "myri_count": 0, + "ip": "172.16.64.2", + "core": 24, + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "cpu": 3, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "drain": "NO", + "memcpu": 65536, + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "gpu": 6, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "last_available_upto": 0, + "finaud_decision": "NO", + "api_timestamp": 1568902577, + "myri_rate": 0, + "cpucore": 8, + "scheduler_priority": 0, + "desktop_computing": "NO", + "memnode": 131072, + "opa_rate": 0, + "last_job_date": 0, + "opa": "NO", + "eth_rate": 10, + "available_upto": 2147483647, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/24", + "rel": "self" + }, + { + "rel": "collection", + "href": "//oarapi/resources/24/jobs", + "title": "jobs" + } + ], + "cpuset": 7, + "besteffort": "YES", + "ib_rate": 0, + "opa_count": 0, + "id": 24, + "production": "YES", + "type": "default" + }, + { + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 2, + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "next_state": "UnChanged", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "drain": "NO", + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cpu": 4, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "memcpu": 65536, + "myri_count": 0, + "ip": "172.16.64.2", + "core": 25, + "myri": "NO", + "max_walltime": 86400, + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "gpu": 7, + "ib_rate": 0, + "besteffort": "YES", + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/25", + "rel": "self" + }, + { + "href": "//oarapi/resources/25/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "cpuset": 8, + "available_upto": 2147483647, + "type": "default", + "production": "YES", + "opa_count": 0, + "id": 25, + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0 + }, + { + "id": 26, + "opa_count": 0, + "type": "default", + "production": "YES", + "cpuset": 9, + "links": [ + { + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "title": "node", + "rel": "member" + }, + { + "href": "//oarapi/resources/26", + "rel": "self" + }, + { + "rel": "collection", + "title": "jobs", + "href": "//oarapi/resources/26/jobs" + } + ], + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "last_job_date": 0, + "eth_rate": 10, + "opa": "NO", + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "cpucore": 8, + "scheduler_priority": 0, + "last_available_upto": 0, + "finaud_decision": "NO", + "gpu": 7, + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "memcpu": 65536, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 4, + "drain": "NO", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "max_walltime": 86400, + "myri": "NO", + "core": 26, + "myri_count": 0, + "ip": "172.16.64.2", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 2, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0 + }, + { + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "ib_rate": 0, + "besteffort": "YES", + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "title": "node" + }, + { + "rel": "self", + "href": "//oarapi/resources/27" + }, + { + "href": "//oarapi/resources/27/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "cpuset": 10, + "available_upto": 2147483647, + "type": "default", + "production": "YES", + "opa_count": 0, + "id": 27, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "state": "Alive", + "disktype": "SATA", + "cluster": "clustera", + "gpu": 7, + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "core": 27, + "myri_count": 0, + "ip": "172.16.64.2", + "myri": "NO", + "max_walltime": 86400, + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "suspended_jobs": "NO", + "ib": "NO", + "disk_reservation_count": 0, + "drain": "NO", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 4, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "memcpu": 65536, + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "gpudevice": 2, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "next_state": "UnChanged", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO" + }, + { + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "gpudevice": 2, + "switch": "gw-fakesite", + "eth_count": 1, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "memcpu": 65536, + "drain": "NO", + "cpu": 4, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "core": 28, + "myri_count": 0, + "ip": "172.16.64.2", + "max_walltime": 86400, + "myri": "NO", + "cpucore": 8, + "scheduler_priority": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "gpu": 7, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "production": "YES", + "type": "default", + "opa_count": 0, + "id": 28, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "links": [ + { + "rel": "member", + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr" + }, + { + "href": "//oarapi/resources/28", + "rel": "self" + }, + { + "rel": "collection", + "href": "//oarapi/resources/28/jobs", + "title": "jobs" + } + ], + "cpuset": 11, + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072 + }, + { + "drain": "NO", + "cpu": 4, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "memcore": 8192, + "cpufreq": "2.1", + "deploy": "NO", + "memcpu": 65536, + "core": 29, + "myri_count": 0, + "ip": "172.16.64.2", + "myri": "NO", + "max_walltime": 86400, + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "disk_reservation_count": 0, + "ib": "NO", + "suspended_jobs": "NO", + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "gpudevice": 3, + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "title": "node" + }, + { + "rel": "self", + "href": "//oarapi/resources/29" + }, + { + "rel": "collection", + "href": "//oarapi/resources/29/jobs", + "title": "jobs" + } + ], + "cpuset": 12, + "production": "YES", + "type": "default", + "id": 29, + "opa_count": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "api_timestamp": 1568902577, + "myri_rate": 0, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "disktype": "SATA", + "cluster": "clustera", + "state": "Alive", + "gpu": 8 + }, + { + "gpu": 8, + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "myri_rate": 0, + "api_timestamp": 1568902577, + "cpucore": 8, + "scheduler_priority": 0, + "last_available_upto": 0, + "finaud_decision": "NO", + "last_job_date": 0, + "opa": "NO", + "eth_rate": 10, + "memnode": 131072, + "desktop_computing": "NO", + "opa_rate": 0, + "id": 30, + "opa_count": 0, + "type": "default", + "production": "YES", + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/30" + }, + { + "title": "jobs", + "href": "//oarapi/resources/30/jobs", + "rel": "collection" + } + ], + "cpuset": 13, + "available_upto": 2147483647, + "ib_rate": 0, + "besteffort": "YES", + "eth_count": 1, + "switch": "gw-fakesite", + "mic": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "next_state": "UnChanged", + "gpudevice": 3, + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "suspended_jobs": "NO", + "ib": "NO", + "disk_reservation_count": 0, + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "max_walltime": 86400, + "myri": "NO", + "myri_count": 0, + "core": 30, + "ip": "172.16.64.2", + "memcpu": 65536, + "deploy": "NO", + "memcore": 8192, + "cpufreq": "2.1", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 4, + "drain": "NO" + }, + { + "drain": "NO", + "cputype": "Intel Xeon Silver 4110", + "virtual": "ivt", + "cpu": 4, + "deploy": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "memcpu": 65536, + "myri_count": 0, + "ip": "172.16.64.2", + "core": 31, + "max_walltime": 86400, + "myri": "NO", + "state_num": 1, + "network_address": "clustera-2.fakesite.grid5000.fr", + "suspended_jobs": "NO", + "disk_reservation_count": 0, + "ib": "NO", + "next_finaud_decision": "NO", + "wattmeter": "MULTIPLE", + "gpudevice": 3, + "host": "clustera-2.fakesite.grid5000.fr", + "cpuarch": "x86_64", + "next_state": "UnChanged", + "gpu_count": 4, + "cluster_priority": 201906, + "maintenance": "NO", + "gpu_model": "GeForce RTX 2080 Ti", + "ib_count": 0, + "mic": "NO", + "switch": "gw-fakesite", + "eth_count": 1, + "ib_rate": 0, + "besteffort": "YES", + "cpuset": 14, + "links": [ + { + "title": "node", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "rel": "member" + }, + { + "rel": "self", + "href": "//oarapi/resources/31" + }, + { + "href": "//oarapi/resources/31/jobs", + "title": "jobs", + "rel": "collection" + } + ], + "available_upto": 2147483647, + "type": "default", + "production": "YES", + "opa_count": 0, + "id": 31, + "opa_rate": 0, + "memnode": 131072, + "desktop_computing": "NO", + "eth_rate": 10, + "opa": "NO", + "last_job_date": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "cpucore": 8, + "scheduler_priority": 0, + "myri_rate": 0, + "api_timestamp": 1568902577, + "expiry_date": 0, + "nodemodel": "Dell PowerEdge T640", + "state": "Alive", + "cluster": "clustera", + "disktype": "SATA", + "gpu": 8 + }, + { + "switch": "gw-fakesite", + "eth_count": 1, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "gpudevice": 3, + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "myri_count": 0, + "core": 32, + "ip": "172.16.64.2", + "max_walltime": 86400, + "myri": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "memcpu": 65536, + "drain": "NO", + "cpu": 4, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "gpu": 8, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "scheduler_priority": 0, + "cpucore": 8, + "api_timestamp": 1568902577, + "myri_rate": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "production": "YES", + "type": "default", + "opa_count": 0, + "id": 32, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "cpuset": 15, + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "title": "node" + }, + { + "href": "//oarapi/resources/32", + "rel": "self" + }, + { + "rel": "collection", + "href": "//oarapi/resources/32/jobs", + "title": "jobs" + } + ] + }, + { + "switch": "gw-fakesite", + "eth_count": 1, + "ib_count": 0, + "gpu_model": "GeForce RTX 2080 Ti", + "mic": "NO", + "next_state": "UnChanged", + "maintenance": "NO", + "cluster_priority": 201906, + "gpu_count": 4, + "wattmeter": "MULTIPLE", + "next_finaud_decision": "NO", + "cpuarch": "x86_64", + "host": "clustera-2.fakesite.grid5000.fr", + "gpudevice": 3, + "network_address": "clustera-2.fakesite.grid5000.fr", + "state_num": 1, + "ib": "NO", + "disk_reservation_count": 0, + "suspended_jobs": "NO", + "myri_count": 0, + "core": 33, + "ip": "172.16.64.2", + "max_walltime": 86400, + "myri": "NO", + "cpufreq": "2.1", + "memcore": 8192, + "deploy": "NO", + "memcpu": 65536, + "drain": "NO", + "cpu": 4, + "virtual": "ivt", + "cputype": "Intel Xeon Silver 4110", + "cluster": "clustera", + "disktype": "SATA", + "state": "Alive", + "gpu": 8, + "nodemodel": "Dell PowerEdge T640", + "expiry_date": 0, + "scheduler_priority": 0, + "cpucore": 8, + "api_timestamp": 1568902577, + "myri_rate": 0, + "finaud_decision": "NO", + "last_available_upto": 0, + "opa": "NO", + "eth_rate": 10, + "last_job_date": 0, + "opa_rate": 0, + "desktop_computing": "NO", + "memnode": 131072, + "production": "YES", + "type": "default", + "opa_count": 0, + "id": 33, + "besteffort": "YES", + "ib_rate": 0, + "available_upto": 2147483647, + "cpuset": 15, + "links": [ + { + "rel": "member", + "href": "//oarapi/resources/nodes/clustera-2.fakesite.grid5000.fr", + "title": "node" + }, + { + "href": "//oarapi/resources/32", + "rel": "self" + }, + { + "rel": "collection", + "href": "//oarapi/resources/32/jobs", + "title": "jobs" + } + ] + } + ], + "total": 32, + "links": [ + { + "href": "//oarapi/resources/details.json?limit=999999&offset=0", + "rel": "self" + } + ] +} + -- GitLab From 9351d304fd06d6296553b1e18e53f827891609bc Mon Sep 17 00:00:00 2001 From: Jonathan Pastor <jonathancmoa@gmail.com> Date: Mon, 18 Nov 2019 10:21:22 +0100 Subject: [PATCH 51/57] [action=DIFF] remove use warning about OAR cmds and use better names for somes variables; return an error code when something is displayed --- lib/refrepo/gen/oar-properties.rb | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/lib/refrepo/gen/oar-properties.rb b/lib/refrepo/gen/oar-properties.rb index 1f04e585afb..ac106f0baf1 100644 --- a/lib/refrepo/gen/oar-properties.rb +++ b/lib/refrepo/gen/oar-properties.rb @@ -935,7 +935,7 @@ def do_diff(options, generated_hierarchy, refrepo_properties) # Check that CPUSETs on the OAR server are consistent with what would have been generated oar_resources = get_oar_resources_from_oar(options) - fix_cmds = "" + diagnostic_msgs = "" options[:clusters].each do |cluster| @@ -962,10 +962,10 @@ def do_diff(options, generated_hierarchy, refrepo_properties) if expected_value == "" or expected_value.nil? expected_value = "ø" end - fix_cmd = <<-TXT + diagnostic_msg = <<-TXT # Error: Resource #{resc["id"]} (host=#{resc["network_address"]} cpu=#{resc["cpu"]} core=#{resc["core"]} cpuset=#{resc["cpuset"]} gpu=#{resc["gpu"]} gpudevice=#{resc["gpudevice"]}) has a mismatch for ressource #{value.upcase}: OAR API gives #{resc[value]}, generator wants #{expected_value}. TXT - fix_cmds += "#{fix_cmd}" + diagnostic_msgs += "#{diagnostic_msg}" end end else @@ -979,14 +979,9 @@ TXT end end - if not fix_cmds.empty? - puts "" - puts "################################################" - puts "# You may execute the following commands to fix " - puts "# some resources of the OAR database" - puts "################################################" - puts "" - puts fix_cmds + if not diagnostic_msgs.empty? + puts diagnostic_msgs + ret = false unless options[:update] || options[:print] end end # if options[:diff] -- GitLab From d2c9da863efcd02382d48893d0847e5305e811e0 Mon Sep 17 00:00:00 2001 From: Jonathan Pastor <jonathancmoa@gmail.com> Date: Mon, 2 Dec 2019 12:53:59 +0100 Subject: [PATCH 52/57] pre-sort resources by cpu/core to handle old clusters --- lib/refrepo/gen/oar-properties.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/refrepo/gen/oar-properties.rb b/lib/refrepo/gen/oar-properties.rb index ac106f0baf1..0fee151e1d0 100644 --- a/lib/refrepo/gen/oar-properties.rb +++ b/lib/refrepo/gen/oar-properties.rb @@ -1135,6 +1135,7 @@ def extract_clusters_description(clusters, site_name, options, data_hierarchy, s cluster_resources = site_resources .select{|r| r["cluster"] == cluster_name} .select{|r| cluster_nodes.include?(r["host"].split(".")[0])} + .sort_by{|r| [r["cpu"], r["core"]]} sanity_check_result = sanity_check(cluster_resources, site_resources) unless sanity_check_result -- GitLab From beb3b33ec742983e9f53cbaa30b31461fb33098a Mon Sep 17 00:00:00 2001 From: Jonathan Pastor <jonathancmoa@gmail.com> Date: Mon, 2 Dec 2019 12:56:15 +0100 Subject: [PATCH 53/57] fix specs --- spec/oar_properties_spec.rb | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/spec/oar_properties_spec.rb b/spec/oar_properties_spec.rb index 367d68c86bf..0a394bf3af5 100644 --- a/spec/oar_properties_spec.rb +++ b/spec/oar_properties_spec.rb @@ -1579,11 +1579,13 @@ TXT expected_clusterc1_desc = <<-TXT | clusterc | clusterc-1 | 1 | 1 | 0 | | | Intel Xeon Silver 4110 | | -| clusterc | clusterc-1 | 1 | 3 | 1 | | | Intel Xeon Silver 4110 | | -| clusterc | clusterc-1 | 1 | 2 | 2 | | | Intel Xeon Silver 4110 | | +| clusterc | clusterc-1 | 1 | 2 | 1 | | | Intel Xeon Silver 4110 | | +| clusterc | clusterc-1 | 1 | 3 | 2 | | | Intel Xeon Silver 4110 | | | clusterc | clusterc-1 | 1 | 4 | 3 | | | Intel Xeon Silver 4110 | | | clusterc | clusterc-1 | 1 | 5 | 4 | | | Intel Xeon Silver 4110 | | | clusterc | clusterc-1 | 1 | 6 | 5 | | | Intel Xeon Silver 4110 | | +| clusterc | clusterc-1 | 1 | 7 | 6 | | | Intel Xeon Silver 4110 | | +| clusterc | clusterc-1 | 1 | 8 | 7 | | | Intel Xeon Silver 4110 | | TXT expected_clusterc2_desc = <<-TXT @@ -1638,11 +1640,12 @@ TXT # clusterc-1.fakesite.grid5000.fr ################################### oarnodesetting --sql "host='clusterc-1.fakesite.grid5000.fr' AND resource_id='1' AND type='default'" -p cpu=1 -p core=1 -p cpuset=0 -oarnodesetting --sql "host='clusterc-1.fakesite.grid5000.fr' AND resource_id='2' AND type='default'" -p cpu=1 -p core=3 -p cpuset=1 -oarnodesetting --sql "host='clusterc-1.fakesite.grid5000.fr' AND resource_id='3' AND type='default'" -p cpu=1 -p core=2 -p cpuset=2 +oarnodesetting --sql "host='clusterc-1.fakesite.grid5000.fr' AND resource_id='3' AND type='default'" -p cpu=1 -p core=2 -p cpuset=1 +oarnodesetting --sql "host='clusterc-1.fakesite.grid5000.fr' AND resource_id='2' AND type='default'" -p cpu=1 -p core=3 -p cpuset=2 TXT expected_clusterc2_cmds = <<-TXT +oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' AND resource_id='31' AND type='default'" -p cpu=4 -p core=28 -p cpuset=11 oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' AND resource_id='32' AND type='default'" -p cpu=4 -p core=29 -p cpuset=12 oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' AND resource_id='33' AND type='default'" -p cpu=4 -p core=30 -p cpuset=13 oarnodesetting --sql "host='clusterc-2.fakesite.grid5000.fr' AND resource_id='34' AND type='default'" -p cpu=4 -p core=31 -p cpuset=14 -- GitLab From 6c7a177a2e904978cd77a04e12420797f99494fc Mon Sep 17 00:00:00 2001 From: Jonathan Pastor <jonathancmoa@gmail.com> Date: Mon, 2 Dec 2019 15:00:48 +0100 Subject: [PATCH 54/57] orion's gpus are not reservable --- input/grid5000/sites/lyon/clusters/orion/orion.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/input/grid5000/sites/lyon/clusters/orion/orion.yaml b/input/grid5000/sites/lyon/clusters/orion/orion.yaml index c5ee8480918..6580ec2a925 100644 --- a/input/grid5000/sites/lyon/clusters/orion/orion.yaml +++ b/input/grid5000/sites/lyon/clusters/orion/orion.yaml @@ -31,6 +31,7 @@ nodes: power_default_limit: 225.00 W vbios_version: 70.10.46.00.05 vendor: Nvidia + reservation: false network_adapters: eth0: enabled: true -- GitLab From 488054974c7fa3502568e2acf3f118b97f217513 Mon Sep 17 00:00:00 2001 From: Jonathan Pastor <jonathancmoa@gmail.com> Date: Mon, 2 Dec 2019 15:01:06 +0100 Subject: [PATCH 55/57] regenerate reference-api --- data/grid5000/sites/lyon/clusters/orion/nodes/orion-1.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/grid5000/sites/lyon/clusters/orion/nodes/orion-1.json b/data/grid5000/sites/lyon/clusters/orion/nodes/orion-1.json index 4dec46a8072..2b393f9d112 100644 --- a/data/grid5000/sites/lyon/clusters/orion/nodes/orion-1.json +++ b/data/grid5000/sites/lyon/clusters/orion/nodes/orion-1.json @@ -24,7 +24,7 @@ "memory": 5636096000, "model": "Tesla M2075", "power_default_limit": "225.00 W", - "reservation": true, + "reservation": false, "vbios_version": "70.10.46.00.05", "vendor": "Nvidia" } -- GitLab From 31c5f5f5f70b1797967bc2050783ceff5b9d973c Mon Sep 17 00:00:00 2001 From: Jonathan Pastor <jonathancmoa@gmail.com> Date: Mon, 2 Dec 2019 15:01:45 +0100 Subject: [PATCH 56/57] fix ssh host when providing no OAR URL --- lib/refrepo/gen/oar-properties.rb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/refrepo/gen/oar-properties.rb b/lib/refrepo/gen/oar-properties.rb index 0fee151e1d0..685a1bca816 100644 --- a/lib/refrepo/gen/oar-properties.rb +++ b/lib/refrepo/gen/oar-properties.rb @@ -1421,6 +1421,9 @@ def generate_oar_properties(options) site_name = options[:site] + # Replace the site placeholder of ssh hosts by the site + options[:ssh][:host] = options[:ssh][:host].gsub('%s', site_name) + # If no cluster is given, then the clusters are the cluster of the given site if not options.key? :clusters or options[:clusters].length == 0 if data_hierarchy['sites'].key? site_name -- GitLab From 828903db1bebd77e029503bb91f932df8077164c Mon Sep 17 00:00:00 2001 From: Jonathan Pastor <jonathancmoa@gmail.com> Date: Wed, 4 Dec 2019 10:27:28 +0100 Subject: [PATCH 57/57] handle 'diff,print' action --- lib/refrepo/gen/oar-properties.rb | 132 +- spec/oar_properties_spec.rb | 146 + ...igured_resources_properties_and_disks.json | 2978 +++++++++++++++++ ...d_data_misconfigured_server_with_disk.json | 1527 +++++++++ 4 files changed, 4748 insertions(+), 35 deletions(-) create mode 100644 spec/stub_oar_properties/dump_oar_api_configured_server_with_disk_misconfigured_resources_properties_and_disks.json create mode 100644 spec/stub_oar_properties/load_data_hierarchy_stubbed_data_misconfigured_server_with_disk.json diff --git a/lib/refrepo/gen/oar-properties.rb b/lib/refrepo/gen/oar-properties.rb index 685a1bca816..a63e71041fd 100644 --- a/lib/refrepo/gen/oar-properties.rb +++ b/lib/refrepo/gen/oar-properties.rb @@ -204,25 +204,42 @@ end # (3) > * If the resource already exists, the CPU and CORE associated to the resource is detected # (4) * The resource is exported as an OAR command # (5) * If applicable, create/update the storage devices associated to the node -def export_rows_as_oar_command(generated_hierarchy, site_name, site_properties, data_hierarchy) +def export_rows_as_oar_command(generated_hierarchy, site_name, site_properties, data_hierarchy, faulty_resources=nil, faulty_nodes=nil) result = "" - # Generate helper functions and detect the next available CPU and CORE IDs for - # non exisiting resources - result += generate_oar_commands_header() + print_header = true - # Ensure that OAR properties exist before creating/updating OAR resources - result += generate_oar_property_creation(site_name, data_hierarchy) + if not faulty_nodes.nil? or not faulty_resources.nil? + print_header = false + end + + if print_header + # Generate helper functions and detect the next available CPU and CORE IDs for + # non exisiting resources + result += generate_oar_commands_header() + + # Ensure that OAR properties exist before creating/updating OAR resources + result += generate_oar_property_creation(site_name, data_hierarchy) + end # Iterate over nodes of the generated resource hierarchy generated_hierarchy[:nodes].each do |node| - result += %Q{ + + print_node_header = true + + if not faulty_nodes.nil? and not faulty_nodes.include?(node[:fqdn]) + print_node_header = false + end + + if print_node_header + result += %Q{ ################################### # #{node[:fqdn]} ################################### } + end # Iterate over the resources of the OAR node node[:oar_rows].each do |oar_ressource_row| @@ -237,6 +254,10 @@ def export_rows_as_oar_command(generated_hierarchy, site_name, site_properties, gpudevicepath = oar_ressource_row[:gpudevicepath].to_s resource_id = oar_ressource_row[:resource_id] + if not faulty_resources.nil? and not faulty_resources.include?(resource_id) + next + end + if resource_id == -1 or resource_id.nil? # Add the resource to the OAR DB if gpu == '' @@ -254,8 +275,15 @@ def export_rows_as_oar_command(generated_hierarchy, site_name, site_properties, end end - # Set the OAR properties of the OAR node - result += generate_set_node_properties_cmd(node[:fqdn], node[:default_description]) + print_node = true + if not faulty_nodes.nil? and not faulty_nodes.include?(node[:name]) + print_node = false + end + + if print_node + # Set the OAR properties of the OAR node + result += generate_set_node_properties_cmd(node[:fqdn], node[:default_description]) + end # Iterate over storage devices node[:description]["storage_devices"].select{|v| v.key?("reservation") and v["reservation"]}.each do |storage_device| @@ -268,6 +296,10 @@ def export_rows_as_oar_command(generated_hierarchy, site_name, site_properties, storage_device_name = storage_device["device"] storage_device_name_with_hostname = "#{storage_device_name}.#{node[:name]}" + if not faulty_nodes.nil? and not faulty_nodes.include?(storage_device_name_with_hostname) + next + end + # Retried the site propertie that corresponds to this storage device storage_device_oar_properties_tuple = site_properties["disk"].select { |keys| keys.include?(storage_device_name_with_hostname) }.first @@ -285,7 +317,9 @@ def export_rows_as_oar_command(generated_hierarchy, site_name, site_properties, result += generate_set_disk_properties_cmd(node[:fqdn], storage_device_name_with_hostname, storage_device_oar_properties) end - result += generate_separators() + if print_node + result += generate_separators() + end end return result @@ -802,6 +836,11 @@ end def do_diff(options, generated_hierarchy, refrepo_properties) ret = 0 + diagnostic_msgs = [] + + faulty_resources = [] + faulty_nodes = [] + properties = { 'ref' => refrepo_properties, 'oar' => get_oar_properties_from_oar(options) @@ -835,7 +874,7 @@ def do_diff(options, generated_hierarchy, refrepo_properties) end if missings_alive.size > 0 - puts "*** Error: The following nodes exist in the OAR server but are missing in the reference-repo: #{missings_alive.join(', ')}.\n" + diagnostic_msgs.push("*** Error: The following nodes exist in the OAR server but are missing in the reference-repo: #{missings_alive.join(', ')}.\n") ret = false unless options[:update] || options[:print] end @@ -864,6 +903,14 @@ def do_diff(options, generated_hierarchy, refrepo_properties) diff_keys = diff.map { |hashdiff_array| hashdiff_array[1] } properties['diff'][site_uid][type][key] = properties_ref.select { |k, _v| diff_keys.include?(k) } + if not diff.empty? + if key.kind_of?(Array) + faulty_nodes.push(key[-1]) + else + faulty_nodes.push(key) + end + end + # Verbose output if properties['oar'][site_uid][type][key].nil? info = ((type == 'default') ? ' new node !' : ' new disk !') @@ -873,27 +920,27 @@ def do_diff(options, generated_hierarchy, refrepo_properties) case options[:verbose] when 1 - puts "#{key}:#{info}" if info != '' - puts "#{key}:#{diff_keys}" if diff.size != 0 + diagnostic_msgs.push( "#{key}:#{info}") if info != '' + diagnostic_msgs.push( "#{key}:#{diff_keys}") if diff.size != 0 when 2 # Give more details if header == false - puts "Output format: [ '-', 'key', 'value'] for missing, [ '+', 'key', 'value'] for added, ['~', 'key', 'old value', 'new value'] for changed" + diagnostic_msgs.push( "Output format: [ '-', 'key', 'value'] for missing, [ '+', 'key', 'value'] for added, ['~', 'key', 'old value', 'new value'] for changed") header = true end if diff.empty? - puts " #{key}: OK#{info}" + diagnostic_msgs.push( " #{key}: OK#{info}") elsif diff == prev_diff - puts " #{key}:#{info} same modifications as above" + diagnostic_msgs.push( " #{key}:#{info} same modifications as above") else - puts " #{key}:#{info}" - diff.each { |d| puts " #{d}" } + diagnostic_msgs.push( " #{key}:#{info}") + diff.each { |d| diagnostic_msgs.push( " #{d}") } end prev_diff = diff when 3 # Even more details - puts "#{key}:#{info}" if info != '' - puts JSON.pretty_generate(key => { 'old values' => properties_oar, 'new values' => properties_ref }) + diagnostic_msgs.push( "#{key}:#{info}") if info != '' + diagnostic_msgs.push( JSON.pretty_generate(key => { 'old values' => properties_oar, 'new values' => properties_ref })) end if diff.size != 0 ret = false unless options[:update] || options[:print] @@ -911,12 +958,12 @@ def do_diff(options, generated_hierarchy, refrepo_properties) properties_keys['diff'][site_uid][k] = v_ref unless v_oar if v_oar && v_oar != v_ref && v_ref != NilClass && v_oar != NilClass # Detect inconsistency between the type (String/Fixnum) of properties generated by this script and the existing values on the server. - puts "Error: the OAR property '#{k}' is a '#{v_oar}' on the #{site_uid} server and this script uses '#{v_ref}' for this property." + diagnostic_msgs.push( "Error: the OAR property '#{k}' is a '#{v_oar}' on the #{site_uid} server and this script uses '#{v_ref}' for this property.") ret = false unless options[:update] || options[:print] end end - puts "Properties that need to be created on the #{site_uid} server: #{properties_keys['diff'][site_uid].keys.to_a.delete_if { |e| ignore_default_keys.include?(e) }.join(', ')}" if options[:verbose] && properties_keys['diff'][site_uid].keys.to_a.delete_if { |e| ignore_default_keys.include?(e) }.size > 0 + diagnostic_msgs.push( "Properties that need to be created on the #{site_uid} server: #{properties_keys['diff'][site_uid].keys.to_a.delete_if { |e| ignore_default_keys.include?(e) }.join(', ')}") if options[:verbose] && properties_keys['diff'][site_uid].keys.to_a.delete_if { |e| ignore_default_keys.include?(e) }.size > 0 # Detect unknown properties unknown_properties = properties_keys['oar'][site_uid].keys.to_set - properties_keys['ref'][site_uid].keys.to_set @@ -925,17 +972,21 @@ def do_diff(options, generated_hierarchy, refrepo_properties) end if options[:verbose] && unknown_properties.size > 0 - puts "Properties existing on the #{site_uid} server but not managed/known by the generator: #{unknown_properties.to_a.join(', ')}." - puts "Hint: you can delete properties with 'oarproperty -d <property>' or add them to the ignore list in lib/lib-oar-properties.rb." + diagnostic_msgs.push( "Properties existing on the #{site_uid} server but not managed/known by the generator: #{unknown_properties.to_a.join(', ')}.") + diagnostic_msgs.push( "Hint: you can delete properties with 'oarproperty -d <property>' or add them to the ignore list in lib/lib-oar-properties.rb.") ret = false unless options[:update] || options[:print] end - puts "Skipped retired nodes: #{skipped_nodes}" if skipped_nodes.any? + diagnostic_msgs.push( "Skipped retired nodes: #{skipped_nodes}") if skipped_nodes.any? + + if not (options[:print] and options[:diff]) + diagnostic_msgs.map{|msg| puts(msg)} + end # Check that CPUSETs on the OAR server are consistent with what would have been generated oar_resources = get_oar_resources_from_oar(options) - diagnostic_msgs = "" + error_msgs = "" options[:clusters].each do |cluster| @@ -965,7 +1016,9 @@ def do_diff(options, generated_hierarchy, refrepo_properties) diagnostic_msg = <<-TXT # Error: Resource #{resc["id"]} (host=#{resc["network_address"]} cpu=#{resc["cpu"]} core=#{resc["core"]} cpuset=#{resc["cpuset"]} gpu=#{resc["gpu"]} gpudevice=#{resc["gpudevice"]}) has a mismatch for ressource #{value.upcase}: OAR API gives #{resc[value]}, generator wants #{expected_value}. TXT - diagnostic_msgs += "#{diagnostic_msg}" + error_msgs += "#{diagnostic_msg}" + faulty_resources.push(row[:resource_id]) + faulty_resources.push(row[:host]) end end else @@ -973,21 +1026,23 @@ TXT # however it cannot be found : the generator reports an error to the operator if row[:resource_id] != -1 puts "Error: could not find ressource with ID=#{row[:resource_id]}" + faulty_resources.push(row[:resource_id]) + faulty_resources.push(row[:host]) end end end end end - if not diagnostic_msgs.empty? - puts diagnostic_msgs + if not (options[:print] and options[:diff]) and not error_msgs.empty? + puts error_msgs ret = false unless options[:update] || options[:print] end end # if options[:diff] end - return ret + return ret, faulty_resources, faulty_nodes end @@ -1466,16 +1521,23 @@ def generate_oar_properties(options) export_rows_as_formated_line(generated_hierarchy) end + # Do=Diff + if options.key? :diff and options[:diff] + return_code, faulty_resources, faulty_nodes = do_diff(options, generated_hierarchy, refrepo_properties) + ret = return_code + end + # DO=print if options.key? :print and options[:print] - cmds = export_rows_as_oar_command(generated_hierarchy, site_name, refrepo_properties[site_name], data_hierarchy) + if options[:diff] + cmds = export_rows_as_oar_command(generated_hierarchy, site_name, refrepo_properties[site_name], data_hierarchy, faulty_resources, faulty_nodes) + else + cmds = export_rows_as_oar_command(generated_hierarchy, site_name, refrepo_properties[site_name], data_hierarchy) + end + puts(cmds) end - # Do=Diff - if options.key? :diff and options[:diff] - ret = do_diff(options, generated_hierarchy, refrepo_properties) - end # Do=update if options[:update] diff --git a/spec/oar_properties_spec.rb b/spec/oar_properties_spec.rb index 0a394bf3af5..fbe37d3b1c0 100644 --- a/spec/oar_properties_spec.rb +++ b/spec/oar_properties_spec.rb @@ -489,6 +489,64 @@ TXT end end + context 'OAR server with data' do + before do + prepare_stubs("dump_oar_api_configured_server.json", "load_data_hierarchy_stubbed_data.json") + end + + it 'should generate correctly a table of nodes' do + + uri = URI(conf["uri"]) + + response = Net::HTTP.get(uri) + + expect(response).to be_an_instance_of(String) + + options = { + :table => true, + :print => false, + :update => false, + :diff => false, + :site => "fakesite", + :clusters => ["clustera"] + } + + expected_header = <<-TXT ++---------- + -------------------- + ----- + ----- + -------- + ---- + -------------------- + ------------------------------ + ------------------------------+ +| cluster | host | cpu | core | cpuset | gpu | gpudevice | cpumodel | gpumodel | ++---------- + -------------------- + ----- + ----- + -------- + ---- + -------------------- + ------------------------------ + ------------------------------+ + TXT + + expected_clustera1_desc = <<-TXT +| clustera | clustera-1 | 1 | 1 | 0 | 1 | 0 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clustera | clustera-1 | 1 | 2 | 1 | 1 | 0 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clustera | clustera-1 | 1 | 3 | 2 | 1 | 0 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clustera | clustera-1 | 1 | 4 | 3 | 1 | 0 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clustera | clustera-1 | 1 | 5 | 4 | 2 | 1 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clustera | clustera-1 | 1 | 6 | 5 | 2 | 1 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | + TXT + + expected_clustera2_desc = <<-TXT +| clustera | clustera-2 | 4 | 26 | 9 | 7 | 2 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clustera | clustera-2 | 4 | 27 | 10 | 7 | 2 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clustera | clustera-2 | 4 | 28 | 11 | 7 | 2 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clustera | clustera-2 | 4 | 29 | 12 | 8 | 3 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clustera | clustera-2 | 4 | 30 | 13 | 8 | 3 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clustera | clustera-2 | 4 | 31 | 14 | 8 | 3 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | +| clustera | clustera-2 | 4 | 32 | 15 | 8 | 3 | Intel Xeon Silver 4110 | GeForce RTX 2080 Ti | + TXT + + generator_output = capture do + generate_oar_properties(options) + end + + expect(generator_output[:stdout]).to include(expected_header) + expect(generator_output[:stdout]).to include(expected_clustera1_desc) + expect(generator_output[:stdout]).to include(expected_clustera2_desc) + end + + end + context 'interracting with an empty OAR server (round-robin cpusets)' do before do prepare_stubs("dump_oar_api_empty_server.json", "load_data_hierarchy_stubbed_data_round_robin_cpusets.json") @@ -1774,6 +1832,34 @@ TXT expect(generator_output[:stdout]).to include(expected_output) end + + it 'should print commands to correct the cluster' do + + uri = URI(conf["uri"]) + + response = Net::HTTP.get(uri) + + expect(response).to be_an_instance_of(String) + + options = { + :table => false, + :print => false, + :update => false, + :diff => true, + :site => "fakesite", + :clusters => ["clustera"] + } + + expected_output = <<-TXT +# Error: Resource 9 (host=clustera-1.fakesite.grid5000.fr cpu=2 core=9 cpuset=8 gpu=2 gpudevice=2) has a mismatch for ressource GPU: OAR API gives 2, generator wants 3. + TXT + + generator_output = capture do + generate_oar_properties(options) + end + + expect(generator_output[:stdout]).to include(expected_output) + end end context 'interracting with a configured OAR server (msising network interfaces)' do @@ -2268,4 +2354,64 @@ CORE has an unexpected number of resources (current:31 vs expected:32). end end + context 'interracting with a cluster with misconfigured resources, errors in its OAR properties and some misconfigured disks' do + before do + prepare_stubs("dump_oar_api_configured_server_with_disk_misconfigured_resources_properties_and_disks.json", "load_data_hierarchy_stubbed_data_with_disk.json") + end + + it 'should handle "diff,print" action' do + + uri = URI(conf["uri"]) + + response = Net::HTTP.get(uri) + + expect(response).to be_an_instance_of(String) + + options = { + :table => false, + :print => true, + :update => false, + :diff => true, + :site => "fakesite", + :clusters => ["clusterb"], + :verbose => 2 + } + + expected_output = <<-TXT +oarnodesetting --sql "host='clusterb-2.fakesite.grid5000.fr' and type='default'" -p ip='172.16.64.2' -p cluster='clusterb' -p nodemodel='Dell PowerEdge T640' -p virtual='ivt' -p cpuarch='x86_64' -p cpucore=8 -p cputype='Intel Xeon Silver 4110' -p cpufreq='2.1' -p disktype='SATA' -p eth_count=1 -p eth_rate=10 -p ib_count=0 -p ib_rate=0 -p ib='NO' -p opa_count=0 -p opa_rate=0 -p opa='NO' -p myri_count=0 -p myri_rate=0 -p myri='NO' -p memcore=8192 -p memcpu=65536 -p memnode=131072 -p gpu_count=4 -p mic='NO' -p wattmeter='MULTIPLE' -p cluster_priority=201906 -p max_walltime=86400 -p production='YES' -p maintenance='NO' -p disk_reservation_count=3 + TXT + + expected_output2 = <<-TXT +oarnodesetting --sql "host='clusterb-1.fakesite.grid5000.fr' and type='default'" -p ip='172.16.64.1' -p cluster='clusterb' -p nodemodel='Dell PowerEdge T640' -p virtual='ivt' -p cpuarch='x86_64' -p cpucore=8 -p cputype='Intel Xeon Silver 4110' -p cpufreq='2.1' -p disktype='SATA' -p eth_count=1 -p eth_rate=10 -p ib_count=0 -p ib_rate=0 -p ib='NO' -p opa_count=0 -p opa_rate=0 -p opa='NO' -p myri_count=0 -p myri_rate=0 -p myri='NO' -p memcore=8192 -p memcpu=65536 -p memnode=131072 -p gpu_count=4 -p mic='NO' -p wattmeter='MULTIPLE' -p cluster_priority=201906 -p max_walltime=86400 -p production='YES' -p maintenance='NO' -p disk_reservation_count=3 + TXT + + expected_output3 = <<-TXT +echo '================================================================================' +echo; echo 'Adding disk sdb.clusterb-1 on host clusterb-1.fakesite.grid5000.fr:' +disk_exist 'clusterb-1.fakesite.grid5000.fr' 'sdb.clusterb-1' && echo '=> disk already exists' +disk_exist 'clusterb-1.fakesite.grid5000.fr' 'sdb.clusterb-1' || oarnodesetting -a -h '' -p host='clusterb-1.fakesite.grid5000.fr' -p type='disk' -p disk='sdb.clusterb-1' + +echo; echo 'Setting properties for disk sdb.clusterb-1 on host clusterb-1.fakesite.grid5000.fr:'; echo +oarnodesetting --sql "host='clusterb-1.fakesite.grid5000.fr' and type='disk' and disk='sdb.clusterb-1'" -p cluster='clusterb' -p host='clusterb-1.fakesite.grid5000.fr' -p available_upto=0 -p deploy='YES' -p production='YES' -p maintenance='NO' -p disk='sdb.clusterb-1' -p diskpath='/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:1:0' -p cpuset=-1 + TXT + + expected_output4 = <<-TXT +oarnodesetting --sql "host='clusterb-2.fakesite.grid5000.fr' AND resource_id='33' AND type='default'" -p cpu=4 -p core=30 -p cpuset=13 -p gpu=8 -p gpu_model='GeForce RTX 2080 Ti' -p gpudevice=3 # This GPU is mapped on /dev/nvidia3 + TXT + dont_expected_output5 = <<-TXT +echo; echo 'Adding disk sdb.clusterb-2 on host clusterb-1.fakesite.grid5000.fr:' + TXT + + generator_output = capture do + generate_oar_properties(options) + end + + expect(generator_output[:stdout]).to include(expected_output) + expect(generator_output[:stdout]).to include(expected_output2) + expect(generator_output[:stdout]).to include(expected_output3) + expect(generator_output[:stdout]).to include(expected_output4) + expect(generator_output[:stdout]).not_to include(dont_expected_output5) + end + end + end diff --git a/spec/stub_oar_properties/dump_oar_api_configured_server_with_disk_misconfigured_resources_properties_and_disks.json b/spec/stub_oar_properties/dump_oar_api_configured_server_with_disk_misconfigured_resources_properties_and_disks.json new file mode 100644 index 00000000000..a89a018b30a --- /dev/null +++ b/spec/stub_oar_properties/dump_oar_api_configured_server_with_disk_misconfigured_resources_properties_and_disks.json @@ -0,0 +1,2978 @@ +{ + "api_timestamp" : 1569497994, + "offset" : 0, + "total" : 38, + "items" : [ + { + "disktype" : "SATAA", + "mic" : "NO", + "state" : "Alive", + "scheduler_priority" : 0, + "diskpath" : null, + "switch" : null, + "production" : "YES", + "max_walltime" : 86400, + "disk_reservation_count" : 3, + "eth_count" : 1, + "myri_rate" : 0, + "next_state" : "UnChanged", + "host" : "clusterb-1.fakesite.grid5000.fr", + "nodemodel" : "Dell PowerEdge T640", + "type" : "default", + "ib" : "NO", + "state_num" : 1, + "api_timestamp" : 1569497994, + "memcpu" : 65535, + "gpudevice" : 0, + "gpu_count" : 4, + "wattmeter" : "MULTIPLE", + "last_available_upto" : 0, + "maintenance" : "NO", + "cluster_priority" : 201906, + "links" : [ + { + "rel" : "member", + "href" : "//oarapi/resources/nodes/clusterb-1.fakesite.grid5000.fr", + "title" : "node" + }, + { + "href" : "//oarapi/resources/1", + "rel" : "self" + }, + { + "href" : "//oarapi/resources/1/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "cputype" : "Intel Xeon Silver 4110", + "disk" : null, + "next_finaud_decision" : "NO", + "ib_rate" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "gpu" : 1, + "finaud_decision" : "NO", + "eth_rate" : 10, + "drain" : "NO", + "suspended_jobs" : "NO", + "network_address" : "clusterb-1.fakesite.grid5000.fr", + "cpuset" : 0, + "cpucore" : 8, + "myri_count" : 0, + "cpufreq" : "2.1", + "cpu" : 1, + "last_job_date" : 0, + "deploy" : "NO", + "ib_count" : 0, + "expiry_date" : 0, + "opa_count" : 0, + "memnode" : 131072, + "available_upto" : 2147483647, + "opa_rate" : 0, + "desktop_computing" : "NO", + "virtual" : "ivt", + "id" : 1, + "cluster" : "clusterb", + "cpuarch" : "x86_64", + "ip" : "172.16.64.1", + "memcore" : 8192, + "besteffort" : "YES", + "core" : 1, + "myri" : "NO", + "opa" : "NO" + }, + { + "last_available_upto" : 0, + "wattmeter" : "MULTIPLE", + "links" : [ + { + "rel" : "member", + "href" : "//oarapi/resources/nodes/clusterb-1.fakesite.grid5000.fr", + "title" : "node" + }, + { + "href" : "//oarapi/resources/2", + "rel" : "self" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/2/jobs" + } + ], + "cluster_priority" : 201906, + "maintenance" : "NO", + "memcpu" : 65535, + "api_timestamp" : 1569497994, + "gpu_count" : 4, + "gpudevice" : 0, + "finaud_decision" : "NO", + "gpu" : 1, + "cputype" : "Intel Xeon Silver 4110", + "disk" : null, + "next_finaud_decision" : "NO", + "gpu_model" : "GeForce RTX 2080 Ti", + "ib_rate" : 0, + "switch" : null, + "diskpath" : null, + "disk_reservation_count" : 3, + "production" : "YES", + "max_walltime" : 86400, + "state" : "Alive", + "scheduler_priority" : 0, + "mic" : "NO", + "disktype" : "SATAA", + "ib" : "NO", + "type" : "default", + "state_num" : 1, + "host" : "clusterb-1.fakesite.grid5000.fr", + "nodemodel" : "Dell PowerEdge T640", + "next_state" : "UnChanged", + "eth_count" : 1, + "myri_rate" : 0, + "myri" : "NO", + "core" : 2, + "besteffort" : "YES", + "opa" : "NO", + "ib_count" : 0, + "expiry_date" : 0, + "cpufreq" : "2.1", + "myri_count" : 0, + "deploy" : "NO", + "cpucore" : 8, + "cpu" : 1, + "last_job_date" : 0, + "opa_count" : 0, + "drain" : "NO", + "eth_rate" : 10, + "network_address" : "clusterb-1.fakesite.grid5000.fr", + "cpuset" : 1, + "suspended_jobs" : "NO", + "id" : 2, + "cluster" : "clusterb", + "desktop_computing" : "NO", + "virtual" : "ivt", + "memcore" : 8192, + "cpuarch" : "x86_64", + "ip" : "172.16.64.1", + "memnode" : 131072, + "available_upto" : 2147483647, + "opa_rate" : 0 + }, + { + "available_upto" : 2147483647, + "memnode" : 131072, + "opa_rate" : 0, + "id" : 3, + "cluster" : "clusterb", + "virtual" : "ivt", + "desktop_computing" : "NO", + "memcore" : 8192, + "cpuarch" : "x86_64", + "ip" : "172.16.64.1", + "suspended_jobs" : "NO", + "eth_rate" : 10, + "drain" : "NO", + "cpuset" : 2, + "network_address" : "clusterb-1.fakesite.grid5000.fr", + "ib_count" : 0, + "expiry_date" : 0, + "myri_count" : 0, + "cpucore" : 8, + "cpufreq" : "2.1", + "deploy" : "NO", + "cpu" : 1, + "last_job_date" : 0, + "opa_count" : 0, + "opa" : "NO", + "besteffort" : "YES", + "core" : 3, + "myri" : "NO", + "host" : "clusterb-1.fakesite.grid5000.fr", + "next_state" : "UnChanged", + "nodemodel" : "Dell PowerEdge T640", + "myri_rate" : 0, + "eth_count" : 1, + "ib" : "NO", + "type" : "default", + "state_num" : 1, + "state" : "Alive", + "scheduler_priority" : 0, + "disktype" : "SATAA", + "mic" : "NO", + "switch" : null, + "diskpath" : null, + "disk_reservation_count" : 3, + "production" : "YES", + "max_walltime" : 86400, + "next_finaud_decision" : "NO", + "disk" : null, + "cputype" : "Intel Xeon Silver 4110", + "gpu_model" : "GeForce RTX 2080 Ti", + "ib_rate" : 0, + "gpu" : 1, + "finaud_decision" : "NO", + "memcpu" : 65535, + "api_timestamp" : 1569497994, + "gpu_count" : 4, + "gpudevice" : 0, + "last_available_upto" : 0, + "wattmeter" : "MULTIPLE", + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterb-1.fakesite.grid5000.fr", + "rel" : "member", + "title" : "node" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/3" + }, + { + "title" : "jobs", + "rel" : "collection", + "href" : "//oarapi/resources/3/jobs" + } + ], + "cluster_priority" : 201906, + "maintenance" : "NO" + }, + { + "finaud_decision" : "NO", + "gpu" : 1, + "cputype" : "Intel Xeon Silver 4110", + "disk" : null, + "next_finaud_decision" : "NO", + "ib_rate" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "wattmeter" : "MULTIPLE", + "last_available_upto" : 0, + "maintenance" : "NO", + "cluster_priority" : 201906, + "links" : [ + { + "title" : "node", + "rel" : "member", + "href" : "//oarapi/resources/nodes/clusterb-1.fakesite.grid5000.fr" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/4" + }, + { + "title" : "jobs", + "rel" : "collection", + "href" : "//oarapi/resources/4/jobs" + } + ], + "api_timestamp" : 1569497994, + "memcpu" : 65535, + "gpudevice" : 0, + "gpu_count" : 4, + "type" : "default", + "ib" : "NO", + "state_num" : 1, + "myri_rate" : 0, + "eth_count" : 1, + "next_state" : "UnChanged", + "host" : "clusterb-1.fakesite.grid5000.fr", + "nodemodel" : "Dell PowerEdge T640", + "diskpath" : null, + "switch" : null, + "production" : "YES", + "max_walltime" : 86400, + "disk_reservation_count" : 3, + "disktype" : "SATAA", + "mic" : "NO", + "scheduler_priority" : 0, + "state" : "Alive", + "opa" : "NO", + "myri" : "NO", + "core" : 4, + "besteffort" : "YES", + "desktop_computing" : "NO", + "virtual" : "ivt", + "id" : 4, + "cluster" : "clusterb", + "cpuarch" : "x86_64", + "ip" : "172.16.64.1", + "memcore" : 8192, + "memnode" : 131072, + "available_upto" : 2147483647, + "opa_rate" : 0, + "cpucore" : 8, + "myri_count" : 0, + "cpufreq" : "2.1", + "deploy" : "NO", + "cpu" : 1, + "last_job_date" : 0, + "expiry_date" : 0, + "ib_count" : 0, + "opa_count" : 0, + "drain" : "NO", + "eth_rate" : 10, + "suspended_jobs" : "NO", + "cpuset" : 3, + "network_address" : "clusterb-1.fakesite.grid5000.fr" + }, + { + "gpu_model" : "GeForce RTX 2080 Ti", + "ib_rate" : 0, + "disk" : null, + "next_finaud_decision" : "NO", + "cputype" : "Intel Xeon Silver 4110", + "gpu" : 2, + "finaud_decision" : "NO", + "gpudevice" : 1, + "gpu_count" : 4, + "api_timestamp" : 1569497994, + "memcpu" : 65535, + "maintenance" : "NO", + "links" : [ + { + "rel" : "member", + "href" : "//oarapi/resources/nodes/clusterb-1.fakesite.grid5000.fr", + "title" : "node" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/5" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/5/jobs" + } + ], + "cluster_priority" : 201906, + "wattmeter" : "MULTIPLE", + "last_available_upto" : 0, + "myri_rate" : 0, + "eth_count" : 1, + "next_state" : "UnChanged", + "nodemodel" : "Dell PowerEdge T640", + "host" : "clusterb-1.fakesite.grid5000.fr", + "state_num" : 1, + "type" : "default", + "ib" : "NO", + "disktype" : "SATAA", + "mic" : "NO", + "state" : "Alive", + "scheduler_priority" : 0, + "production" : "YES", + "max_walltime" : 86400, + "disk_reservation_count" : 3, + "diskpath" : null, + "switch" : null, + "opa" : "NO", + "besteffort" : "YES", + "core" : 5, + "myri" : "NO", + "opa_rate" : 0, + "available_upto" : 2147483647, + "memnode" : 131072, + "ip" : "172.16.64.1", + "cpuarch" : "x86_64", + "memcore" : 8192, + "virtual" : "ivt", + "desktop_computing" : "NO", + "id" : 5, + "cluster" : "clusterb", + "eth_rate" : 10, + "network_address" : "clusterb-1.fakesite.grid5000.fr", + "drain" : "NO", + "suspended_jobs" : "NO", + "cpuset" : 4, + "opa_count" : 0, + "cpucore" : 8, + "myri_count" : 0, + "cpufreq" : "2.1", + "deploy" : "NO", + "cpu" : 1, + "last_job_date" : 0, + "ib_count" : 0, + "expiry_date" : 0 + }, + { + "next_state" : "UnChanged", + "host" : "clusterb-1.fakesite.grid5000.fr", + "nodemodel" : "Dell PowerEdge T640", + "eth_count" : 1, + "myri_rate" : 0, + "state_num" : 1, + "ib" : "NO", + "type" : "default", + "scheduler_priority" : 0, + "state" : "Alive", + "disktype" : "SATAA", + "mic" : "NO", + "disk_reservation_count" : 3, + "production" : "YES", + "max_walltime" : 86400, + "switch" : null, + "diskpath" : null, + "ib_rate" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "disk" : null, + "cputype" : "Intel Xeon Silver 4110", + "next_finaud_decision" : "NO", + "finaud_decision" : "NO", + "gpu" : 2, + "gpu_count" : 4, + "gpudevice" : 1, + "memcpu" : 65535, + "api_timestamp" : 1569497994, + "cluster_priority" : 201906, + "links" : [ + { + "rel" : "member", + "href" : "//oarapi/resources/nodes/clusterb-1.fakesite.grid5000.fr", + "title" : "node" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/6" + }, + { + "title" : "jobs", + "rel" : "collection", + "href" : "//oarapi/resources/6/jobs" + } + ], + "maintenance" : "NO", + "last_available_upto" : 0, + "wattmeter" : "MULTIPLE", + "opa_rate" : 0, + "memnode" : 131072, + "available_upto" : 2147483647, + "memcore" : 8192, + "cpuarch" : "x86_64", + "ip" : "172.16.64.1", + "id" : 6, + "cluster" : "clusterb", + "desktop_computing" : "NO", + "virtual" : "ivt", + "eth_rate" : 10, + "network_address" : "clusterb-1.fakesite.grid5000.fr", + "drain" : "NO", + "suspended_jobs" : "NO", + "cpuset" : 5, + "opa_count" : 0, + "ib_count" : 0, + "expiry_date" : 0, + "myri_count" : 0, + "cpufreq" : "2.1", + "cpucore" : 8, + "cpu" : 1, + "deploy" : "NO", + "last_job_date" : 0, + "opa" : "NO", + "besteffort" : "YES", + "core" : 6, + "myri" : "NO" + }, + { + "opa_rate" : 0, + "memnode" : 131072, + "available_upto" : 2147483647, + "cpuarch" : "x86_64", + "ip" : "172.16.64.1", + "memcore" : 8192, + "virtual" : "ivt", + "desktop_computing" : "NO", + "cluster" : "clusterb", + "id" : 7, + "drain" : "NO", + "eth_rate" : 10, + "network_address" : "clusterb-1.fakesite.grid5000.fr", + "cpuset" : 6, + "suspended_jobs" : "NO", + "opa_count" : 0, + "myri_count" : 0, + "cpucore" : 8, + "cpufreq" : "2.1", + "cpu" : 1, + "deploy" : "NO", + "last_job_date" : 0, + "expiry_date" : 0, + "ib_count" : 0, + "opa" : "NO", + "besteffort" : "YES", + "myri" : "NO", + "core" : 7, + "myri_rate" : 0, + "eth_count" : 1, + "host" : "clusterb-1.fakesite.grid5000.fr", + "next_state" : "UnChanged", + "nodemodel" : "Dell PowerEdge T640", + "state_num" : 1, + "type" : "default", + "ib" : "NO", + "mic" : "NO", + "disktype" : "SATAA", + "scheduler_priority" : 0, + "state" : "Alive", + "max_walltime" : 86400, + "production" : "YES", + "disk_reservation_count" : 3, + "diskpath" : null, + "switch" : null, + "ib_rate" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "disk" : null, + "cputype" : "Intel Xeon Silver 4110", + "next_finaud_decision" : "NO", + "gpu" : 2, + "finaud_decision" : "NO", + "gpudevice" : 1, + "gpu_count" : 4, + "api_timestamp" : 1569497994, + "memcpu" : 65535, + "maintenance" : "NO", + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterb-1.fakesite.grid5000.fr", + "rel" : "member", + "title" : "node" + }, + { + "href" : "//oarapi/resources/7", + "rel" : "self" + }, + { + "rel" : "collection", + "href" : "//oarapi/resources/7/jobs", + "title" : "jobs" + } + ], + "cluster_priority" : 201906, + "wattmeter" : "MULTIPLE", + "last_available_upto" : 0 + }, + { + "state_num" : 1, + "type" : "default", + "ib" : "NO", + "myri_rate" : 0, + "eth_count" : 1, + "nodemodel" : "Dell PowerEdge T640", + "host" : "clusterb-1.fakesite.grid5000.fr", + "next_state" : "UnChanged", + "production" : "YES", + "max_walltime" : 86400, + "disk_reservation_count" : 3, + "diskpath" : null, + "switch" : null, + "disktype" : "SATAA", + "mic" : "NO", + "state" : "Alive", + "scheduler_priority" : 0, + "gpu" : 2, + "finaud_decision" : "NO", + "gpu_model" : "GeForce RTX 2080 Ti", + "ib_rate" : 0, + "disk" : null, + "cputype" : "Intel Xeon Silver 4110", + "next_finaud_decision" : "NO", + "maintenance" : "NO", + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/clusterb-1.fakesite.grid5000.fr" + }, + { + "href" : "//oarapi/resources/8", + "rel" : "self" + }, + { + "href" : "//oarapi/resources/8/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "cluster_priority" : 201906, + "wattmeter" : "MULTIPLE", + "last_available_upto" : 0, + "gpudevice" : 1, + "gpu_count" : 4, + "api_timestamp" : 1569497994, + "memcpu" : 65535, + "cpuarch" : "x86_64", + "ip" : "172.16.64.1", + "memcore" : 8192, + "virtual" : "ivt", + "desktop_computing" : "NO", + "cluster" : "clusterb", + "id" : 8, + "opa_rate" : 0, + "memnode" : 131072, + "available_upto" : 2147483647, + "opa_count" : 0, + "cpufreq" : "2.1", + "myri_count" : 0, + "last_job_date" : 0, + "cpucore" : 8, + "cpu" : 1, + "deploy" : "NO", + "ib_count" : 0, + "expiry_date" : 0, + "drain" : "NO", + "eth_rate" : 10, + "suspended_jobs" : "NO", + "cpuset" : 7, + "network_address" : "clusterb-1.fakesite.grid5000.fr", + "opa" : "NO", + "core" : 8, + "myri" : "NO", + "besteffort" : "YES" + }, + { + "besteffort" : "YES", + "myri" : "NO", + "core" : 9, + "opa" : "NO", + "drain" : "NO", + "eth_rate" : 10, + "suspended_jobs" : "NO", + "network_address" : "clusterb-1.fakesite.grid5000.fr", + "cpuset" : 8, + "opa_count" : 0, + "cpu" : 2, + "myri_count" : 0, + "cpufreq" : "2.1", + "cpucore" : 8, + "last_job_date" : 0, + "deploy" : "NO", + "ib_count" : 0, + "expiry_date" : 0, + "opa_rate" : 0, + "available_upto" : 2147483647, + "memnode" : 131072, + "cpuarch" : "x86_64", + "ip" : "172.16.64.1", + "memcore" : 8192, + "virtual" : "ivt", + "desktop_computing" : "NO", + "cluster" : "clusterb", + "id" : 9, + "gpudevice" : 2, + "gpu_count" : 4, + "api_timestamp" : 1569497994, + "memcpu" : 65535, + "maintenance" : "NO", + "links" : [ + { + "rel" : "member", + "href" : "//oarapi/resources/nodes/clusterb-1.fakesite.grid5000.fr", + "title" : "node" + }, + { + "href" : "//oarapi/resources/9", + "rel" : "self" + }, + { + "title" : "jobs", + "rel" : "collection", + "href" : "//oarapi/resources/9/jobs" + } + ], + "cluster_priority" : 201906, + "wattmeter" : "MULTIPLE", + "last_available_upto" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "ib_rate" : 0, + "disk" : null, + "next_finaud_decision" : "NO", + "cputype" : "Intel Xeon Silver 4110", + "gpu" : 3, + "finaud_decision" : "NO", + "disktype" : "SATAA", + "mic" : "NO", + "state" : "Alive", + "scheduler_priority" : 0, + "max_walltime" : 86400, + "production" : "YES", + "disk_reservation_count" : 3, + "diskpath" : null, + "switch" : null, + "myri_rate" : 0, + "eth_count" : 1, + "host" : "clusterb-1.fakesite.grid5000.fr", + "next_state" : "UnChanged", + "nodemodel" : "Dell PowerEdge T640", + "state_num" : 1, + "type" : "default", + "ib" : "NO" + }, + { + "ib_rate" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "cputype" : "Intel Xeon Silver 4110", + "disk" : null, + "next_finaud_decision" : "NO", + "finaud_decision" : "NO", + "gpu" : 3, + "gpudevice" : 2, + "gpu_count" : 4, + "api_timestamp" : 1569497994, + "memcpu" : 65535, + "maintenance" : "NO", + "cluster_priority" : 201906, + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/clusterb-1.fakesite.grid5000.fr" + }, + { + "href" : "//oarapi/resources/10", + "rel" : "self" + }, + { + "href" : "//oarapi/resources/10/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "wattmeter" : "MULTIPLE", + "last_available_upto" : 0, + "myri_rate" : 0, + "eth_count" : 1, + "host" : "clusterb-1.fakesite.grid5000.fr", + "next_state" : "UnChanged", + "nodemodel" : "Dell PowerEdge T640", + "state_num" : 1, + "type" : "default", + "ib" : "NO", + "mic" : "NO", + "disktype" : "SATAA", + "state" : "Alive", + "scheduler_priority" : 0, + "production" : "YES", + "max_walltime" : 86400, + "disk_reservation_count" : 3, + "diskpath" : null, + "switch" : null, + "opa" : "NO", + "besteffort" : "YES", + "myri" : "NO", + "core" : 10, + "opa_rate" : 0, + "memnode" : 131072, + "available_upto" : 2147483647, + "cpuarch" : "x86_64", + "ip" : "172.16.64.1", + "memcore" : 8192, + "virtual" : "ivt", + "desktop_computing" : "NO", + "cluster" : "clusterb", + "id" : 10, + "eth_rate" : 10, + "suspended_jobs" : "NO", + "drain" : "NO", + "cpuset" : 9, + "network_address" : "clusterb-1.fakesite.grid5000.fr", + "opa_count" : 0, + "myri_count" : 0, + "cpu" : 2, + "cpufreq" : "2.1", + "cpucore" : 8, + "last_job_date" : 0, + "deploy" : "NO", + "ib_count" : 0, + "expiry_date" : 0 + }, + { + "switch" : null, + "diskpath" : null, + "disk_reservation_count" : 3, + "production" : "YES", + "max_walltime" : 86400, + "state" : "Alive", + "scheduler_priority" : 0, + "disktype" : "SATAA", + "mic" : "NO", + "ib" : "NO", + "type" : "default", + "state_num" : 1, + "next_state" : "UnChanged", + "nodemodel" : "Dell PowerEdge T640", + "host" : "clusterb-1.fakesite.grid5000.fr", + "eth_count" : 1, + "myri_rate" : 0, + "last_available_upto" : 0, + "wattmeter" : "MULTIPLE", + "cluster_priority" : 201906, + "links" : [ + { + "title" : "node", + "rel" : "member", + "href" : "//oarapi/resources/nodes/clusterb-1.fakesite.grid5000.fr" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/11" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/11/jobs" + } + ], + "maintenance" : "NO", + "memcpu" : 65535, + "api_timestamp" : 1569497994, + "gpu_count" : 4, + "gpudevice" : 2, + "finaud_decision" : "NO", + "gpu" : 3, + "disk" : null, + "cputype" : "Intel Xeon Silver 4110", + "next_finaud_decision" : "NO", + "gpu_model" : "GeForce RTX 2080 Ti", + "ib_rate" : 0, + "ib_count" : 0, + "expiry_date" : 0, + "myri_count" : 0, + "cpucore" : 8, + "cpufreq" : "2.1", + "deploy" : "NO", + "cpu" : 2, + "last_job_date" : 0, + "opa_count" : 0, + "drain" : "NO", + "eth_rate" : 10, + "suspended_jobs" : "NO", + "cpuset" : 10, + "network_address" : "clusterb-1.fakesite.grid5000.fr", + "id" : 11, + "cluster" : "clusterb", + "virtual" : "ivt", + "desktop_computing" : "NO", + "memcore" : 8192, + "cpuarch" : "x86_64", + "ip" : "172.16.64.1", + "available_upto" : 2147483647, + "memnode" : 131072, + "opa_rate" : 0, + "myri" : "NO", + "core" : 11, + "besteffort" : "YES", + "opa" : "NO" + }, + { + "mic" : "NO", + "disktype" : "SATAA", + "scheduler_priority" : 0, + "state" : "Alive", + "max_walltime" : 86400, + "production" : "YES", + "disk_reservation_count" : 3, + "diskpath" : null, + "switch" : null, + "eth_count" : 1, + "myri_rate" : 0, + "host" : "clusterb-1.fakesite.grid5000.fr", + "next_state" : "UnChanged", + "nodemodel" : "Dell PowerEdge T640", + "state_num" : 1, + "type" : "default", + "ib" : "NO", + "gpudevice" : 2, + "gpu_count" : 4, + "api_timestamp" : 1569497994, + "memcpu" : 65535, + "maintenance" : "NO", + "cluster_priority" : 201906, + "links" : [ + { + "title" : "node", + "rel" : "member", + "href" : "//oarapi/resources/nodes/clusterb-1.fakesite.grid5000.fr" + }, + { + "href" : "//oarapi/resources/12", + "rel" : "self" + }, + { + "title" : "jobs", + "rel" : "collection", + "href" : "//oarapi/resources/12/jobs" + } + ], + "wattmeter" : "MULTIPLE", + "last_available_upto" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "ib_rate" : 0, + "disk" : null, + "next_finaud_decision" : "NO", + "cputype" : "Intel Xeon Silver 4110", + "gpu" : 3, + "finaud_decision" : "NO", + "cpuset" : 11, + "eth_rate" : 10, + "drain" : "NO", + "network_address" : "clusterb-1.fakesite.grid5000.fr", + "suspended_jobs" : "NO", + "opa_count" : 0, + "myri_count" : 0, + "cpufreq" : "2.1", + "cpu" : 2, + "cpucore" : 8, + "last_job_date" : 0, + "deploy" : "NO", + "expiry_date" : 0, + "ib_count" : 0, + "opa_rate" : 0, + "memnode" : 131072, + "available_upto" : 2147483647, + "ip" : "172.16.64.1", + "cpuarch" : "x86_64", + "memcore" : 8192, + "virtual" : "ivt", + "desktop_computing" : "NO", + "cluster" : "clusterb", + "id" : 12, + "besteffort" : "YES", + "core" : 12, + "myri" : "NO", + "opa" : "NO" + }, + { + "state_num" : 1, + "type" : "default", + "ib" : "NO", + "myri_rate" : 0, + "eth_count" : 1, + "next_state" : "UnChanged", + "host" : "clusterb-1.fakesite.grid5000.fr", + "nodemodel" : "Dell PowerEdge T640", + "max_walltime" : 86400, + "production" : "YES", + "disk_reservation_count" : 3, + "diskpath" : null, + "switch" : null, + "mic" : "NO", + "disktype" : "SATAA", + "state" : "Alive", + "scheduler_priority" : 0, + "finaud_decision" : "NO", + "gpu" : 4, + "ib_rate" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "next_finaud_decision" : "NO", + "disk" : null, + "cputype" : "Intel Xeon Silver 4110", + "maintenance" : "NO", + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterb-1.fakesite.grid5000.fr", + "rel" : "member", + "title" : "node" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/13" + }, + { + "title" : "jobs", + "rel" : "collection", + "href" : "//oarapi/resources/13/jobs" + } + ], + "cluster_priority" : 201906, + "wattmeter" : "MULTIPLE", + "last_available_upto" : 0, + "gpudevice" : 3, + "gpu_count" : 4, + "api_timestamp" : 1569497994, + "memcpu" : 65535, + "cpuarch" : "x86_64", + "ip" : "172.16.64.1", + "memcore" : 8192, + "virtual" : "ivt", + "desktop_computing" : "NO", + "cluster" : "clusterb", + "id" : 13, + "opa_rate" : 0, + "available_upto" : 2147483647, + "memnode" : 131072, + "opa_count" : 0, + "myri_count" : 0, + "cpu" : 2, + "cpufreq" : "2.1", + "cpucore" : 8, + "deploy" : "NO", + "last_job_date" : 0, + "expiry_date" : 0, + "ib_count" : 0, + "cpuset" : 12, + "eth_rate" : 10, + "drain" : "NO", + "suspended_jobs" : "NO", + "network_address" : "clusterb-1.fakesite.grid5000.fr", + "opa" : "NO", + "myri" : "NO", + "core" : 13, + "besteffort" : "YES" + }, + { + "finaud_decision" : "NO", + "gpu" : 4, + "gpu_model" : "GeForce RTX 2080 Ti", + "ib_rate" : 0, + "cputype" : "Intel Xeon Silver 4110", + "disk" : null, + "next_finaud_decision" : "NO", + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/clusterb-1.fakesite.grid5000.fr" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/14" + }, + { + "href" : "//oarapi/resources/14/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "cluster_priority" : 201906, + "maintenance" : "NO", + "last_available_upto" : 0, + "wattmeter" : "MULTIPLE", + "gpu_count" : 4, + "gpudevice" : 3, + "memcpu" : 65535, + "api_timestamp" : 1569497994, + "state_num" : 1, + "ib" : "NO", + "type" : "default", + "nodemodel" : "Dell PowerEdge T640", + "next_state" : "UnChanged", + "host" : "clusterb-1.fakesite.grid5000.fr", + "eth_count" : 1, + "myri_rate" : 0, + "disk_reservation_count" : 3, + "production" : "YES", + "max_walltime" : 86400, + "switch" : null, + "diskpath" : null, + "scheduler_priority" : 0, + "state" : "Alive", + "disktype" : "SATAA", + "mic" : "NO", + "opa" : "NO", + "core" : 14, + "myri" : "NO", + "besteffort" : "YES", + "memcore" : 8192, + "cpuarch" : "x86_64", + "ip" : "172.16.64.1", + "cluster" : "clusterb", + "id" : 14, + "virtual" : "ivt", + "desktop_computing" : "NO", + "opa_rate" : 0, + "memnode" : 131072, + "available_upto" : 2147483647, + "opa_count" : 0, + "ib_count" : 0, + "expiry_date" : 0, + "myri_count" : 0, + "cpufreq" : "2.1", + "cpu" : 2, + "cpucore" : 8, + "deploy" : "NO", + "last_job_date" : 0, + "suspended_jobs" : "NO", + "eth_rate" : 10, + "drain" : "NO", + "network_address" : "clusterb-1.fakesite.grid5000.fr", + "cpuset" : 13 + }, + { + "core" : 15, + "myri" : "NO", + "besteffort" : "YES", + "opa" : "NO", + "opa_count" : 0, + "ib_count" : 0, + "expiry_date" : 0, + "myri_count" : 0, + "cpucore" : 8, + "cpufreq" : "2.1", + "deploy" : "NO", + "cpu" : 2, + "last_job_date" : 0, + "eth_rate" : 10, + "network_address" : "clusterb-1.fakesite.grid5000.fr", + "drain" : "NO", + "suspended_jobs" : "NO", + "cpuset" : 14, + "memcore" : 8192, + "cpuarch" : "x86_64", + "ip" : "172.16.64.1", + "id" : 15, + "cluster" : "clusterb", + "desktop_computing" : "NO", + "virtual" : "ivt", + "opa_rate" : 0, + "memnode" : 131072, + "available_upto" : 2147483647, + "cluster_priority" : 201906, + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/clusterb-1.fakesite.grid5000.fr" + }, + { + "href" : "//oarapi/resources/15", + "rel" : "self" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/15/jobs" + } + ], + "maintenance" : "NO", + "last_available_upto" : 0, + "wattmeter" : "MULTIPLE", + "gpu_count" : 4, + "gpudevice" : 3, + "memcpu" : 65535, + "api_timestamp" : 1569497994, + "gpu" : 4, + "finaud_decision" : "NO", + "gpu_model" : "GeForce RTX 2080 Ti", + "ib_rate" : 0, + "disk" : null, + "next_finaud_decision" : "NO", + "cputype" : "Intel Xeon Silver 4110", + "disk_reservation_count" : 3, + "max_walltime" : 86400, + "production" : "YES", + "switch" : null, + "diskpath" : null, + "state" : "Alive", + "scheduler_priority" : 0, + "disktype" : "SATAA", + "mic" : "NO", + "state_num" : 1, + "ib" : "NO", + "type" : "default", + "nodemodel" : "Dell PowerEdge T640", + "next_state" : "UnChanged", + "host" : "clusterb-1.fakesite.grid5000.fr", + "myri_rate" : 0, + "eth_count" : 1 + }, + { + "opa" : "NO", + "myri" : "NO", + "core" : 16, + "besteffort" : "YES", + "memcore" : 8192, + "cpuarch" : "x86_64", + "ip" : "172.16.64.1", + "cluster" : "clusterb", + "id" : 16, + "virtual" : "ivt", + "desktop_computing" : "NO", + "opa_rate" : 0, + "memnode" : 131072, + "available_upto" : 2147483647, + "opa_count" : 0, + "ib_count" : 0, + "expiry_date" : 0, + "cpufreq" : "2.1", + "myri_count" : 0, + "cpucore" : 8, + "cpu" : 2, + "last_job_date" : 0, + "deploy" : "NO", + "suspended_jobs" : "NO", + "eth_rate" : 10, + "drain" : "NO", + "network_address" : "clusterb-1.fakesite.grid5000.fr", + "cpuset" : 15, + "gpu" : 4, + "finaud_decision" : "NO", + "ib_rate" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "next_finaud_decision" : "NO", + "disk" : null, + "cputype" : "Intel Xeon Silver 4110", + "cluster_priority" : 201906, + "links" : [ + { + "rel" : "member", + "href" : "//oarapi/resources/nodes/clusterb-1.fakesite.grid5000.fr", + "title" : "node" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/16" + }, + { + "title" : "jobs", + "rel" : "collection", + "href" : "//oarapi/resources/16/jobs" + } + ], + "maintenance" : "NO", + "last_available_upto" : 0, + "wattmeter" : "MULTIPLE", + "gpu_count" : 4, + "gpudevice" : 3, + "memcpu" : 65535, + "api_timestamp" : 1569497994, + "state_num" : 1, + "ib" : "NO", + "type" : "default", + "next_state" : "UnChanged", + "nodemodel" : "Dell PowerEdge T640", + "host" : "clusterb-1.fakesite.grid5000.fr", + "myri_rate" : 0, + "eth_count" : 1, + "disk_reservation_count" : 3, + "max_walltime" : 86400, + "production" : "YES", + "switch" : null, + "diskpath" : null, + "scheduler_priority" : 0, + "state" : "Alive", + "disktype" : "SATAA", + "mic" : "NO" + }, + { + "core" : null, + "myri" : null, + "besteffort" : "YES", + "opa" : null, + "myri_count" : null, + "cpu" : null, + "cpufreq" : null, + "cpucore" : null, + "deploy" : "YES", + "last_job_date" : 0, + "expiry_date" : 0, + "ib_count" : null, + "opa_count" : null, + "drain" : "NO", + "eth_rate" : null, + "cpuset" : -1, + "network_address" : "", + "suspended_jobs" : "NO", + "virtual" : null, + "desktop_computing" : "NO", + "cluster" : "clusterb", + "id" : 17, + "cpuarch" : null, + "ip" : null, + "memcore" : null, + "memnode" : null, + "available_upto" : 0, + "opa_rate" : null, + "wattmeter" : null, + "last_available_upto" : 0, + "maintenance" : "NO", + "links" : [ + { + "href" : "//oarapi/resources/nodes/", + "rel" : "member", + "title" : "node" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/17" + }, + { + "href" : "//oarapi/resources/17/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "cluster_priority" : null, + "api_timestamp" : 1569497994, + "memcpu" : null, + "gpudevice" : null, + "gpu_count" : null, + "finaud_decision" : "NO", + "gpu" : null, + "next_finaud_decision" : "NO", + "disk" : "sdb.clusterb-1", + "cputype" : null, + "gpu_model" : null, + "ib_rate" : null, + "diskpath" : "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:1:1", + "switch" : null, + "max_walltime" : null, + "production" : "YES", + "disk_reservation_count" : null, + "disktype" : null, + "mic" : null, + "state" : "Alive", + "scheduler_priority" : 0, + "type" : "disk", + "ib" : null, + "state_num" : 1, + "myri_rate" : null, + "eth_count" : null, + "nodemodel" : null, + "next_state" : "UnChanged", + "host" : "clusterb-1.fakesite.grid5000.fr" + }, + { + "ib_rate" : null, + "gpu_model" : null, + "disk" : "sdc.clusterb-1", + "cputype" : null, + "next_finaud_decision" : "NO", + "gpu" : null, + "finaud_decision" : "NO", + "gpu_count" : null, + "gpudevice" : null, + "memcpu" : null, + "api_timestamp" : 1569497994, + "cluster_priority" : null, + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/18" + }, + { + "title" : "jobs", + "rel" : "collection", + "href" : "//oarapi/resources/18/jobs" + } + ], + "maintenance" : "NO", + "last_available_upto" : 0, + "wattmeter" : null, + "nodemodel" : null, + "next_state" : "UnChanged", + "host" : "clusterb-1.fakesite.grid5000.fr", + "eth_count" : null, + "myri_rate" : null, + "state_num" : 1, + "ib" : null, + "type" : "disk", + "state" : "Alive", + "scheduler_priority" : 0, + "mic" : null, + "disktype" : null, + "disk_reservation_count" : null, + "max_walltime" : null, + "production" : "YES", + "switch" : null, + "diskpath" : "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:2:0", + "opa" : null, + "besteffort" : "YES", + "myri" : null, + "core" : null, + "opa_rate" : null, + "memnode" : null, + "available_upto" : 0, + "memcore" : null, + "cpuarch" : null, + "ip" : null, + "cluster" : "clusterb", + "id" : 18, + "virtual" : null, + "desktop_computing" : "NO", + "eth_rate" : null, + "cpuset" : -1, + "drain" : "NO", + "network_address" : "", + "suspended_jobs" : "NO", + "opa_count" : null, + "ib_count" : null, + "expiry_date" : 0, + "cpufreq" : null, + "myri_count" : null, + "cpucore" : null, + "cpu" : null, + "deploy" : "YES", + "last_job_date" : 0 + }, + { + "eth_rate" : null, + "drain" : "NO", + "network_address" : "", + "suspended_jobs" : "NO", + "cpuset" : -1, + "last_job_date" : 0, + "myri_count" : null, + "cpufreq" : null, + "cpucore" : null, + "cpu" : null, + "deploy" : "YES", + "expiry_date" : 0, + "ib_count" : null, + "opa_count" : null, + "memnode" : null, + "available_upto" : 0, + "opa_rate" : null, + "virtual" : null, + "desktop_computing" : "NO", + "cluster" : "clusterb", + "id" : 19, + "cpuarch" : null, + "ip" : null, + "memcore" : null, + "besteffort" : "YES", + "myri" : null, + "core" : null, + "opa" : null, + "disktype" : null, + "mic" : null, + "scheduler_priority" : 0, + "state" : "Alive", + "diskpath" : "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:3:0", + "switch" : null, + "max_walltime" : null, + "production" : "YES", + "disk_reservation_count" : null, + "eth_count" : null, + "myri_rate" : null, + "nodemodel" : null, + "next_state" : "UnChanged", + "host" : "clusterb-1.fakesite.grid5000.fr", + "type" : "disk", + "ib" : null, + "state_num" : 1, + "api_timestamp" : 1569497994, + "memcpu" : null, + "gpudevice" : null, + "gpu_count" : null, + "wattmeter" : null, + "last_available_upto" : 0, + "maintenance" : "NO", + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/" + }, + { + "href" : "//oarapi/resources/19", + "rel" : "self" + }, + { + "rel" : "collection", + "href" : "//oarapi/resources/19/jobs", + "title" : "jobs" + } + ], + "cluster_priority" : null, + "cputype" : null, + "disk" : "sdd.clusterb-1", + "next_finaud_decision" : "NO", + "ib_rate" : null, + "gpu_model" : null, + "finaud_decision" : "NO", + "gpu" : null + }, + { + "besteffort" : "YES", + "core" : 17, + "myri" : "NO", + "opa" : "NO", + "eth_rate" : 10, + "drain" : "NO", + "suspended_jobs" : "NO", + "network_address" : "clusterb-2.fakesite.grid5000.fr", + "cpuset" : 0, + "myri_count" : 0, + "cpucore" : 8, + "cpufreq" : "2.1", + "last_job_date" : 0, + "cpu" : 3, + "deploy" : "NO", + "ib_count" : 0, + "expiry_date" : 0, + "opa_count" : 0, + "memnode" : 131072, + "available_upto" : 2147483647, + "opa_rate" : 0, + "desktop_computing" : "NO", + "virtual" : "ivt", + "cluster" : "clusterb", + "id" : 20, + "cpuarch" : "x86_64", + "ip" : "172.16.64.2", + "memcore" : 8192, + "api_timestamp" : 1569497994, + "memcpu" : 65535, + "gpudevice" : 0, + "gpu_count" : 4, + "wattmeter" : "MULTIPLE", + "last_available_upto" : 0, + "maintenance" : "NO", + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterb-2.fakesite.grid5000.fr", + "rel" : "member", + "title" : "node" + }, + { + "href" : "//oarapi/resources/20", + "rel" : "self" + }, + { + "rel" : "collection", + "href" : "//oarapi/resources/20/jobs", + "title" : "jobs" + } + ], + "cluster_priority" : 201906, + "disk" : null, + "next_finaud_decision" : "NO", + "cputype" : "Intel Xeon Silver 4110", + "gpu_model" : "GeForce RTX 2080 Ti", + "ib_rate" : 0, + "gpu" : 5, + "finaud_decision" : "NO", + "disktype" : "SATAA", + "mic" : "NO", + "state" : "Alive", + "scheduler_priority" : 0, + "diskpath" : null, + "switch" : null, + "max_walltime" : 86400, + "production" : "YES", + "disk_reservation_count" : 3, + "myri_rate" : 0, + "eth_count" : 1, + "nodemodel" : "Dell PowerEdge T640", + "next_state" : "UnChanged", + "host" : "clusterb-2.fakesite.grid5000.fr", + "type" : "default", + "ib" : "NO", + "state_num" : 1 + }, + { + "besteffort" : "YES", + "core" : 18, + "myri" : "NO", + "opa" : "NO", + "suspended_jobs" : "NO", + "eth_rate" : 10, + "drain" : "NO", + "network_address" : "clusterb-2.fakesite.grid5000.fr", + "cpuset" : 1, + "opa_count" : 0, + "myri_count" : 0, + "cpufreq" : "2.1", + "cpucore" : 8, + "cpu" : 3, + "last_job_date" : 0, + "deploy" : "NO", + "expiry_date" : 0, + "ib_count" : 0, + "opa_rate" : 0, + "available_upto" : 2147483647, + "memnode" : 131072, + "cpuarch" : "x86_64", + "ip" : "172.16.64.2", + "memcore" : 8192, + "virtual" : "ivt", + "desktop_computing" : "NO", + "id" : 21, + "cluster" : "clusterb", + "gpudevice" : 0, + "gpu_count" : 4, + "api_timestamp" : 1569497994, + "memcpu" : 65535, + "maintenance" : "NO", + "cluster_priority" : 201906, + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/clusterb-2.fakesite.grid5000.fr" + }, + { + "href" : "//oarapi/resources/21", + "rel" : "self" + }, + { + "href" : "//oarapi/resources/21/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "wattmeter" : "MULTIPLE", + "last_available_upto" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "ib_rate" : 0, + "disk" : null, + "cputype" : "Intel Xeon Silver 4110", + "next_finaud_decision" : "NO", + "finaud_decision" : "NO", + "gpu" : 5, + "mic" : "NO", + "disktype" : "SATAA", + "scheduler_priority" : 0, + "state" : "Alive", + "max_walltime" : 86400, + "production" : "YES", + "disk_reservation_count" : 3, + "diskpath" : null, + "switch" : null, + "eth_count" : 1, + "myri_rate" : 0, + "next_state" : "UnChanged", + "nodemodel" : "Dell PowerEdge T640", + "host" : "clusterb-2.fakesite.grid5000.fr", + "state_num" : 1, + "type" : "default", + "ib" : "NO" + }, + { + "opa" : "NO", + "myri" : "NO", + "core" : 19, + "besteffort" : "YES", + "ip" : "172.16.64.2", + "cpuarch" : "x86_64", + "memcore" : 8192, + "virtual" : "ivt", + "desktop_computing" : "NO", + "cluster" : "clusterb", + "id" : 22, + "opa_rate" : 0, + "available_upto" : 2147483647, + "memnode" : 131072, + "opa_count" : 0, + "myri_count" : 0, + "cpucore" : 8, + "cpufreq" : "2.1", + "last_job_date" : 0, + "cpu" : 3, + "deploy" : "NO", + "expiry_date" : 0, + "ib_count" : 0, + "eth_rate" : 10, + "network_address" : "clusterb-2.fakesite.grid5000.fr", + "drain" : "NO", + "suspended_jobs" : "NO", + "cpuset" : 2, + "gpu" : 5, + "finaud_decision" : "NO", + "ib_rate" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "disk" : null, + "next_finaud_decision" : "NO", + "cputype" : "Intel Xeon Silver 4110", + "maintenance" : "NO", + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterb-2.fakesite.grid5000.fr", + "rel" : "member", + "title" : "node" + }, + { + "href" : "//oarapi/resources/22", + "rel" : "self" + }, + { + "href" : "//oarapi/resources/22/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "cluster_priority" : 201906, + "wattmeter" : "MULTIPLE", + "last_available_upto" : 0, + "gpudevice" : 0, + "gpu_count" : 4, + "api_timestamp" : 1569497994, + "memcpu" : 65535, + "state_num" : 1, + "type" : "default", + "ib" : "NO", + "eth_count" : 1, + "myri_rate" : 0, + "next_state" : "UnChanged", + "nodemodel" : "Dell PowerEdge T640", + "host" : "clusterb-2.fakesite.grid5000.fr", + "max_walltime" : 86400, + "production" : "YES", + "disk_reservation_count" : 3, + "diskpath" : null, + "switch" : null, + "mic" : "NO", + "disktype" : "SATAA", + "state" : "Alive", + "scheduler_priority" : 0 + }, + { + "diskpath" : null, + "switch" : null, + "max_walltime" : 86400, + "production" : "YES", + "disk_reservation_count" : 3, + "mic" : "NO", + "disktype" : "SATAA", + "scheduler_priority" : 0, + "state" : "Alive", + "type" : "default", + "ib" : "NO", + "state_num" : 1, + "myri_rate" : 0, + "eth_count" : 1, + "nodemodel" : "Dell PowerEdge T640", + "next_state" : "UnChanged", + "host" : "clusterb-2.fakesite.grid5000.fr", + "wattmeter" : "MULTIPLE", + "last_available_upto" : 0, + "maintenance" : "NO", + "cluster_priority" : 201906, + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterb-2.fakesite.grid5000.fr", + "rel" : "member", + "title" : "node" + }, + { + "href" : "//oarapi/resources/23", + "rel" : "self" + }, + { + "title" : "jobs", + "rel" : "collection", + "href" : "//oarapi/resources/23/jobs" + } + ], + "api_timestamp" : 1569497994, + "memcpu" : 65535, + "gpudevice" : 0, + "gpu_count" : 4, + "finaud_decision" : "NO", + "gpu" : 5, + "disk" : null, + "next_finaud_decision" : "NO", + "cputype" : "Intel Xeon Silver 4110", + "ib_rate" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "myri_count" : 0, + "cpucore" : 8, + "cpufreq" : "2.1", + "cpu" : 3, + "deploy" : "NO", + "last_job_date" : 0, + "ib_count" : 0, + "expiry_date" : 0, + "opa_count" : 0, + "eth_rate" : 10, + "drain" : "NO", + "suspended_jobs" : "NO", + "cpuset" : 3, + "network_address" : "clusterb-2.fakesite.grid5000.fr", + "virtual" : "ivt", + "desktop_computing" : "NO", + "cluster" : "clusterb", + "id" : 23, + "cpuarch" : "x86_64", + "ip" : "172.16.64.2", + "memcore" : 8192, + "memnode" : 131072, + "available_upto" : 2147483647, + "opa_rate" : 0, + "core" : 20, + "myri" : "NO", + "besteffort" : "YES", + "opa" : "NO" + }, + { + "wattmeter" : "MULTIPLE", + "last_available_upto" : 0, + "maintenance" : "NO", + "links" : [ + { + "rel" : "member", + "href" : "//oarapi/resources/nodes/clusterb-2.fakesite.grid5000.fr", + "title" : "node" + }, + { + "href" : "//oarapi/resources/24", + "rel" : "self" + }, + { + "href" : "//oarapi/resources/24/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "cluster_priority" : 201906, + "api_timestamp" : 1569497994, + "memcpu" : 65535, + "gpudevice" : 1, + "gpu_count" : 4, + "gpu" : 6, + "finaud_decision" : "NO", + "next_finaud_decision" : "NO", + "disk" : null, + "cputype" : "Intel Xeon Silver 4110", + "gpu_model" : "GeForce RTX 2080 Ti", + "ib_rate" : 0, + "diskpath" : null, + "switch" : null, + "max_walltime" : 86400, + "production" : "YES", + "disk_reservation_count" : 3, + "disktype" : "SATAA", + "mic" : "NO", + "scheduler_priority" : 0, + "state" : "Alive", + "type" : "default", + "ib" : "NO", + "state_num" : 1, + "myri_rate" : 0, + "eth_count" : 1, + "host" : "clusterb-2.fakesite.grid5000.fr", + "nodemodel" : "Dell PowerEdge T640", + "next_state" : "UnChanged", + "core" : 21, + "myri" : "NO", + "besteffort" : "YES", + "opa" : "NO", + "last_job_date" : 0, + "myri_count" : 0, + "cpufreq" : "2.1", + "cpucore" : 8, + "cpu" : 3, + "deploy" : "NO", + "expiry_date" : 0, + "ib_count" : 0, + "opa_count" : 0, + "drain" : "NO", + "eth_rate" : 10, + "network_address" : "clusterb-2.fakesite.grid5000.fr", + "suspended_jobs" : "NO", + "cpuset" : 4, + "virtual" : "ivt", + "desktop_computing" : "NO", + "cluster" : "clusterb", + "id" : 24, + "cpuarch" : "x86_64", + "ip" : "172.16.64.2", + "memcore" : 8192, + "available_upto" : 2147483647, + "memnode" : 131072, + "opa_rate" : 0 + }, + { + "myri_rate" : 0, + "eth_count" : 1, + "next_state" : "UnChanged", + "nodemodel" : "Dell PowerEdge T640", + "host" : "clusterb-2.fakesite.grid5000.fr", + "type" : "default", + "ib" : "NO", + "state_num" : 1, + "disktype" : "SATAA", + "mic" : "NO", + "scheduler_priority" : 0, + "state" : "Alive", + "diskpath" : null, + "switch" : null, + "production" : "YES", + "max_walltime" : 86400, + "disk_reservation_count" : 3, + "cputype" : "Intel Xeon Silver 4110", + "disk" : null, + "next_finaud_decision" : "NO", + "ib_rate" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "finaud_decision" : "NO", + "gpu" : 6, + "api_timestamp" : 1569497994, + "memcpu" : 65535, + "gpudevice" : 1, + "gpu_count" : 4, + "wattmeter" : "MULTIPLE", + "last_available_upto" : 0, + "maintenance" : "NO", + "links" : [ + { + "rel" : "member", + "href" : "//oarapi/resources/nodes/clusterb-2.fakesite.grid5000.fr", + "title" : "node" + }, + { + "href" : "//oarapi/resources/25", + "rel" : "self" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/25/jobs" + } + ], + "cluster_priority" : 201906, + "available_upto" : 2147483647, + "memnode" : 131072, + "opa_rate" : 0, + "virtual" : "ivt", + "desktop_computing" : "NO", + "cluster" : "clusterb", + "id" : 25, + "cpuarch" : "x86_64", + "ip" : "172.16.64.2", + "memcore" : 8192, + "drain" : "NO", + "eth_rate" : 10, + "suspended_jobs" : "NO", + "network_address" : "clusterb-2.fakesite.grid5000.fr", + "cpuset" : 5, + "myri_count" : 0, + "cpufreq" : "2.1", + "cpucore" : 8, + "cpu" : 3, + "deploy" : "NO", + "last_job_date" : 0, + "expiry_date" : 0, + "ib_count" : 0, + "opa_count" : 0, + "opa" : "NO", + "besteffort" : "YES", + "core" : 22, + "myri" : "NO" + }, + { + "opa" : "NO", + "besteffort" : "YES", + "core" : 23, + "myri" : "NO", + "memnode" : 131072, + "available_upto" : 2147483647, + "opa_rate" : 0, + "cluster" : "clusterb", + "id" : 26, + "virtual" : "ivt", + "desktop_computing" : "NO", + "memcore" : 8192, + "cpuarch" : "x86_64", + "ip" : "172.16.64.2", + "eth_rate" : 10, + "drain" : "NO", + "network_address" : "clusterb-2.fakesite.grid5000.fr", + "suspended_jobs" : "NO", + "cpuset" : 6, + "ib_count" : 0, + "expiry_date" : 0, + "myri_count" : 0, + "cpucore" : 8, + "cpufreq" : "2.1", + "last_job_date" : 0, + "cpu" : 3, + "deploy" : "NO", + "opa_count" : 0, + "disk" : null, + "cputype" : "Intel Xeon Silver 4110", + "next_finaud_decision" : "NO", + "gpu_model" : "GeForce RTX 2080 Ti", + "ib_rate" : 0, + "gpu" : 6, + "finaud_decision" : "NO", + "memcpu" : 65535, + "api_timestamp" : 1569497994, + "gpu_count" : 4, + "gpudevice" : 1, + "last_available_upto" : 0, + "wattmeter" : "MULTIPLE", + "links" : [ + { + "rel" : "member", + "href" : "//oarapi/resources/nodes/clusterb-2.fakesite.grid5000.fr", + "title" : "node" + }, + { + "href" : "//oarapi/resources/26", + "rel" : "self" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/26/jobs" + } + ], + "cluster_priority" : 201906, + "maintenance" : "NO", + "next_state" : "UnChanged", + "nodemodel" : "Dell PowerEdge T640", + "host" : "clusterb-2.fakesite.grid5000.fr", + "myri_rate" : 0, + "eth_count" : 1, + "ib" : "NO", + "type" : "default", + "state_num" : 1, + "scheduler_priority" : 0, + "state" : "Alive", + "disktype" : "SATAA", + "mic" : "NO", + "switch" : null, + "diskpath" : null, + "disk_reservation_count" : 3, + "production" : "YES", + "max_walltime" : 86400 + }, + { + "gpu" : 6, + "finaud_decision" : "NO", + "ib_rate" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "disk" : null, + "cputype" : "Intel Xeon Silver 4110", + "next_finaud_decision" : "NO", + "links" : [ + { + "title" : "node", + "rel" : "member", + "href" : "//oarapi/resources/nodes/clusterb-2.fakesite.grid5000.fr" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/27" + }, + { + "title" : "jobs", + "rel" : "collection", + "href" : "//oarapi/resources/27/jobs" + } + ], + "cluster_priority" : 201906, + "maintenance" : "NO", + "last_available_upto" : 0, + "wattmeter" : "MULTIPLE", + "gpu_count" : 4, + "gpudevice" : 1, + "memcpu" : 65535, + "api_timestamp" : 1569497994, + "state_num" : 1, + "ib" : "NO", + "type" : "default", + "host" : "clusterb-2.fakesite.grid5000.fr", + "next_state" : "UnChanged", + "nodemodel" : "Dell PowerEdge T640", + "eth_count" : 1, + "myri_rate" : 0, + "disk_reservation_count" : 3, + "production" : "YES", + "max_walltime" : 86400, + "switch" : null, + "diskpath" : null, + "scheduler_priority" : 0, + "state" : "Alive", + "disktype" : "SATAA", + "mic" : "NO", + "opa" : "NO", + "myri" : "NO", + "core" : 24, + "besteffort" : "YES", + "memcore" : 8192, + "cpuarch" : "x86_64", + "ip" : "172.16.64.2", + "cluster" : "clusterb", + "id" : 27, + "virtual" : "ivt", + "desktop_computing" : "NO", + "opa_rate" : 0, + "memnode" : 131072, + "available_upto" : 2147483647, + "opa_count" : 0, + "ib_count" : 0, + "expiry_date" : 0, + "last_job_date" : 0, + "myri_count" : 0, + "cpufreq" : "2.1", + "cpucore" : 8, + "cpu" : 3, + "deploy" : "NO", + "eth_rate" : 10, + "drain" : "NO", + "cpuset" : 7, + "network_address" : "clusterb-2.fakesite.grid5000.fr", + "suspended_jobs" : "NO" + }, + { + "next_finaud_decision" : "NO", + "disk" : null, + "cputype" : "Intel Xeon Silver 4110", + "gpu_model" : "GeForce RTX 2080 Ti", + "ib_rate" : 0, + "gpu" : 7, + "finaud_decision" : "NO", + "memcpu" : 65535, + "api_timestamp" : 1569497994, + "gpu_count" : 4, + "gpudevice" : 2, + "last_available_upto" : 0, + "wattmeter" : "MULTIPLE", + "links" : [ + { + "rel" : "member", + "href" : "//oarapi/resources/nodes/clusterb-2.fakesite.grid5000.fr", + "title" : "node" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/28" + }, + { + "title" : "jobs", + "rel" : "collection", + "href" : "//oarapi/resources/28/jobs" + } + ], + "cluster_priority" : 201906, + "maintenance" : "NO", + "next_state" : "UnChanged", + "host" : "clusterb-2.fakesite.grid5000.fr", + "nodemodel" : "Dell PowerEdge T640", + "myri_rate" : 0, + "eth_count" : 1, + "ib" : "NO", + "type" : "default", + "state_num" : 1, + "scheduler_priority" : 0, + "state" : "Alive", + "mic" : "NO", + "disktype" : "SATAA", + "switch" : null, + "diskpath" : null, + "disk_reservation_count" : 3, + "max_walltime" : 86400, + "production" : "YES", + "opa" : "NO", + "besteffort" : "YES", + "myri" : "NO", + "core" : 25, + "available_upto" : 2147483647, + "memnode" : 131072, + "opa_rate" : 0, + "id" : 28, + "cluster" : "clusterb", + "desktop_computing" : "NO", + "virtual" : "ivt", + "memcore" : 8192, + "cpuarch" : "x86_64", + "ip" : "172.16.64.2", + "eth_rate" : 10, + "drain" : "NO", + "network_address" : "clusterb-2.fakesite.grid5000.fr", + "suspended_jobs" : "NO", + "cpuset" : 8, + "ib_count" : 0, + "expiry_date" : 0, + "cpufreq" : "2.1", + "myri_count" : 0, + "cpucore" : 8, + "cpu" : 4, + "deploy" : "NO", + "last_job_date" : 0, + "opa_count" : 0 + }, + { + "opa" : "NO", + "besteffort" : "YES", + "myri" : "NO", + "core" : 26, + "memnode" : 131072, + "available_upto" : 2147483647, + "opa_rate" : 0, + "cluster" : "clusterb", + "id" : 29, + "desktop_computing" : "NO", + "virtual" : "ivt", + "memcore" : 8192, + "cpuarch" : "x86_64", + "ip" : "172.16.64.2", + "drain" : "NO", + "eth_rate" : 10, + "network_address" : "clusterb-2.fakesite.grid5000.fr", + "suspended_jobs" : "NO", + "cpuset" : 9, + "expiry_date" : 0, + "ib_count" : 0, + "myri_count" : 0, + "cpufreq" : "2.1", + "deploy" : "NO", + "cpucore" : 8, + "cpu" : 4, + "last_job_date" : 0, + "opa_count" : 0, + "disk" : null, + "next_finaud_decision" : "NO", + "cputype" : "Intel Xeon Silver 4110", + "gpu_model" : "GeForce RTX 2080 Ti", + "ib_rate" : 0, + "finaud_decision" : "NO", + "gpu" : 7, + "memcpu" : 65535, + "api_timestamp" : 1569497994, + "gpu_count" : 4, + "gpudevice" : 2, + "last_available_upto" : 0, + "wattmeter" : "MULTIPLE", + "links" : [ + { + "title" : "node", + "rel" : "member", + "href" : "//oarapi/resources/nodes/clusterb-2.fakesite.grid5000.fr" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/29" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/29/jobs" + } + ], + "cluster_priority" : 201906, + "maintenance" : "NO", + "host" : "clusterb-2.fakesite.grid5000.fr", + "next_state" : "UnChanged", + "nodemodel" : "Dell PowerEdge T640", + "eth_count" : 1, + "myri_rate" : 0, + "ib" : "NO", + "type" : "default", + "state_num" : 1, + "scheduler_priority" : 0, + "state" : "Alive", + "disktype" : "SATAA", + "mic" : "NO", + "switch" : null, + "diskpath" : null, + "disk_reservation_count" : 3, + "production" : "YES", + "max_walltime" : 86400 + }, + { + "gpu" : 7, + "finaud_decision" : "NO", + "cputype" : "Intel Xeon Silver 4110", + "disk" : null, + "next_finaud_decision" : "NO", + "ib_rate" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "last_available_upto" : 0, + "wattmeter" : "MULTIPLE", + "cluster_priority" : 201906, + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/clusterb-2.fakesite.grid5000.fr" + }, + { + "href" : "//oarapi/resources/30", + "rel" : "self" + }, + { + "rel" : "collection", + "href" : "//oarapi/resources/30/jobs", + "title" : "jobs" + } + ], + "maintenance" : "NO", + "memcpu" : 65535, + "api_timestamp" : 1569497994, + "gpu_count" : 4, + "gpudevice" : 2, + "ib" : "NO", + "type" : "default", + "state_num" : 1, + "next_state" : "UnChanged", + "host" : "clusterb-2.fakesite.grid5000.fr", + "nodemodel" : "Dell PowerEdge T640", + "eth_count" : 1, + "myri_rate" : 0, + "switch" : null, + "diskpath" : null, + "disk_reservation_count" : 3, + "production" : "YES", + "max_walltime" : 86400, + "state" : "Alive", + "scheduler_priority" : 0, + "mic" : "NO", + "disktype" : "SATAA", + "opa" : "NO", + "core" : 27, + "myri" : "NO", + "besteffort" : "YES", + "id" : 30, + "cluster" : "clusterb", + "virtual" : "ivt", + "desktop_computing" : "NO", + "memcore" : 8192, + "cpuarch" : "x86_64", + "ip" : "172.16.64.2", + "available_upto" : 2147483647, + "memnode" : 131072, + "opa_rate" : 0, + "expiry_date" : 0, + "ib_count" : 0, + "cpucore" : 8, + "myri_count" : 0, + "cpufreq" : "2.1", + "cpu" : 4, + "last_job_date" : 0, + "deploy" : "NO", + "opa_count" : 0, + "eth_rate" : 10, + "cpuset" : 10, + "drain" : "NO", + "network_address" : "clusterb-2.fakesite.grid5000.fr", + "suspended_jobs" : "NO" + }, + { + "maintenance" : "NO", + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterb-2.fakesite.grid5000.fr", + "rel" : "member", + "title" : "node" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/31" + }, + { + "rel" : "collection", + "href" : "//oarapi/resources/31/jobs", + "title" : "jobs" + } + ], + "cluster_priority" : 201906, + "wattmeter" : "MULTIPLE", + "last_available_upto" : 0, + "gpudevice" : 2, + "gpu_count" : 4, + "api_timestamp" : 1569497994, + "memcpu" : 65535, + "finaud_decision" : "NO", + "gpu" : 7, + "ib_rate" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "disk" : null, + "cputype" : "Intel Xeon Silver 4110", + "next_finaud_decision" : "NO", + "production" : "YES", + "max_walltime" : 86400, + "disk_reservation_count" : 3, + "diskpath" : null, + "switch" : null, + "mic" : "NO", + "disktype" : "SATAA", + "state" : "Alive", + "scheduler_priority" : 0, + "state_num" : 1, + "type" : "default", + "ib" : "NO", + "myri_rate" : 0, + "eth_count" : 1, + "host" : "clusterb-2.fakesite.grid5000.fr", + "next_state" : "UnChanged", + "nodemodel" : "Dell PowerEdge T640", + "core" : 28, + "myri" : "NO", + "besteffort" : "YES", + "opa" : "NO", + "opa_count" : 0, + "cpufreq" : "2.1", + "myri_count" : 0, + "cpu" : 4, + "cpucore" : 8, + "deploy" : "NO", + "last_job_date" : 0, + "expiry_date" : 0, + "ib_count" : 0, + "eth_rate" : 10, + "suspended_jobs" : "NO", + "drain" : "NO", + "network_address" : "clusterb-2.fakesite.grid5000.fr", + "cpuset" : 11, + "cpuarch" : "x86_64", + "ip" : "172.16.64.2", + "memcore" : 8192, + "desktop_computing" : "NO", + "virtual" : "ivt", + "cluster" : "clusterb", + "id" : 31, + "opa_rate" : 0, + "available_upto" : 2147483647, + "memnode" : 131072 + }, + { + "max_walltime" : 86400, + "production" : "YES", + "disk_reservation_count" : 3, + "diskpath" : null, + "switch" : null, + "disktype" : "SATAA", + "mic" : "NO", + "state" : "Alive", + "scheduler_priority" : 0, + "state_num" : 1, + "type" : "default", + "ib" : "NO", + "myri_rate" : 0, + "eth_count" : 1, + "next_state" : "UnChanged", + "host" : "clusterb-2.fakesite.grid5000.fr", + "nodemodel" : "Dell PowerEdge T640", + "maintenance" : "NO", + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterb-2.fakesite.grid5000.fr", + "rel" : "member", + "title" : "node" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/32" + }, + { + "title" : "jobs", + "rel" : "collection", + "href" : "//oarapi/resources/32/jobs" + } + ], + "cluster_priority" : 201906, + "wattmeter" : "MULTIPLE", + "last_available_upto" : 0, + "gpudevice" : 3, + "gpu_count" : 4, + "api_timestamp" : 1569497994, + "memcpu" : 65535, + "gpu" : 8, + "finaud_decision" : "NO", + "ib_rate" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "disk" : null, + "next_finaud_decision" : "NO", + "cputype" : "Intel Xeon Silver 4110", + "opa_count" : 0, + "cpu" : 4, + "myri_count" : 0, + "cpufreq" : "2.1", + "cpucore" : 8, + "last_job_date" : 0, + "deploy" : "NO", + "expiry_date" : 0, + "ib_count" : 0, + "network_address" : "clusterb-2.fakesite.grid5000.fr", + "eth_rate" : 10, + "drain" : "NO", + "cpuset" : 12, + "suspended_jobs" : "NO", + "cpuarch" : "x86_64", + "ip" : "172.16.64.2", + "memcore" : 8192, + "virtual" : "ivt", + "desktop_computing" : "NO", + "cluster" : "clusterb", + "id" : 32, + "opa_rate" : 0, + "available_upto" : 2147483647, + "memnode" : 131072, + "core" : 29, + "myri" : "NO", + "besteffort" : "YES", + "opa" : "NO" + }, + { + "finaud_decision" : "NO", + "gpu" : 8, + "gpu_model" : "GeForce RTX 2080 Ti", + "ib_rate" : 0, + "next_finaud_decision" : "NO", + "disk" : null, + "cputype" : "Intel Xeon Silver 4110", + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterb-2.fakesite.grid5000.fr", + "rel" : "member", + "title" : "node" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/33" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/33/jobs" + } + ], + "cluster_priority" : 201906, + "maintenance" : "NO", + "last_available_upto" : 0, + "wattmeter" : "MULTIPLE", + "gpu_count" : 4, + "gpudevice" : 5, + "memcpu" : 65535, + "api_timestamp" : 1569497994, + "state_num" : 1, + "ib" : "NO", + "type" : "default", + "nodemodel" : "Dell PowerEdge T640", + "next_state" : "UnChanged", + "host" : "clusterb-2.fakesite.grid5000.fr", + "eth_count" : 1, + "myri_rate" : 0, + "disk_reservation_count" : 3, + "production" : "YES", + "max_walltime" : 86400, + "switch" : null, + "diskpath" : null, + "scheduler_priority" : 0, + "state" : "Alive", + "disktype" : "SATAA", + "mic" : "NO", + "opa" : "NO", + "myri" : "NO", + "core" : 30, + "besteffort" : "YES", + "memcore" : 8192, + "cpuarch" : "x86_64", + "ip" : "172.16.64.2", + "cluster" : "clusterb", + "id" : 33, + "virtual" : "ivt", + "desktop_computing" : "NO", + "opa_rate" : 0, + "available_upto" : 2147483647, + "memnode" : 131072, + "opa_count" : 0, + "ib_count" : 0, + "expiry_date" : 0, + "myri_count" : 0, + "cpucore" : 8, + "cpufreq" : "2.1", + "cpu" : 4, + "deploy" : "NO", + "last_job_date" : 0, + "cpuset" : 14, + "eth_rate" : 10, + "drain" : "NO", + "network_address" : "clusterb-2.fakesite.grid5000.fr", + "suspended_jobs" : "NO" + }, + { + "opa_rate" : 0, + "available_upto" : 2147483647, + "memnode" : 131072, + "cpuarch" : "x86_64", + "ip" : "172.16.64.2", + "memcore" : 8192, + "virtual" : "ivt", + "desktop_computing" : "NO", + "cluster" : "clusterb", + "id" : 34, + "eth_rate" : 10, + "network_address" : "clusterb-2.fakesite.grid5000.fr", + "drain" : "NO", + "suspended_jobs" : "NO", + "cpuset" : 14, + "opa_count" : 0, + "cpufreq" : "2.1", + "myri_count" : 0, + "last_job_date" : 0, + "cpucore" : 8, + "cpu" : 4, + "deploy" : "NO", + "ib_count" : 0, + "expiry_date" : 0, + "opa" : "NO", + "besteffort" : "YES", + "myri" : "NO", + "core" : 31, + "myri_rate" : 0, + "eth_count" : 1, + "next_state" : "UnChanged", + "host" : "clusterb-2.fakesite.grid5000.fr", + "nodemodel" : "Dell PowerEdge T640", + "state_num" : 1, + "type" : "default", + "ib" : "NO", + "mic" : "NO", + "disktype" : "SATAA", + "scheduler_priority" : 0, + "state" : "Alive", + "max_walltime" : 86400, + "production" : "YES", + "disk_reservation_count" : 3, + "diskpath" : null, + "switch" : null, + "ib_rate" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "disk" : null, + "cputype" : "Intel Xeon Silver 4110", + "next_finaud_decision" : "NO", + "gpu" : 8, + "finaud_decision" : "NO", + "gpudevice" : 3, + "gpu_count" : 4, + "api_timestamp" : 1569497994, + "memcpu" : 65535, + "maintenance" : "NO", + "cluster_priority" : 201906, + "links" : [ + { + "rel" : "member", + "href" : "//oarapi/resources/nodes/clusterb-2.fakesite.grid5000.fr", + "title" : "node" + }, + { + "href" : "//oarapi/resources/34", + "rel" : "self" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/34/jobs" + } + ], + "wattmeter" : "MULTIPLE", + "last_available_upto" : 0 + }, + { + "opa" : "NO", + "besteffort" : "YES", + "core" : 32, + "myri" : "NO", + "available_upto" : 2147483647, + "memnode" : 131072, + "opa_rate" : 0, + "desktop_computing" : "NO", + "virtual" : "ivt", + "id" : 35, + "cluster" : "clusterb", + "cpuarch" : "x86_64", + "ip" : "172.16.64.2", + "memcore" : 8192, + "eth_rate" : 10, + "suspended_jobs" : "NO", + "drain" : "NO", + "network_address" : "clusterb-2.fakesite.grid5000.fr", + "cpuset" : 15, + "myri_count" : 0, + "cpufreq" : "2.1", + "cpu" : 4, + "cpucore" : 8, + "last_job_date" : 0, + "deploy" : "NO", + "expiry_date" : 0, + "ib_count" : 0, + "opa_count" : 0, + "cputype" : "Intel Xeon Silver 4110", + "disk" : null, + "next_finaud_decision" : "NO", + "ib_rate" : 0, + "gpu_model" : "GeForce RTX 2080 Ti", + "gpu" : 8, + "finaud_decision" : "NO", + "api_timestamp" : 1569497994, + "memcpu" : 65535, + "gpudevice" : 3, + "gpu_count" : 4, + "wattmeter" : "MULTIPLE", + "last_available_upto" : 0, + "maintenance" : "NO", + "links" : [ + { + "href" : "//oarapi/resources/nodes/clusterb-2.fakesite.grid5000.fr", + "rel" : "member", + "title" : "node" + }, + { + "href" : "//oarapi/resources/35", + "rel" : "self" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/35/jobs" + } + ], + "cluster_priority" : 201906, + "eth_count" : 1, + "myri_rate" : 0, + "nodemodel" : "Dell PowerEdge T640", + "next_state" : "UnChanged", + "host" : "clusterb-2.fakesite.grid5000.fr", + "type" : "default", + "ib" : "NO", + "state_num" : 1, + "mic" : "NO", + "disktype" : "SATAA", + "scheduler_priority" : 0, + "state" : "Alive", + "diskpath" : null, + "switch" : null, + "production" : "YES", + "max_walltime" : 86400, + "disk_reservation_count" : 3 + }, + { + "state_num" : 1, + "type" : "disk", + "ib" : null, + "myri_rate" : null, + "eth_count" : null, + "next_state" : "UnChanged", + "nodemodel" : null, + "host" : "clusterb-2.fakesite.grid5000.fr", + "max_walltime" : null, + "production" : "YES", + "disk_reservation_count" : null, + "diskpath" : "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:1:0", + "switch" : null, + "disktype" : null, + "mic" : null, + "scheduler_priority" : 0, + "state" : "Alive", + "finaud_decision" : "NO", + "gpu" : null, + "gpu_model" : null, + "ib_rate" : null, + "disk" : "sdb.clusterb-2", + "cputype" : null, + "next_finaud_decision" : "NO", + "maintenance" : "NO", + "links" : [ + { + "title" : "node", + "rel" : "member", + "href" : "//oarapi/resources/nodes/" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/36" + }, + { + "href" : "//oarapi/resources/36/jobs", + "rel" : "collection", + "title" : "jobs" + } + ], + "cluster_priority" : null, + "wattmeter" : null, + "last_available_upto" : 0, + "gpudevice" : null, + "gpu_count" : null, + "api_timestamp" : 1569497994, + "memcpu" : null, + "cpuarch" : null, + "ip" : null, + "memcore" : null, + "virtual" : null, + "desktop_computing" : "NO", + "id" : 36, + "cluster" : "clusterb", + "opa_rate" : null, + "memnode" : null, + "available_upto" : 0, + "opa_count" : null, + "myri_count" : null, + "last_job_date" : 0, + "cpufreq" : null, + "cpucore" : null, + "cpu" : null, + "deploy" : "YES", + "expiry_date" : 0, + "ib_count" : null, + "suspended_jobs" : "NO", + "eth_rate" : null, + "drain" : "NO", + "network_address" : "", + "cpuset" : -1, + "opa" : null, + "myri" : null, + "core" : null, + "besteffort" : "YES" + }, + { + "besteffort" : "YES", + "core" : null, + "myri" : null, + "opa" : null, + "eth_rate" : null, + "network_address" : "", + "drain" : "NO", + "cpuset" : -1, + "suspended_jobs" : "NO", + "ib_count" : null, + "expiry_date" : 0, + "cpufreq" : null, + "myri_count" : null, + "cpucore" : null, + "cpu" : null, + "last_job_date" : 0, + "deploy" : "YES", + "opa_count" : null, + "available_upto" : 0, + "memnode" : null, + "opa_rate" : null, + "id" : 37, + "cluster" : "clusterb", + "virtual" : null, + "desktop_computing" : "NO", + "memcore" : null, + "cpuarch" : null, + "ip" : null, + "memcpu" : null, + "api_timestamp" : 1569497994, + "gpu_count" : null, + "gpudevice" : null, + "last_available_upto" : 0, + "wattmeter" : null, + "links" : [ + { + "rel" : "member", + "href" : "//oarapi/resources/nodes/", + "title" : "node" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/37" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/37/jobs" + } + ], + "cluster_priority" : null, + "maintenance" : "NO", + "disk" : "sdc.clusterb-2", + "cputype" : null, + "next_finaud_decision" : "NO", + "gpu_model" : null, + "ib_rate" : null, + "finaud_decision" : "NO", + "gpu" : null, + "state" : "Alive", + "scheduler_priority" : 0, + "disktype" : null, + "mic" : null, + "switch" : null, + "diskpath" : "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:2:0", + "disk_reservation_count" : null, + "production" : "YES", + "max_walltime" : null, + "next_state" : "UnChanged", + "host" : "clusterb-2.fakesite.grid5000.fr", + "nodemodel" : null, + "myri_rate" : null, + "eth_count" : null, + "ib" : null, + "type" : "disk", + "state_num" : 1 + }, + { + "gpu_model" : null, + "ib_rate" : null, + "next_finaud_decision" : "NO", + "disk" : "sdd.clusterb-2", + "cputype" : null, + "gpu" : null, + "finaud_decision" : "NO", + "gpu_count" : null, + "gpudevice" : null, + "memcpu" : null, + "api_timestamp" : 1569497994, + "cluster_priority" : null, + "links" : [ + { + "rel" : "member", + "title" : "node", + "href" : "//oarapi/resources/nodes/" + }, + { + "rel" : "self", + "href" : "//oarapi/resources/38" + }, + { + "rel" : "collection", + "title" : "jobs", + "href" : "//oarapi/resources/38/jobs" + } + ], + "maintenance" : "NO", + "last_available_upto" : 0, + "wattmeter" : null, + "nodemodel" : null, + "next_state" : "UnChanged", + "host" : "clusterb-2.fakesite.grid5000.fr", + "eth_count" : null, + "myri_rate" : null, + "state_num" : 1, + "ib" : null, + "type" : "disk", + "state" : "Alive", + "scheduler_priority" : 0, + "mic" : null, + "disktype" : null, + "disk_reservation_count" : null, + "production" : "YES", + "max_walltime" : null, + "switch" : null, + "diskpath" : "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:3:0", + "opa" : null, + "besteffort" : "YES", + "core" : null, + "myri" : null, + "opa_rate" : null, + "memnode" : null, + "available_upto" : 0, + "memcore" : null, + "cpuarch" : null, + "ip" : null, + "cluster" : "clusterb", + "id" : 38, + "virtual" : null, + "desktop_computing" : "NO", + "network_address" : "", + "eth_rate" : null, + "drain" : "NO", + "suspended_jobs" : "NO", + "cpuset" : -1, + "opa_count" : null, + "expiry_date" : 0, + "ib_count" : null, + "myri_count" : null, + "deploy" : "YES", + "cpufreq" : null, + "cpucore" : null, + "cpu" : null, + "last_job_date" : 0 + } + ], + "links" : [ + { + "rel" : "self", + "href" : "//oarapi/resources/details.json?limit=999999&offset=0" + } + ] +} + diff --git a/spec/stub_oar_properties/load_data_hierarchy_stubbed_data_misconfigured_server_with_disk.json b/spec/stub_oar_properties/load_data_hierarchy_stubbed_data_misconfigured_server_with_disk.json new file mode 100644 index 00000000000..5361202d115 --- /dev/null +++ b/spec/stub_oar_properties/load_data_hierarchy_stubbed_data_misconfigured_server_with_disk.json @@ -0,0 +1,1527 @@ +{ + "sites": { + "fakesite": { + "clusters": { + "clustera": { + "nodes": { + "clustera-1": { + "architecture": { + "nb_cores": 16, + "nb_procs": 2, + "nb_threads": 32, + "platform_type": "x86_64", + "cpu_core_numbering": "contiguous" + }, + "bios": { + "release_date": "06/14/2019", + "vendor": "Dell Inc.", + "version": "2.2.11" + }, + "chassis": { + "manufacturer": "Dell Inc.", + "name": "PowerEdge T640", + "serial": "FL1CBX2" + }, + "gpu": { + "gpu": true, + "gpu_cores": 17408, + "gpu_count": 4, + "gpu_model": "RTX 2080 Ti", + "gpu_vendor": "Nvidia" + }, + "gpu_devices": { + "nvidia0": { + "cpu_affinity": 0, + "device": "/dev/nvidia0", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.B2", + "vendor": "Nvidia" + }, + "nvidia1": { + "cpu_affinity": 0, + "device": "/dev/nvidia1", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.B2", + "vendor": "Nvidia" + }, + "nvidia2": { + "cpu_affinity": 1, + "device": "/dev/nvidia2", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.0B.40.09", + "vendor": "Nvidia" + }, + "nvidia3": { + "cpu_affinity": 1, + "device": "/dev/nvidia3", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.B2", + "vendor": "Nvidia" + } + }, + "main_memory": { + "ram_size": 137438953472 + }, + "monitoring": { + "wattmeter": "multiple" + }, + "network_adapters": [ + { + "bridged": false, + "device": "eth0", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:3f:64", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno1", + "vendor": "Broadcom" + }, + { + "bridged": false, + "device": "eth1", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:3f:65", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno2d1", + "vendor": "Broadcom" + }, + { + "bridged": true, + "device": "eth2", + "driver": "i40e", + "enabled": true, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "ip": "172.16.64.1", + "mac": "f8:f2:1e:60:41:20", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": true, + "mounted": true, + "name": "enp137s0f0", + "network_address": "clustera-1.fakesite.grid5000.fr", + "rate": 10000000000, + "switch": "gw-fakesite", + "switch_port": "Ethernet6/39", + "vendor": "Intel" + }, + { + "bridged": false, + "device": "eth3", + "driver": "i40e", + "enabled": false, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "mac": "f8:f2:1e:60:41:21", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": false, + "mounted": false, + "name": "enp137s0f1", + "vendor": "Intel" + }, + { + "device": "bmc", + "enabled": true, + "interface": "Ethernet", + "ip": "172.17.64.1", + "mac": "f4:02:70:9a:3f:74", + "management": true, + "mountable": false, + "mounted": false, + "network_address": "clustera-1-bmc.fakesite.grid5000.fr" + } + ], + "operating_system": { + "cstate_driver": "intel_idle", + "cstate_governor": "menu", + "ht_enabled": true, + "pstate_driver": "intel_pstate", + "pstate_governor": "performance", + "turboboost_enabled": true + }, + "performance": { + "core_flops": 17713000000, + "node_flops": 202670000000 + }, + "processor": { + "cache_l1": null, + "cache_l1d": 32768, + "cache_l1i": 32768, + "cache_l2": 1048576, + "cache_l3": 11534336, + "clock_speed": 2100000000, + "ht_capable": true, + "instruction_set": "x86-64", + "microarchitecture": "Skylake", + "model": "Intel Xeon", + "other_description": "Intel(R) Xeon(R) Silver 4110 CPU @ 2.10GHz", + "vendor": "Intel", + "version": "Silver 4110" + }, + "sensors": { + "power": { + "available": true, + "via": { + "api": { + "metric": "power" + }, + "pdu": [ + { + "port": 1, + "uid": "clustera-pdu1" + }, + { + "port": 1, + "uid": "clustera-pdu2" + } + ] + } + } + }, + "storage_devices": [ + { + "by_id": "/dev/disk/by-id/wwn-0x6f402700aefea00024afe4c307e10af8", + "by_path": "/dev/disk/by-path/pci-0000:19:00.0-scsi-0:2:0:0", + "device": "sda", + "driver": "megaraid_sas", + "firmware_version": 4.29, + "interface": "SATA", + "model": "PERC H330 Adp", + "size": 479559942144, + "storage": "SSD", + "vendor": "Dell (Raid)" + } + ], + "supported_job_types": { + "besteffort": true, + "deploy": true, + "max_walltime": 86400, + "queues": [ + "admin", + "production" + ], + "virtual": "ivt" + }, + "type": "node", + "uid": "clustera-1" + }, + "clustera-2": { + "architecture": { + "nb_cores": 16, + "nb_procs": 2, + "nb_threads": 32, + "platform_type": "x86_64", + "cpu_core_numbering": "contiguous" + }, + "bios": { + "release_date": "06/14/2019", + "vendor": "Dell Inc.", + "version": "2.2.11" + }, + "chassis": { + "manufacturer": "Dell Inc.", + "name": "PowerEdge T640", + "serial": "9L1CBX2" + }, + "gpu": { + "gpu": true, + "gpu_cores": 17408, + "gpu_count": 4, + "gpu_model": "RTX 2080 Ti", + "gpu_vendor": "Nvidia" + }, + "gpu_devices": { + "nvidia0": { + "cpu_affinity": 0, + "device": "/dev/nvidia0", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.B2", + "vendor": "Nvidia" + }, + "nvidia1": { + "cpu_affinity": 0, + "device": "/dev/nvidia1", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.0B.40.09", + "vendor": "Nvidia" + }, + "nvidia2": { + "cpu_affinity": 1, + "device": "/dev/nvidia2", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.0B.40.09", + "vendor": "Nvidia" + }, + "nvidia3": { + "cpu_affinity": 1, + "device": "/dev/nvidia3", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.AC", + "vendor": "Nvidia" + } + }, + "main_memory": { + "ram_size": 137438953472 + }, + "monitoring": { + "wattmeter": "multiple" + }, + "network_adapters": [ + { + "bridged": false, + "device": "eth0", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:48:d8", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno1", + "vendor": "Broadcom" + }, + { + "bridged": false, + "device": "eth1", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:48:d9", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno2d1", + "vendor": "Broadcom" + }, + { + "bridged": true, + "device": "eth2", + "driver": "i40e", + "enabled": true, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "ip": "172.16.64.2", + "mac": "f8:f2:1e:60:3f:a0", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": true, + "mounted": true, + "name": "enp137s0f0", + "network_address": "clustera-2.fakesite.grid5000.fr", + "rate": 10000000000, + "switch": "gw-fakesite", + "switch_port": "Ethernet6/40", + "vendor": "Intel" + }, + { + "bridged": false, + "device": "eth3", + "driver": "i40e", + "enabled": false, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "mac": "f8:f2:1e:60:3f:a1", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": false, + "mounted": false, + "name": "enp137s0f1", + "vendor": "Intel" + }, + { + "device": "bmc", + "enabled": true, + "interface": "Ethernet", + "ip": "172.17.64.2", + "mac": "f4:02:70:9a:48:e8", + "management": true, + "mountable": false, + "mounted": false, + "network_address": "clustera-2-bmc.fakesite.grid5000.fr" + } + ], + "operating_system": { + "cstate_driver": "intel_idle", + "cstate_governor": "menu", + "ht_enabled": true, + "pstate_driver": "intel_pstate", + "pstate_governor": "performance", + "turboboost_enabled": true + }, + "performance": { + "core_flops": 17713000000, + "node_flops": 202670000000 + }, + "processor": { + "cache_l1": null, + "cache_l1d": 32768, + "cache_l1i": 32768, + "cache_l2": 1048576, + "cache_l3": 11534336, + "clock_speed": 2100000000, + "ht_capable": true, + "instruction_set": "x86-64", + "microarchitecture": "Skylake", + "model": "Intel Xeon", + "other_description": "Intel(R) Xeon(R) Silver 4110 CPU @ 2.10GHz", + "vendor": "Intel", + "version": "Silver 4110" + }, + "sensors": { + "power": { + "available": true, + "via": { + "api": { + "metric": "power" + }, + "pdu": [ + { + "port": 6, + "uid": "clustera-pdu1" + }, + { + "port": 6, + "uid": "clustera-pdu2" + } + ] + } + } + }, + "storage_devices": [ + { + "by_id": "/dev/disk/by-id/wwn-0x6f402700aeff430024929b4003cd51d0", + "by_path": "/dev/disk/by-path/pci-0000:19:00.0-scsi-0:2:0:0", + "device": "sda", + "driver": "megaraid_sas", + "firmware_version": 4.29, + "interface": "SATA", + "model": "PERC H330 Adp", + "size": 479559942144, + "storage": "SSD", + "vendor": "Dell (Raid)" + } + ], + "supported_job_types": { + "besteffort": true, + "deploy": true, + "max_walltime": 86400, + "queues": [ + "admin", + "production" + ], + "virtual": "ivt" + }, + "type": "node", + "uid": "clustera-2" + } + }, + "created_at": "Fri, 07 Jun 2019 00:00:00 GMT", + "kavlan": false, + "model": "Dell PowerEdge T640", + "queues": [ + "admin", + "production" + ], + "type": "cluster", + "uid": "clustera" + }, + "clusterb": { + "nodes": { + "clusterb-2": { + "architecture": { + "nb_cores": 16, + "nb_procs": 2, + "nb_threads": 32, + "platform_type": "x86_64", + "cpu_core_numbering": "contiguous" + }, + "bios": { + "release_date": "06/14/2019", + "vendor": "Dell Inc.", + "version": "2.2.11" + }, + "chassis": { + "manufacturer": "Dell Inc.", + "name": "PowerEdge T640", + "serial": "9L1CBX2" + }, + "gpu": { + "gpu": true, + "gpu_cores": 17408, + "gpu_count": 4, + "gpu_model": "RTX 2080 Ti", + "gpu_vendor": "Nvidia" + }, + "gpu_devices": { + "nvidia0": { + "cpu_affinity": 0, + "device": "/dev/nvidia0", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.B2", + "vendor": "Nvidia" + }, + "nvidia1": { + "cpu_affinity": 0, + "device": "/dev/nvidia1", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.0B.40.09", + "vendor": "Nvidia" + }, + "nvidia2": { + "cpu_affinity": 1, + "device": "/dev/nvidia2", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.0B.40.09", + "vendor": "Nvidia" + }, + "nvidia3": { + "cpu_affinity": 1, + "device": "/dev/nvidia3", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.AC", + "vendor": "Nvidia" + } + }, + "main_memory": { + "ram_size": 137438953472 + }, + "monitoring": { + "wattmeter": "multiple" + }, + "network_adapters": [ + { + "bridged": false, + "device": "eth0", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:48:d8", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno1", + "vendor": "Broadcom" + }, + { + "bridged": false, + "device": "eth1", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:48:d9", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno2d1", + "vendor": "Broadcom" + }, + { + "bridged": true, + "device": "eth2", + "driver": "i40e", + "enabled": true, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "ip": "172.16.64.2", + "mac": "f8:f2:1e:60:3f:a0", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": true, + "mounted": true, + "name": "enp137s0f0", + "network_address": "clusterb-2.fakesite.grid5000.fr", + "rate": 10000000000, + "switch": null, + "switch_port": null, + "vendor": "Intel" + }, + { + "bridged": false, + "device": "eth3", + "driver": "i40e", + "enabled": false, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "mac": "f8:f2:1e:60:3f:a1", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": false, + "mounted": false, + "name": "enp137s0f1", + "vendor": "Intel" + }, + { + "device": "bmc", + "enabled": true, + "interface": "Ethernet", + "ip": "172.17.64.2", + "mac": "f4:02:70:9a:48:e8", + "management": true, + "mountable": false, + "mounted": false, + "network_address": "clusterb-2-bmc.fakesite.grid5000.fr" + } + ], + "operating_system": { + "cstate_driver": "intel_idle", + "cstate_governor": "menu", + "ht_enabled": true, + "pstate_driver": "intel_pstate", + "pstate_governor": "performance", + "turboboost_enabled": true + }, + "performance": { + "core_flops": 17713000000, + "node_flops": 202670000000 + }, + "processor": { + "cache_l1": null, + "cache_l1d": 32768, + "cache_l1i": 32768, + "cache_l2": 1048576, + "cache_l3": 11534336, + "clock_speed": 2100000000, + "ht_capable": true, + "instruction_set": "x86-64", + "microarchitecture": "Skylake", + "model": "Intel Xeon", + "other_description": "Intel(R) Xeon(R) Silver 4110 CPU @ 2.10GHz", + "vendor": "Intel", + "version": "Silver 4110" + }, + "sensors": { + "power": { + "available": true, + "via": { + "api": { + "metric": "power" + }, + "pdu": [ + { + "port": 6, + "uid": "clusterb-pdu1" + }, + { + "port": 6, + "uid": "clusterb-pdu2" + } + ] + } + } + }, + "storage_devices": [ + { + "by_id": "/dev/disk/by-id/wwn-0x6f402700aeff430024929b4003cd51d0", + "by_path": "/dev/disk/by-path/pci-0000:19:00.0-scsi-0:2:0:0", + "device": "sda", + "driver": "megaraid_sas", + "firmware_version": 4.29, + "interface": "SATA", + "model": "PERC H330 Adp", + "size": 479559942144, + "storage": "SSD", + "vendor": "Dell (Raid)" + }, + { + "by_id": "/dev/disk/by-id/wwn-0x500003973c8a1ad9", + "by_path": "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:1:0", + "device": "sdb", + "driver": "megaraid_sas", + "firmware_version": "AM04", + "interface": "SAS", + "model": "PX04SMB040", + "reservation": true, + "size": 400088457216, + "storage": "SSD", + "vendor": "Toshiba" + }, + { + "by_id": "/dev/disk/by-id/wwn-0x500003973be828eb", + "by_path": "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:2:0", + "device": "sdc", + "driver": "megaraid_sas", + "firmware_version": "FJ2D", + "interface": "SATA", + "model": "TOSHIBA MG04ACA4", + "reservation": true, + "size": 4000787030016, + "storage": "HDD", + "vendor": "Toshiba" + }, + { + "by_id": "/dev/disk/by-id/wwn-0x500003973be828e9", + "by_path": "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:3:0", + "device": "sdd", + "driver": "megaraid_sas", + "firmware_version": "FJ2D", + "interface": "SATA", + "model": "TOSHIBA MG04ACA4", + "reservation": true, + "size": 4000787030016, + "storage": "HDD", + "vendor": "Toshiba" + } + ], + "supported_job_types": { + "besteffort": true, + "deploy": true, + "max_walltime": 86400, + "queues": [ + "admin", + "production" + ], + "virtual": "ivt" + }, + "type": "node", + "uid": "clusterb-2" + }, + "clusterb-1": { + "architecture": { + "nb_cores": 16, + "nb_procs": 2, + "nb_threads": 32, + "platform_type": "x86_64", + "cpu_core_numbering": "contiguous" + }, + "bios": { + "release_date": "06/14/2019", + "vendor": "Dell Inc.", + "version": "2.2.11" + }, + "chassis": { + "manufacturer": "Dell Inc.", + "name": "PowerEdge T640", + "serial": "FL1CBX2" + }, + "gpu": { + "gpu": true, + "gpu_cores": 17408, + "gpu_count": 4, + "gpu_model": "RTX 2080 Ti", + "gpu_vendor": "Nvidia" + }, + "gpu_devices": { + "nvidia0": { + "cpu_affinity": 0, + "device": "/dev/nvidia0", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.B2", + "vendor": "Nvidia" + }, + "nvidia1": { + "cpu_affinity": 0, + "device": "/dev/nvidia1", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.B2", + "vendor": "Nvidia" + }, + "nvidia2": { + "cpu_affinity": 1, + "device": "/dev/nvidia2", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.0B.40.09", + "vendor": "Nvidia" + }, + "nvidia3": { + "cpu_affinity": 1, + "device": "/dev/nvidia3", + "memory": 10989000000, + "model": "GeForce RTX 2080 Ti", + "power_default_limit": "250.00 W", + "vbios_version": "90.02.17.00.B2", + "vendor": "Nvidia" + } + }, + "main_memory": { + "ram_size": 137438953472 + }, + "monitoring": { + "wattmeter": "multiple" + }, + "network_adapters": [ + { + "bridged": false, + "device": "eth0", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:3f:64", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno1", + "vendor": "Broadcom" + }, + { + "bridged": false, + "device": "eth1", + "driver": "bnxt_en", + "enabled": false, + "firmware_version": "214.0.173/1.9.2 pkg 21.40.20.0", + "interface": "Ethernet", + "mac": "f4:02:70:9a:3f:65", + "management": false, + "model": "BCM57416 NetXtreme-E 10GBase-T RDMA Ethernet Controller", + "mountable": false, + "mounted": false, + "name": "eno2d1", + "vendor": "Broadcom" + }, + { + "bridged": true, + "device": "eth2", + "driver": "i40e", + "enabled": true, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "ip": "172.16.64.1", + "mac": "f8:f2:1e:60:41:20", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": true, + "mounted": true, + "name": "enp137s0f0", + "network_address": "clusterb-1.fakesite.grid5000.fr", + "rate": 10000000000, + "switch": null, + "switch_port": null, + "vendor": "Intel" + }, + { + "bridged": false, + "device": "eth3", + "driver": "i40e", + "enabled": false, + "firmware_version": "6.80 0x80003d72 18.8.9", + "interface": "Ethernet", + "mac": "f8:f2:1e:60:41:21", + "management": false, + "model": "Ethernet Controller X710 for 10GbE SFP+", + "mountable": false, + "mounted": false, + "name": "enp137s0f1", + "vendor": "Intel" + }, + { + "device": "bmc", + "enabled": true, + "interface": "Ethernet", + "ip": "172.17.64.1", + "mac": "f4:02:70:9a:3f:74", + "management": true, + "mountable": false, + "mounted": false, + "network_address": "clusterb-1-bmc.fakesite.grid5000.fr" + } + ], + "operating_system": { + "cstate_driver": "intel_idle", + "cstate_governor": "menu", + "ht_enabled": true, + "pstate_driver": "intel_pstate", + "pstate_governor": "performance", + "turboboost_enabled": true + }, + "performance": { + "core_flops": 17713000000, + "node_flops": 202670000000 + }, + "processor": { + "cache_l1": null, + "cache_l1d": 32768, + "cache_l1i": 32768, + "cache_l2": 1048576, + "cache_l3": 11534336, + "clock_speed": 2100000000, + "ht_capable": true, + "instruction_set": "x86-64", + "microarchitecture": "Skylake", + "model": "Intel Xeon", + "other_description": "Intel(R) Xeon(R) Silver 4110 CPU @ 2.10GHz", + "vendor": "Intel", + "version": "Silver 4110" + }, + "sensors": { + "power": { + "available": true, + "via": { + "api": { + "metric": "power" + }, + "pdu": [ + { + "port": 1, + "uid": "clusterb-pdu1" + }, + { + "port": 1, + "uid": "clusterb-pdu2" + } + ] + } + } + }, + "storage_devices": [ + { + "by_id": "/dev/disk/by-id/wwn-0x6f402700aefea00024afe4c307e10af8", + "by_path": "/dev/disk/by-path/pci-0000:19:00.0-scsi-0:2:0:0", + "device": "sda", + "driver": "megaraid_sas", + "firmware_version": 4.29, + "interface": "SATA", + "model": "PERC H330 Adp", + "size": 479559942144, + "storage": "SSD", + "vendor": "Dell (Raid)" + }, + { + "by_id": "/dev/disk/by-id/wwn-0x500003973c8a1ad9", + "by_path": "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:1:0", + "device": "sdb", + "driver": "megaraid_sas", + "firmware_version": "AM04", + "interface": "SAS", + "model": "PX04SMB040", + "reservation": true, + "size": 400088457216, + "storage": "SSD", + "vendor": "Toshiba" + }, + { + "by_id": "/dev/disk/by-id/wwn-0x500003973be828eb", + "by_path": "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:2:0", + "device": "sdc", + "driver": "megaraid_sas", + "firmware_version": "FJ2D", + "interface": "SATA", + "model": "TOSHIBA MG04ACA4", + "reservation": true, + "size": 4000787030016, + "storage": "HDD", + "vendor": "Toshiba" + }, + { + "by_id": "/dev/disk/by-id/wwn-0x500003973be828e9", + "by_path": "/dev/disk/by-path/pci-0000:02:00.0-scsi-0:0:3:0", + "device": "sdd", + "driver": "megaraid_sas", + "firmware_version": "FJ2D", + "interface": "SATA", + "model": "TOSHIBA MG04ACA4", + "reservation": true, + "size": 4000787030016, + "storage": "HDD", + "vendor": "Toshiba" + } + ], + "supported_job_types": { + "besteffort": true, + "deploy": true, + "max_walltime": 86400, + "queues": [ + "admin", + "production" + ], + "virtual": "ivt" + }, + "type": "node", + "uid": "clusterb-1" + } + }, + "created_at": "Fri, 07 Jun 2019 00:00:00 GMT", + "kavlan": false, + "model": "Dell PowerEdge T640", + "queues": [ + "admin", + "production" + ], + "type": "cluster", + "uid": "clusterb" + } + }, + "network_equipments": { + "gw-fakesite": { + "backplane_bps": 1280000000000, + "kind": "router", + "linecards": [ + {}, + {}, + {}, + {}, + {}, + {}, + { + "backplane_bps": 1280000000000, + "kavlan_pattern": "Ethernet%LINECARD%/%PORT%", + "kind": "node", + "model": "N9K-X9464PX", + "ports": [ + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + {}, + { + "kind": "node", + "port": "eth2", + "uid": "clustera-1" + }, + { + "kind": "node", + "port": "eth2", + "uid": "clustera-2" + } + ], + "rate": 10000000000, + "snmp_pattern": "Ethernet%LINECARD%/%PORT%" + } + ], + "model": "Cisco Nexus 9508", + "monitoring": { + "metric": "power", + "wattmeter": "multiple" + }, + "sensors": { + "network": { + "available": true, + "resolution": 10 + }, + "power": { + "available": true, + "resolution": 1, + "via": { + "pdu": [ + { + "port": 8, + "uid": "graoully-pdu1" + }, + { + "port": 8, + "uid": "graoully-pdu2" + }, + { + "port": 8, + "uid": "grimoire-pdu1" + }, + { + "port": 8, + "uid": "grimoire-pdu2" + } + ] + } + } + }, + "site": "fakesite", + "snmp_community": "public", + "type": "network_equipment", + "uid": "gw-fakesite", + "vlans": { + "vlan100": { + "addresses": [ + "172.16.79.254" + ], + "administrative": true + }, + "vlan101": { + "addresses": [ + "172.17.79.254" + ] + }, + "vlan500": { + "addresses": [ + "192.168.4.14" + ] + }, + "vlan701": { + "addresses": [ + "192.168.192.0/20" + ], + "name": "kavlan-1" + }, + "vlan702": { + "addresses": [ + "192.168.208.0/20" + ], + "name": "kavlan-2" + }, + "vlan703": { + "addresses": [ + "192.168.224.0/20" + ], + "name": "kavlan-3" + }, + "vlan704": { + "addresses": [ + "10.16.0.0/18" + ], + "name": "kavlan-4" + }, + "vlan705": { + "addresses": [ + "10.16.64.0/18" + ], + "name": "kavlan-5" + }, + "vlan706": { + "addresses": [ + "10.16.128.0/18" + ], + "name": "kavlan-6" + }, + "vlan707": { + "addresses": [ + "10.16.192.0/18" + ], + "name": "kavlan-7" + }, + "vlan708": { + "addresses": [ + "10.17.0.0/18" + ], + "name": "kavlan-8" + }, + "vlan709": { + "addresses": [ + "10.17.64.0/18" + ], + "name": "kavlan-9" + }, + "vlan714": { + "addresses": [ + "10.19.192.0/18" + ], + "name": "kavlan-14" + } + }, + "warranty": "2020-09-01", + "weathermap": {} + } + }, + "pdus": { + "clustera-pdu1": { + "ip": "172.17.79.226", + "mac": "28:29:86:0B:3B:06", + "model": "AP8653", + "ports": { + "1": "clustera-1", + "6": "clustera-2" + }, + "sensors": [ + { + "power": { + "per_outlets": true, + "resolution": 1, + "snmp": { + "available": true, + "outlet_prefix_oid": "iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7", + "total_oids": [ + "iso.3.6.1.4.1.318.1.1.12.1.16.0" + ], + "unit": "W" + } + } + } + ], + "type": "pdu", + "uid": "clustera-pdu1", + "vendor": "APC" + }, + "clustera-pdu3": { + "ip": "172.17.79.231", + "mac": "28:29:86:12:27:FF", + "model": "AP8653", + "ports": {}, + "sensors": [ + { + "power": { + "per_outlets": true, + "resolution": 1, + "snmp": { + "available": true, + "outlet_prefix_oid": "iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7", + "total_oids": [ + "iso.3.6.1.4.1.318.1.1.12.1.16.0" + ], + "unit": "W" + } + } + } + ], + "type": "pdu", + "uid": "clustera-pdu3", + "vendor": "APC" + }, + "clustera-pdu2": { + "ip": "172.17.79.227", + "mac": "28:29:86:10:0E:8C", + "model": "AP8653", + "ports": { + "1": "clustera-1", + "6": "clustera-2" + }, + "sensors": [ + { + "power": { + "per_outlets": true, + "resolution": 1, + "snmp": { + "available": true, + "outlet_prefix_oid": "iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7", + "total_oids": [ + "iso.3.6.1.4.1.318.1.1.12.1.16.0" + ], + "unit": "W" + } + } + } + ], + "type": "pdu", + "uid": "clustera-pdu2", + "vendor": "APC" + }, + "clustera-pdu4": { + "ip": "172.17.79.232", + "mac": "28:29:86:10:0E:B4", + "model": "AP8653", + "ports": {}, + "sensors": [ + { + "power": { + "per_outlets": true, + "resolution": 1, + "snmp": { + "available": true, + "outlet_prefix_oid": "iso.3.6.1.4.1.318.1.1.26.9.4.3.1.7", + "total_oids": [ + "iso.3.6.1.4.1.318.1.1.12.1.16.0" + ], + "unit": "W" + } + } + } + ], + "type": "pdu", + "uid": "clustera-pdu4", + "vendor": "APC" + } + }, + "compilation_server": false, + "description": "Grid5000 Fakesite site", + "email_contact": "support-staff@lists.grid5000.fr", + "frontend_ip": "172.16.79.101", + "g5ksubnet": { + "gateway": "10.147.255.254", + "network": "10.144.0.0/14" + }, + "latitude": 48.7, + "location": "Fakesite, France", + "longitude": 6.2, + "name": "Fakesite", + "production": true, + "renater_ip": "192.168.4.14", + "security_contact": "support-staff@lists.grid5000.fr", + "storage5k": false, + "sys_admin_contact": "support-staff@lists.grid5000.fr", + "type": "site", + "uid": "fakesite", + "user_support_contact": "support-staff@lists.grid5000.fr", + "virt_ip_range": "10.144.0.0/14", + "web": "http://www.grid5000.fr/mediawiki/index.php/Fakesite:Home" + } + }, + "network_equipments": { + "renater-lille": { + "kind": "virtual", + "linecards": [ + { + "ports": [ + { + "uid": "renater-paris" + }, + { + "kind": "router", + "site_uid": "lille", + "uid": "gw-lille" + } + ], + "rate": 10000000000 + } + ], + "type": "network_equipment", + "uid": "renater-lille", + "weathermap": {} + }, + "renater-nantes": { + "kind": "virtual", + "linecards": [ + { + "ports": [ + { + "uid": "renater-lyon" + }, + { + "uid": "renater-rennes" + }, + { + "kind": "router", + "site_uid": "nantes", + "uid": "gw-nantes" + } + ], + "rate": 10000000000 + } + ], + "type": "network_equipment", + "uid": "renater-nantes", + "weathermap": {} + }, + "renater-rennes": { + "kind": "virtual", + "linecards": [ + { + "ports": [ + { + "uid": "renater-nantes" + }, + { + "kind": "router", + "site_uid": "rennes", + "uid": "gw-rennes" + } + ], + "rate": 10000000000 + } + ], + "type": "network_equipment", + "uid": "renater-rennes", + "weathermap": {} + }, + "renater-paris": { + "kind": "virtual", + "linecards": [ + { + "ports": [ + { + "uid": "renater-lille" + }, + { + "uid": "renater-lyon" + }, + { + "uid": "renater-nancy" + } + ], + "rate": 10000000000 + } + ], + "type": "network_equipment", + "uid": "renater-paris", + "weathermap": {} + }, + "renater-sophia": { + "kind": "virtual", + "linecards": [ + { + "ports": [ + { + "uid": "renater-lyon" + }, + { + "kind": "router", + "site_uid": "sophia", + "uid": "gw-sophia" + } + ], + "rate": 10000000000 + } + ], + "type": "network_equipment", + "uid": "renater-sophia", + "weathermap": {} + }, + "renater-luxembourg": { + "kind": "virtual", + "linecards": [ + { + "ports": [ + { + "uid": "renater-nancy" + }, + { + "kind": "router", + "site_uid": "luxembourg", + "uid": "gw-luxembourg" + } + ], + "rate": 10000000000 + } + ], + "type": "network_equipment", + "uid": "renater-luxembourg", + "weathermap": {} + }, + "renater-nancy": { + "kind": "virtual", + "linecards": [ + { + "ports": [ + { + "uid": "renater-luxembourg" + }, + { + "uid": "renater-paris" + }, + { + "kind": "router", + "site_uid": "nancy", + "uid": "gw-nancy" + } + ], + "rate": 10000000000 + } + ], + "type": "network_equipment", + "uid": "renater-nancy", + "weathermap": {} + }, + "renater-grenoble": { + "kind": "virtual", + "linecards": [ + { + "ports": [ + { + "uid": "renater-lyon" + }, + { + "kind": "router", + "site_uid": "grenoble", + "uid": "gw-grenoble" + } + ], + "rate": 10000000000 + } + ], + "type": "network_equipment", + "uid": "renater-grenoble", + "weathermap": {} + }, + "renater-lyon": { + "kind": "virtual", + "linecards": [ + { + "ports": [ + { + "uid": "renater-paris" + }, + { + "uid": "renater-sophia" + }, + { + "uid": "renater-grenoble" + }, + { + "uid": "renater-nantes" + }, + { + "kind": "router", + "site_uid": "lyon", + "uid": "gw-lyon" + } + ], + "rate": 10000000000 + } + ], + "type": "network_equipment", + "uid": "renater-lyon", + "weathermap": {} + } + }, + "type": "grid", + "uid": "grid5000" +} -- GitLab