projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch '4751-node-manager-stricter-node-pairing-wip'
[arvados.git]
/
services
/
nodemanager
/
tests
/
test_daemon.py
diff --git
a/services/nodemanager/tests/test_daemon.py
b/services/nodemanager/tests/test_daemon.py
index 96fcde9524b910b56b45a2aea01bd3bdf06066cf..dc8fdc3f8496b9d90d43fdabca4b922120875a6f 100644
(file)
--- a/
services/nodemanager/tests/test_daemon.py
+++ b/
services/nodemanager/tests/test_daemon.py
@@
-49,8
+49,18
@@
class NodeManagerDaemonActorTestCase(testutil.ActorTestMixin,
def monitor_list(self):
return pykka.ActorRegistry.get_by_class(ComputeNodeMonitorActor)
def monitor_list(self):
return pykka.ActorRegistry.get_by_class(ComputeNodeMonitorActor)
+ def monitored_arvados_nodes(self):
+ pairings = []
+ for future in [actor.proxy().arvados_node
+ for actor in self.monitor_list()]:
+ try:
+ pairings.append(future.get(self.TIMEOUT))
+ except pykka.ActorDeadError:
+ pass
+ return pairings
+
def alive_monitor_count(self):
def alive_monitor_count(self):
- return
sum(1 for actor in self.monitor_list() if actor.is_alive
())
+ return
len(self.monitored_arvados_nodes
())
def assertShutdownCancellable(self, expected=True):
self.assertTrue(self.node_shutdown.start.called)
def assertShutdownCancellable(self, expected=True):
self.assertTrue(self.node_shutdown.start.called)
@@
-65,9
+75,7
@@
class NodeManagerDaemonActorTestCase(testutil.ActorTestMixin,
self.assertTrue(self.node_setup.start.called)
def check_monitors_arvados_nodes(self, *arv_nodes):
self.assertTrue(self.node_setup.start.called)
def check_monitors_arvados_nodes(self, *arv_nodes):
- pairings = [monitor.proxy().arvados_node
- for monitor in self.monitor_list() if monitor.is_alive()]
- self.assertItemsEqual(arv_nodes, pykka.get_all(pairings, self.TIMEOUT))
+ self.assertItemsEqual(arv_nodes, self.monitored_arvados_nodes())
def test_node_pairing(self):
cloud_node = testutil.cloud_node_mock(1)
def test_node_pairing(self):
cloud_node = testutil.cloud_node_mock(1)
@@
-86,8
+94,11
@@
class NodeManagerDaemonActorTestCase(testutil.ActorTestMixin,
self.check_monitors_arvados_nodes(arv_node)
def test_arvados_node_un_and_re_paired(self):
self.check_monitors_arvados_nodes(arv_node)
def test_arvados_node_un_and_re_paired(self):
+ # We need to create the Arvados node mock after spinning up the daemon
+ # to make sure it's new enough to pair with the cloud node.
+ self.make_daemon([testutil.cloud_node_mock(3)], arvados_nodes=None)
arv_node = testutil.arvados_node_mock(3)
arv_node = testutil.arvados_node_mock(3)
- self.
make_daemon([testutil.cloud_node_mock(3)], [arv_node]
)
+ self.
daemon.update_arvados_nodes([arv_node]).get(self.TIMEOUT
)
self.check_monitors_arvados_nodes(arv_node)
self.daemon.update_cloud_nodes([]).get(self.TIMEOUT)
self.assertEqual(0, self.alive_monitor_count())
self.check_monitors_arvados_nodes(arv_node)
self.daemon.update_cloud_nodes([]).get(self.TIMEOUT)
self.assertEqual(0, self.alive_monitor_count())