18075: Kill off MaxComputeVMs properly.
authorTom Clegg <tom@curii.com>
Fri, 27 Jan 2023 21:33:30 +0000 (16:33 -0500)
committerTom Clegg <tom@curii.com>
Fri, 27 Jan 2023 21:33:30 +0000 (16:33 -0500)
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom@curii.com>

services/api/app/models/node.rb
services/api/config/arvados_config.rb
services/api/test/unit/node_test.rb

index c8b463696bb5423b1d5a5f7f5533b95637246165..c8a606e2b808d63a714d41d362e11e34121eebac 100644 (file)
@@ -24,6 +24,7 @@ class Node < ArvadosModel
   attr_accessor :job_readable
 
   UNUSED_NODE_IP = '127.40.4.0'
+  MAX_VMS = 3
 
   api_accessible :user, :extend => :common do |t|
     t.add :hostname
@@ -159,7 +160,7 @@ class Node < ArvadosModel
                           # query label:
                           'Node.available_slot_number',
                           # [col_id, val] for $1 vars:
-                          [[nil, Rails.configuration.Containers.MaxComputeVMs]],
+                          [[nil, MAX_VMS]],
                          ).rows.first.andand.first
   end
 
@@ -267,7 +268,7 @@ class Node < ArvadosModel
       !Rails.configuration.Containers.SLURM.Managed.DNSServerConfTemplate.to_s.empty? and
       !Rails.configuration.Containers.SLURM.Managed.AssignNodeHostname.empty?)
 
-    (0..Rails.configuration.Containers.MaxComputeVMs-1).each do |slot_number|
+    (0..MAX_VMS-1).each do |slot_number|
       hostname = hostname_for_slot(slot_number)
       hostfile = File.join Rails.configuration.Containers.SLURM.Managed.DNSServerConfDir, "#{hostname}.conf"
       if !File.exist? hostfile
index c47eeb55146221d0c9a06ce7fcfd006e0dcee626..d928d592c93f7b01f58145a37d08b380941d1720 100644 (file)
@@ -132,7 +132,6 @@ arvcfg.declare_config "Containers.DefaultKeepCacheRAM", Integer, :container_defa
 arvcfg.declare_config "Containers.MaxDispatchAttempts", Integer, :max_container_dispatch_attempts
 arvcfg.declare_config "Containers.MaxRetryAttempts", Integer, :container_count_max
 arvcfg.declare_config "Containers.AlwaysUsePreemptibleInstances", Boolean, :preemptible_instances
-arvcfg.declare_config "Containers.MaxComputeVMs", Integer, :max_compute_nodes
 arvcfg.declare_config "Containers.Logging.LogBytesPerEvent", Integer, :crunch_log_bytes_per_event
 arvcfg.declare_config "Containers.Logging.LogSecondsBetweenEvents", ActiveSupport::Duration, :crunch_log_seconds_between_events
 arvcfg.declare_config "Containers.Logging.LogThrottlePeriod", ActiveSupport::Duration, :crunch_log_throttle_period
index 9fa3febe1e75fddf4227fae9801cda7d976b4149..c3d0708869aa8060db80ccae35fa2ec422f7c6a6 100644 (file)
@@ -196,13 +196,12 @@ class NodeTest < ActiveSupport::TestCase
   end
 
   test 'run out of slots' do
-    Rails.configuration.Containers.MaxComputeVMs = 3
     act_as_system_user do
       Node.destroy_all
       (1..4).each do |i|
         n = Node.create!
         args = { ip: "10.0.0.#{i}", ping_secret: n.info['ping_secret'] }
-        if i <= Rails.configuration.Containers.MaxComputeVMs
+        if i <= 3 # MAX_VMS
           n.ping(args)
         else
           assert_raises do