diff options
author | Zuul <zuul@review.opendev.org> | 2020-07-06 13:25:56 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2020-07-06 13:25:56 +0000 |
commit | 3c47122f363756911f066f8cf8ecb0b1cac1335b (patch) | |
tree | 66c4be85d2da6d0bbeb8523f0819c88b837f98ac | |
parent | c0a978cedba478fc492a88722341f6ed476de86b (diff) | |
parent | cedc4a24167de205db25cc45fd37275f3e4956bd (diff) | |
download | ironic-3c47122f363756911f066f8cf8ecb0b1cac1335b.tar.gz |
Merge "Software RAID: don't try to set local_gb to MAX"
-rw-r--r-- | ironic/common/raid.py | 3 | ||||
-rw-r--r-- | ironic/tests/unit/common/test_raid.py | 15 | ||||
-rw-r--r-- | releasenotes/notes/raid-max-c0920cc44b9779ee.yaml | 5 |
3 files changed, 20 insertions, 3 deletions
diff --git a/ironic/common/raid.py b/ironic/common/raid.py index 3f503beb3..ab60bd603 100644 --- a/ironic/common/raid.py +++ b/ironic/common/raid.py @@ -114,7 +114,8 @@ def update_raid_info(node, raid_config): if root_logical_disk: # Update local_gb and root_device_hint properties = node.properties - properties['local_gb'] = root_logical_disk['size_gb'] + if root_logical_disk['size_gb'] != 'MAX': + properties['local_gb'] = root_logical_disk['size_gb'] try: properties['root_device'] = ( root_logical_disk['root_device_hint']) diff --git a/ironic/tests/unit/common/test_raid.py b/ironic/tests/unit/common/test_raid.py index fd1677d8a..26ef6a9c0 100644 --- a/ironic/tests/unit/common/test_raid.py +++ b/ironic/tests/unit/common/test_raid.py @@ -212,7 +212,8 @@ class RaidPublicMethodsTestCase(db_base.DbTestCase): self.assertIn('foo', logical_disk_properties) def _test_update_raid_info(self, current_config, - capabilities=None): + capabilities=None, + skip_local_gb=False): node = self.node if capabilities: properties = node.properties @@ -231,7 +232,10 @@ class RaidPublicMethodsTestCase(db_base.DbTestCase): if current_config['logical_disks'][0].get('is_root_volume'): self.assertEqual({'wwn': '600508B100'}, properties['root_device']) - self.assertEqual(100, properties['local_gb']) + if skip_local_gb: + self.assertNotIn('local_gb', properties) + else: + self.assertEqual(100, properties['local_gb']) self.assertIn('raid_level:1', properties['capabilities']) if capabilities: self.assertIn(capabilities, properties['capabilities']) @@ -267,6 +271,13 @@ class RaidPublicMethodsTestCase(db_base.DbTestCase): self._test_update_raid_info, current_config) + def test_update_raid_info_skip_MAX(self): + current_config = json.loads(raid_constants.CURRENT_RAID_CONFIG) + current_config['logical_disks'][0]['size_gb'] = 'MAX' + self._test_update_raid_info(current_config, + capabilities='boot_mode:bios', + skip_local_gb=True) + def test_filter_target_raid_config(self): result = raid.filter_target_raid_config(self.node) self.assertEqual(self.node.target_raid_config, result) diff --git a/releasenotes/notes/raid-max-c0920cc44b9779ee.yaml b/releasenotes/notes/raid-max-c0920cc44b9779ee.yaml new file mode 100644 index 000000000..3035d2b8d --- /dev/null +++ b/releasenotes/notes/raid-max-c0920cc44b9779ee.yaml @@ -0,0 +1,5 @@ +--- +fixes: + - | + No longer tries to set ``local_gb`` to ``MAX`` when building RAID with + the root disk using ``MAX`` for its size. |