X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/ab5ded7cdf302ad156c58d47f59ab07e3a14ec69..07a3aa9651168756a6f108821f6ef10ea4ba8144:/services/api/app/controllers/arvados/v1/nodes_controller.rb?ds=sidebyside diff --git a/services/api/app/controllers/arvados/v1/nodes_controller.rb b/services/api/app/controllers/arvados/v1/nodes_controller.rb index 990397bf7c..5bfeff06f5 100644 --- a/services/api/app/controllers/arvados/v1/nodes_controller.rb +++ b/services/api/app/controllers/arvados/v1/nodes_controller.rb @@ -20,10 +20,16 @@ class Arvados::V1::NodesController < ApplicationController if !@object return render_not_found end - @object.ping({ ip: params[:local_ipv4] || request.env['REMOTE_ADDR'], - ping_secret: params[:ping_secret], - ec2_instance_id: params[:instance_id] }) - if @object.info[:ping_secret] == params[:ping_secret] + ping_data = { + ip: params[:local_ipv4] || request.env['REMOTE_ADDR'], + ec2_instance_id: params[:instance_id] + } + [:ping_secret, :total_cpu_cores, :total_ram_mb, :total_scratch_mb] + .each do |key| + ping_data[key] = params[key] if params[key] + end + @object.ping(ping_data) + if @object.info['ping_secret'] == params[:ping_secret] render json: @object.as_api_response(:superuser) else raise "Invalid ping_secret after ping"