13961: Separate config for cloudlist_poll_time, nodelist_poll_time, wishlist_poll_time
authorPeter Amstutz <pamstutz@veritasgenetics.com>
Fri, 3 Aug 2018 17:01:49 +0000 (13:01 -0400)
committerPeter Amstutz <pamstutz@veritasgenetics.com>
Fri, 3 Aug 2018 17:01:49 +0000 (13:01 -0400)
Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <pamstutz@veritasgenetics.com>

services/nodemanager/arvnodeman/config.py
services/nodemanager/arvnodeman/launcher.py

index 4fda7e76d69ed87aa1b5b032f1e3b1b8e608f5b5..4857e891a77b010987221142ce7bb12ebaa048e8 100644 (file)
@@ -51,6 +51,9 @@ class NodeManagerConfig(ConfigParser.SafeConfigParser):
             'Daemon': {'min_nodes': '0',
                        'max_nodes': '1',
                        'poll_time': '60',
+                       'cloudlist_poll_time': '0',
+                       'nodelist_poll_time': '0',
+                       'wishlist_poll_time': '0',
                        'max_poll_time': '300',
                        'poll_stale_after': '600',
                        'max_total_price': '0',
index 1439c94118a913179f09a928df38caaab4c24e04..53114b2b23c4219be9b4e1248c2ae03dff5af103 100644 (file)
@@ -83,16 +83,20 @@ def launch_pollers(config, server_calculator):
     poll_time = config.getfloat('Daemon', 'poll_time')
     max_poll_time = config.getint('Daemon', 'max_poll_time')
 
+    cloudlist_poll_time = config.getfloat('Daemon', 'cloudlist_poll_time') or config.getfloat('Daemon', 'poll_time')
+    nodelist_poll_time = config.getfloat('Daemon', 'nodelist_poll_time') or config.getfloat('Daemon', 'poll_time')
+    wishlist_poll_time = config.getfloat('Daemon', 'wishlist_poll_time') or config.getfloat('Daemon', 'poll_time')
+
     timer = TimedCallBackActor.start(poll_time / 10.0).tell_proxy()
     cloud_node_poller = CloudNodeListMonitorActor.start(
-        config.new_cloud_client(), timer, server_calculator, poll_time, max_poll_time).tell_proxy()
+        config.new_cloud_client(), timer, server_calculator, cloudlist_poll_time, max_poll_time).tell_proxy()
     arvados_node_poller = ArvadosNodeListMonitorActor.start(
-        config.new_arvados_client(), timer, poll_time, max_poll_time).tell_proxy()
+        config.new_arvados_client(), timer, nodelist_poll_time, max_poll_time).tell_proxy()
     job_queue_poller = JobQueueMonitorActor.start(
         config.new_arvados_client(), timer, server_calculator,
         config.getboolean('Arvados', 'jobs_queue'),
         config.getboolean('Arvados', 'slurm_queue'),
-        poll_time, max_poll_time
+        wishlist_poll_time, max_poll_time
     ).tell_proxy()
     return timer, cloud_node_poller, arvados_node_poller, job_queue_poller