13098: 12199: Fix hostname assigned but not saved.
authorTom Clegg <tclegg@veritasgenetics.com>
Fri, 16 Feb 2018 18:55:24 +0000 (13:55 -0500)
committerTom Clegg <tclegg@veritasgenetics.com>
Fri, 16 Feb 2018 19:04:55 +0000 (14:04 -0500)
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tclegg@veritasgenetics.com>

services/api/app/controllers/arvados/v1/nodes_controller.rb
services/api/test/functional/arvados/v1/nodes_controller_test.rb

index 247d15e1c1ce76547aaa75975c95322d1e898887..a2b22ea7f6c55709dff9d745368cbbe46bed5669 100644 (file)
@@ -39,6 +39,7 @@ class Arvados::V1::NodesController < ApplicationController
     }
     @object.update_attributes!(attrs_to_update)
     @object.assign_slot if params[:assign_slot]
+    @object.save!
     show
   end
 
index c198c4c8ee9874cc1769b11428c11f44290fcf85..dc8b3acdd7de02c83f0a668426bcf63a078c5111 100644 (file)
@@ -92,6 +92,10 @@ class Arvados::V1::NodesControllerTest < ActionController::TestCase
     assert_operator 0, :<, json_response['slot_number']
     n = json_response['slot_number']
     assert_equal "compute#{n}", json_response['hostname']
+
+    node = Node.where(uuid: json_response['uuid']).first
+    assert_equal n, node.slot_number
+    assert_equal "compute#{n}", node.hostname
   end
 
   test "update node and assign slot" do
@@ -102,6 +106,10 @@ class Arvados::V1::NodesControllerTest < ActionController::TestCase
     assert_operator 0, :<, json_response['slot_number']
     n = json_response['slot_number']
     assert_equal "compute#{n}", json_response['hostname']
+
+    node.reload
+    assert_equal n, node.slot_number
+    assert_equal "compute#{n}", node.hostname
   end
 
   test "update node and assign slot, don't clobber hostname" do