12452: Consider unpaired node older than boot grace period 'down'.
authorPeter Amstutz <peter.amstutz@curoverse.com>
Mon, 16 Oct 2017 19:50:36 +0000 (15:50 -0400)
committerPeter Amstutz <peter.amstutz@curoverse.com>
Mon, 16 Oct 2017 19:50:36 +0000 (15:50 -0400)
Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <pamstutz@veritasgenetics.com>

services/nodemanager/arvnodeman/computenode/dispatch/__init__.py

index c5dd1adef1f3173446d7c5efb3d8fbfc31d9d771..6c61e32b8db2c10cbef17216e8e3c80c9e7bfa4e 100644 (file)
@@ -364,9 +364,15 @@ class ComputeNodeMonitorActor(config.actor_class):
     def get_state(self):
         """Get node state, one of ['unpaired', 'busy', 'idle', 'down']."""
 
-        # If this node is not associated with an Arvados node, return 'unpaired'.
+        # If this node is not associated with an Arvados node, return
+        # 'unpaired' if we're in the boot grace period, and 'down' if not,
+        # so it isn't counted towards usable nodes.
         if self.arvados_node is None:
-            return 'unpaired'
+            if timestamp_fresh(self.cloud_node_start_time,
+                               self.boot_fail_after):
+                return 'unpaired'
+            else:
+                return 'down'
 
         state = self.arvados_node['crunch_worker_state']