7454: Add 'size' to arvados_create_kwargs so that it can be included in CustomData.
[arvados.git] / services / nodemanager / arvnodeman / computenode / __init__.py
index b47866d2d48a67df071bcbc3361059196058259f..6e46bc0f4c6283ab0d73da212529299bdec4ba10 100644 (file)
@@ -31,7 +31,17 @@ def timestamp_fresh(timestamp, fresh_time):
     return (time.time() - timestamp) < fresh_time
 
 def arvados_node_missing(arvados_node, fresh_time):
-    return not timestamp_fresh(arvados_timestamp(arvados_node["last_ping_at"]), fresh_time)
+    """Indicate if cloud node corresponding to the arvados
+    node is "missing".
+
+    If True, this means the node has not pinged the API server within the timeout
+    period.  If False, the ping is up to date.  If the node has never pinged,
+    returns None.
+    """
+    if arvados_node["last_ping_at"] is None:
+        return None
+    else:
+        return not timestamp_fresh(arvados_timestamp(arvados_node["last_ping_at"]), fresh_time)
 
 class ShutdownTimer(object):
     """Keep track of a cloud node's shutdown windows.