From 63900414ba04ca2a0b367936eb63a22c54a99e01 Mon Sep 17 00:00:00 2001 From: Imre Farkas Date: Wed, 27 May 2015 17:07:03 +0200 Subject: [PATCH] Do not require scheduling attributes in ramdisk Discovery data might be used for other things as well, like ready-state orchestration. Change-Id: Ifc9089ea6af634e2b0ab6b771d156d346bf43383 --- ironic_inspector_ramdisk/discover.py | 8 ++++---- ironic_inspector_ramdisk/test/test_discover.py | 14 ++++++++++++-- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/ironic_inspector_ramdisk/discover.py b/ironic_inspector_ramdisk/discover.py index 193febc0e..c945b1bab 100644 --- a/ironic_inspector_ramdisk/discover.py +++ b/ironic_inspector_ramdisk/discover.py @@ -156,14 +156,14 @@ def discover_scheduling_properties(data, failures): data['memory_mb'] = total_ram LOG.info('total RAM: %s MiB', total_ram) else: - failures.add('failed to get RAM information') + LOG.warn('failed to get RAM information') for key in ('cpus', 'local_gb', 'memory_mb'): try: data[key] = int(data[key]) except (KeyError, ValueError, TypeError): - failures.add('value for %s is missing or malformed: %s', - key, data.get(key)) + LOG.warn('value for %s is missing or malformed: %s', + key, data.get(key)) data[key] = None # FIXME(dtantsur): -1 is required to give Ironic some spacing for @@ -171,7 +171,7 @@ def discover_scheduling_properties(data, failures): if data['local_gb']: data['local_gb'] = data['local_gb'] / 1024 / 1024 / 1024 - 1 if data['local_gb'] < 1: - failures.add('local_gb is less than 1 GiB') + LOG.warn('local_gb is less than 1 GiB') data['local_gb'] = None diff --git a/ironic_inspector_ramdisk/test/test_discover.py b/ironic_inspector_ramdisk/test/test_discover.py index 3c3d66074..7b2324759 100644 --- a/ironic_inspector_ramdisk/test/test_discover.py +++ b/ironic_inspector_ramdisk/test/test_discover.py @@ -211,17 +211,27 @@ class TestDiscoverSchedulingProperties(BaseDiscoverTest): discover.discover_scheduling_properties(self.data, self.failures) - self.assertIn('failed to get RAM', self.failures.get_error()) + self.assertFalse(self.failures) self.assertEqual({'cpus': 2, 'cpu_arch': 'x86_64', 'local_gb': 4, 'memory_mb': None}, self.data) + def test_no_local_gb(self, mock_shell): + mock_shell.side_effect = iter(('2', 'x86_64', None, + '1024\n1024\nno\n2048\n')) + + discover.discover_scheduling_properties(self.data, self.failures) + + self.assertFalse(self.failures) + self.assertEqual({'cpus': 2, 'cpu_arch': 'x86_64', 'local_gb': None, + 'memory_mb': 4096}, self.data) + def test_local_gb_too_small(self, mock_shell): mock_shell.side_effect = iter(('2', 'x86_64', '42', '1024\n1024\nno\n2048\n')) discover.discover_scheduling_properties(self.data, self.failures) - self.assertIn('local_gb is less than 1 GiB', self.failures.get_error()) + self.assertFalse(self.failures) self.assertEqual({'cpus': 2, 'cpu_arch': 'x86_64', 'local_gb': None, 'memory_mb': 4096}, self.data)