From: Peter Amstutz Date: Thu, 19 Nov 2015 19:44:42 +0000 (-0500) Subject: 5353: Remove checks that cloud_node.size is None (because it should never be None or X-Git-Tag: 1.1.0~1244^2 X-Git-Url: https://git.arvados.org/arvados.git/commitdiff_plain/94442974428c037df716204296a3579dbc645bbc 5353: Remove checks that cloud_node.size is None (because it should never be None or booting multiple node sizes won't work). Set size explicitly for the dummy driver. --- diff --git a/services/nodemanager/arvnodeman/computenode/driver/dummy.py b/services/nodemanager/arvnodeman/computenode/driver/dummy.py index c164a25b85..44ee71569f 100644 --- a/services/nodemanager/arvnodeman/computenode/driver/dummy.py +++ b/services/nodemanager/arvnodeman/computenode/driver/dummy.py @@ -38,6 +38,7 @@ class ComputeNodeDriver(BaseComputeNodeDriver): nodelist = super(ComputeNodeDriver, self).list_nodes() for node in nodelist: self._ensure_private_ip(node) + node.size = self.sizes["1"] return nodelist def create_node(self, size, arvados_node): diff --git a/services/nodemanager/arvnodeman/daemon.py b/services/nodemanager/arvnodeman/daemon.py index 64bb177de5..df0307ae31 100644 --- a/services/nodemanager/arvnodeman/daemon.py +++ b/services/nodemanager/arvnodeman/daemon.py @@ -222,7 +222,7 @@ class NodeManagerDaemonActor(actor_class): up += sum(1 for i in (self.booted, self.cloud_nodes.nodes) for c in i.itervalues() - if size is None or (c.cloud_node.size and c.cloud_node.size.id == size.id)) + if size is None or c.cloud_node.size.id == size.id) return up def _total_price(self): @@ -231,22 +231,21 @@ class NodeManagerDaemonActor(actor_class): for c in self.booting.itervalues()) cost += sum(c.cloud_node.size.price for i in (self.booted, self.cloud_nodes.nodes) - for c in i.itervalues() - if c.cloud_node.size) + for c in i.itervalues()) return cost def _nodes_busy(self, size): return sum(1 for busy in pykka.get_all(rec.actor.in_state('busy') for rec in self.cloud_nodes.nodes.itervalues() - if (rec.cloud_node.size and rec.cloud_node.size.id == size.id)) + if rec.cloud_node.size.id == size.id) if busy) def _nodes_missing(self, size): return sum(1 for arv_node in pykka.get_all(rec.actor.arvados_node for rec in self.cloud_nodes.nodes.itervalues() - if rec.cloud_node.size and rec.cloud_node.size.id == size.id and rec.actor.cloud_node.get().id not in self.shutdowns) + if rec.cloud_node.size.id == size.id and rec.actor.cloud_node.get().id not in self.shutdowns) if arv_node and cnode.arvados_node_missing(arv_node, self.node_stale_after)) def _size_wishlist(self, size):