[ARVADOS] created: fe29b56aecc9b5e277dd9a956fb05867827c91c9
Git user
git at public.curoverse.com
Wed May 3 09:36:13 EDT 2017
at fe29b56aecc9b5e277dd9a956fb05867827c91c9 (commit)
commit fe29b56aecc9b5e277dd9a956fb05867827c91c9
Author: Peter Amstutz <peter.amstutz at curoverse.com>
Date: Tue May 2 21:26:55 2017 -0400
11369: Log node sizes at startup. Fix setting of scratch disk size.
diff --git a/services/nodemanager/arvnodeman/jobqueue.py b/services/nodemanager/arvnodeman/jobqueue.py
index f6e9249..66cf73a 100644
--- a/services/nodemanager/arvnodeman/jobqueue.py
+++ b/services/nodemanager/arvnodeman/jobqueue.py
@@ -25,7 +25,9 @@ class ServerCalculator(object):
'extra']:
setattr(self, name, getattr(self.real, name))
self.cores = kwargs.pop('cores')
- self.scratch = self.disk
+ # libcloud disk sizes are in GB, Arvados/SLURM are in MB
+ # multiply by 1000 instead of 1024 to err on low side
+ self.scratch = self.disk * 1000
self.ram = int(self.ram * node_mem_scaling)
for name, override in kwargs.iteritems():
if not hasattr(self, name):
@@ -53,6 +55,10 @@ class ServerCalculator(object):
self.logger = logging.getLogger('arvnodeman.jobqueue')
self.logged_jobs = set()
+ self.logger.info("Using cloud node sizes:")
+ for s in self.cloud_sizes:
+ self.logger.info(str(s.__dict__))
+
@staticmethod
def coerce_int(x, fallback):
try:
diff --git a/services/nodemanager/tests/test_jobqueue.py b/services/nodemanager/tests/test_jobqueue.py
index c203139..08a8131 100644
--- a/services/nodemanager/tests/test_jobqueue.py
+++ b/services/nodemanager/tests/test_jobqueue.py
@@ -62,7 +62,7 @@ class ServerCalculatorTestCase(unittest.TestCase):
{'min_ram_mb_per_node': 256},
{'min_nodes': 6},
{'min_nodes': 12},
- {'min_scratch_mb_per_node': 200})
+ {'min_scratch_mb_per_node': 300000})
self.assertEqual(6, len(servlist))
def test_ignore_too_expensive_jobs(self):
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list