X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/abe8fc4c5818165ffb696448c81b3bf1bb5dc1dd..131b0d92bd2154a97d1f13c26073bc47feba3c20:/services/nodemanager/arvnodeman/config.py diff --git a/services/nodemanager/arvnodeman/config.py b/services/nodemanager/arvnodeman/config.py index 24fd828cf5..f018015717 100644 --- a/services/nodemanager/arvnodeman/config.py +++ b/services/nodemanager/arvnodeman/config.py @@ -6,6 +6,7 @@ import ConfigParser import importlib import logging import ssl +import sys import arvados import httplib2 @@ -42,6 +43,7 @@ class NodeManagerConfig(ConfigParser.SafeConfigParser): 'poll_time': '60', 'max_poll_time': '300', 'poll_stale_after': '600', + 'boot_fail_after': str(sys.maxint), 'node_stale_after': str(60 * 60 * 2)}, 'Logging': {'file': '/dev/stderr', 'level': 'WARNING'}, @@ -68,6 +70,17 @@ class NodeManagerConfig(ConfigParser.SafeConfigParser): for key in self.options('Logging') if key not in self.LOGGING_NONLEVELS} + def dispatch_classes(self): + mod_name = 'arvnodeman.computenode.dispatch' + if self.has_option('Daemon', 'dispatcher'): + mod_name = '{}.{}'.format(mod_name, + self.get('Daemon', 'dispatcher')) + module = importlib.import_module(mod_name) + return (module.ComputeNodeSetupActor, + module.ComputeNodeShutdownActor, + module.ComputeNodeUpdateActor, + module.ComputeNodeMonitorActor) + def new_arvados_client(self): if self.has_option('Daemon', 'certs_file'): certs_file = self.get('Daemon', 'certs_file')