import logging
import unittest
+import arvnodeman.computenode.dispatch as dispatch
+import arvnodeman.computenode.dispatch.slurm as slurm_dispatch
import arvnodeman.config as nmconfig
class NodeManagerConfigTestCase(unittest.TestCase):
[Size 1]
cores = 1
+price = 0.8
[Logging]
file = /dev/null
size, kwargs = sizes[0]
self.assertEqual('Small', size.name)
self.assertEqual(1, kwargs['cores'])
+ self.assertEqual(0.8, kwargs['price'])
+
+ def test_default_node_mem_scaling(self):
+ config = self.load_config()
+ self.assertEqual(0.95, config.getfloat('Daemon', 'node_mem_scaling'))
def test_shutdown_windows(self):
config = self.load_config()
self.assertEqual({'level': logging.DEBUG,
'testlogger': logging.INFO},
config.log_levels())
+
+ def check_dispatch_classes(self, config, module):
+ setup, shutdown, update, monitor = config.dispatch_classes()
+ self.assertIs(setup, module.ComputeNodeSetupActor)
+ self.assertIs(shutdown, module.ComputeNodeShutdownActor)
+ self.assertIs(update, module.ComputeNodeUpdateActor)
+ self.assertIs(monitor, module.ComputeNodeMonitorActor)
+
+ def test_default_dispatch(self):
+ config = self.load_config()
+ self.check_dispatch_classes(config, dispatch)
+
+ def test_custom_dispatch(self):
+ config = self.load_config(
+ config_str=self.TEST_CONFIG + "[Daemon]\ndispatcher=slurm\n")
+ self.check_dispatch_classes(config, slurm_dispatch)