11254: Cloud nodes where "actor is None" are considered to be in shutdown. The
authorPeter Amstutz <peter.amstutz@curoverse.com>
Thu, 16 Mar 2017 20:11:00 +0000 (16:11 -0400)
committerPeter Amstutz <peter.amstutz@curoverse.com>
Thu, 16 Mar 2017 20:11:00 +0000 (16:11 -0400)
only time it should be "None" is the period between a successful shutdown and
when the node disappears from the cloud node list.

services/nodemanager/arvnodeman/daemon.py

index dcbc87ccc855d88193840565aec5342271c492e6..cb11521ef9b7aaf7fa6fa411c4687126469cd9c3 100644 (file)
@@ -246,10 +246,12 @@ class NodeManagerDaemonActor(actor_class):
         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))
+                                   rec.shutdown_actor is None and
+                                   rec.actor is not 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)]
+                       (rec.shutdown_actor is not None or
+                        rec.actor is None))]
         return states
 
     def _state_counts(self, size):