X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/6a7d7a2fa8e217e1ff9440769f39a2095d5bb837..b77893f2a8ae755f22615054f2c267d990995e1c:/services/nodemanager/arvnodeman/daemon.py diff --git a/services/nodemanager/arvnodeman/daemon.py b/services/nodemanager/arvnodeman/daemon.py index 63c9d195a4..b4f17849f1 100644 --- a/services/nodemanager/arvnodeman/daemon.py +++ b/services/nodemanager/arvnodeman/daemon.py @@ -243,14 +243,15 @@ class NodeManagerDaemonActor(actor_class): return s def _node_states(self, size): - states = pykka.get_all(rec.actor.get_state() - for rec in self.cloud_nodes.nodes.itervalues() - if ((size is None or rec.cloud_node.size.id == size.id) and - rec.shutdown_actor is None)) - states += ['shutdown' for rec in self.cloud_nodes.nodes.itervalues() - if ((size is None or rec.cloud_node.size.id == size.id) and - rec.shutdown_actor is not None)] - return states + proxy_states = [] + states = [] + for rec in self.cloud_nodes.nodes.itervalues(): + if size is None or rec.cloud_node.size.id == size.id: + if rec.shutdown_actor is None and rec.actor is not None: + proxy_states.append(rec.actor.get_state()) + else: + states.append("shutdown") + return states + pykka.get_all(proxy_states) def _state_counts(self, size): states = self._node_states(size) @@ -272,9 +273,9 @@ class NodeManagerDaemonActor(actor_class): def _total_price(self): cost = 0 - cost += sum(self.server_calculator.find_size(self.sizes_booting[c].id).price - for c in self.booting.iterkeys()) - cost += sum(self.server_calculator.find_size(c.cloud_node.size.id).price + cost += sum(self.sizes_booting[c].price + for c in self.booting.iterkeys()) + cost += sum(c.cloud_node.size.price for c in self.cloud_nodes.nodes.itervalues()) return cost