X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/8af162e0e5703f8b3a1dd60d5fd9a110ff009e24..5185c0d7e1d9aa8ea4abe46e4bbc0927e52e9a66:/services/nodemanager/arvnodeman/config.py diff --git a/services/nodemanager/arvnodeman/config.py b/services/nodemanager/arvnodeman/config.py index 1699584b20..079e623c55 100644 --- a/services/nodemanager/arvnodeman/config.py +++ b/services/nodemanager/arvnodeman/config.py @@ -37,7 +37,8 @@ class NodeManagerConfig(ConfigParser.SafeConfigParser): for sec_name, settings in { 'Arvados': {'insecure': 'no', 'timeout': '15'}, - 'Daemon': {'max_nodes': '1', + 'Daemon': {'min_nodes': '0', + 'max_nodes': '1', 'poll_time': '60', 'max_poll_time': '300', 'poll_stale_after': '600', @@ -67,6 +68,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') @@ -84,7 +96,7 @@ class NodeManagerConfig(ConfigParser.SafeConfigParser): http=http) def new_cloud_client(self): - module = importlib.import_module('arvnodeman.computenode.' + + module = importlib.import_module('arvnodeman.computenode.driver.' + self.get('Cloud', 'provider')) auth_kwargs = self.get_section('Cloud Credentials') if 'timeout' in auth_kwargs: