Merge branch '13645-fix-arvados-api-host-insecure'
[arvados.git] / services / nodemanager / tests / test_config.py
index d43491e791c765e849115db722b4ed766f0968ab..8002b3b921fb14c313260ac48032b81dc2e261f0 100644 (file)
@@ -1,4 +1,7 @@
 #!/usr/bin/env python
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: AGPL-3.0
 
 from __future__ import absolute_import, print_function
 
@@ -24,6 +27,13 @@ creds = dummy_creds
 
 [Size 1]
 cores = 1
+price = 0.8
+
+[Size 1.preemptible]
+instance_type = 1
+preemptible = true
+cores = 1
+price = 0.8
 
 [Logging]
 file = /dev/null
@@ -49,12 +59,29 @@ testlogger = INFO
 
     def test_list_sizes(self):
         config = self.load_config()
-        client = config.new_cloud_client()
-        sizes = config.node_sizes(client.list_sizes())
-        self.assertEqual(1, len(sizes))
+        sizes = config.node_sizes()
+        self.assertEqual(2, len(sizes))
         size, kwargs = sizes[0]
         self.assertEqual('Small', size.name)
         self.assertEqual(1, kwargs['cores'])
+        self.assertEqual(0.8, kwargs['price'])
+        # preemptible is False by default
+        self.assertEqual(False, kwargs['preemptible'])
+        # instance_type == arvados node size id by default
+        self.assertEqual(kwargs['id'], kwargs['instance_type'])
+        # Now retrieve the preemptible version
+        size, kwargs = sizes[1]
+        self.assertEqual('Small', size.name)
+        self.assertEqual('1.preemptible', kwargs['id'])
+        self.assertEqual(1, kwargs['cores'])
+        self.assertEqual(0.8, kwargs['price'])
+        self.assertEqual(True, kwargs['preemptible'])
+        self.assertEqual('1', kwargs['instance_type'])
+
+
+    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()