5353: Remove checks that cloud_node.size is None (because it should never be None or
authorPeter Amstutz <peter.amstutz@curoverse.com>
Thu, 19 Nov 2015 19:44:42 +0000 (14:44 -0500)
committerPeter Amstutz <peter.amstutz@curoverse.com>
Thu, 19 Nov 2015 19:44:42 +0000 (14:44 -0500)
booting multiple node sizes won't work).  Set size explicitly for the dummy driver.

services/nodemanager/arvnodeman/computenode/driver/dummy.py
services/nodemanager/arvnodeman/daemon.py

index c164a25b85f79e2e8c26dc91aef76554a0545fb7..44ee71569f6570a8ac09fa0da8f846bdd0b29ca3 100644 (file)
@@ -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):
index 64bb177de56f84e75e2b01dca644db7f35d9433f..df0307ae310e048e8eae4e87744c801085f4b65e 100644 (file)
@@ -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):