projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
12431: Use libcloud fork 2.2.2.dev1
[arvados.git]
/
services
/
nodemanager
/
arvnodeman
/
daemon.py
diff --git
a/services/nodemanager/arvnodeman/daemon.py
b/services/nodemanager/arvnodeman/daemon.py
index d8087a1dc1cf0d7472acc1c19e429dd36c72dacb..ca3029d9e1bc3c376b119cca367b3767f3a8bb45 100644
(file)
--- a/
services/nodemanager/arvnodeman/daemon.py
+++ b/
services/nodemanager/arvnodeman/daemon.py
@@
-78,7
+78,10
@@
class _ArvadosNodeTracker(_BaseNodeTracker):
item_key = staticmethod(lambda arvados_node: arvados_node['uuid'])
def find_stale_node(self, stale_time):
item_key = staticmethod(lambda arvados_node: arvados_node['uuid'])
def find_stale_node(self, stale_time):
- for record in self.nodes.itervalues():
+ # Try to select a stale node record that have an assigned slot first
+ for record in sorted(self.nodes.itervalues(),
+ key=lambda r: r.arvados_node['slot_number'],
+ reverse=True):
node = record.arvados_node
if (not cnode.timestamp_fresh(cnode.arvados_node_mtime(node),
stale_time) and
node = record.arvados_node
if (not cnode.timestamp_fresh(cnode.arvados_node_mtime(node),
stale_time) and