← Back to team overview

curtin-dev team mailing list archive

[Merge] ~mwhudson/curtin:reuse-dasd-partitions into curtin:master

 

Michael Hudson-Doyle has proposed merging ~mwhudson/curtin:reuse-dasd-partitions into curtin:master.

Commit message:
partition_handler: fix NameError when reusing a vtoc partition


Requested reviews:
  curtin developers (curtin-dev)

For more details, see:
https://code.launchpad.net/~mwhudson/curtin/+git/curtin/+merge/396881
-- 
Your team curtin developers is requested to review the proposed merge of ~mwhudson/curtin:reuse-dasd-partitions into curtin:master.
diff --git a/curtin/commands/block_meta.py b/curtin/commands/block_meta.py
index 25910a0..cf6bc02 100644
--- a/curtin/commands/block_meta.py
+++ b/curtin/commands/block_meta.py
@@ -887,7 +887,9 @@ def partition_handler(info, storage_config):
             part_path = block.dev_path(
                 block.partition_kname(disk_kname, partnumber))
             partition_verify_sfdisk(part_path, info)
-        LOG.debug('Partition %s already present, skipping create', part_path)
+        LOG.debug(
+            '%s partition %s already present, skipping create',
+            disk, partnumber)
         create_partition = False
 
     if create_partition:
diff --git a/tests/unittests/test_commands_block_meta.py b/tests/unittests/test_commands_block_meta.py
index 26426f6..8cfd6af 100644
--- a/tests/unittests/test_commands_block_meta.py
+++ b/tests/unittests/test_commands_block_meta.py
@@ -2202,6 +2202,35 @@ class TestPartitionHandler(CiTestCase):
         with self.assertRaises(RuntimeError):
             block_meta.partition_handler(logical_part, self.storage_config)
 
+    @patch('curtin.commands.block_meta.partition_verify_fdasd')
+    def test_part_hander_reuse_vtoc(self, m_verify_fdasd):
+        sconfig = [
+            {
+                'id': 'disk0',
+                'type': 'disk',
+                'path': '/dev/dasda',
+                'ptable': 'vtoc',
+            },
+            {
+                'id': 'part0',
+                'type': 'partition',
+                'device': 'disk0',
+                'number': 1,
+                'preserve': True,
+                'size': 2 << 30,
+            },
+            ]
+        config = {'storage': {'config': sconfig}}
+        oconfig = block_meta.extract_storage_ordered_dict(config)
+
+        self.m_block.get_blockdev_sector_size.return_value = (512, 512)
+        m_verify_fdasd.return_value = True
+        devpath = self.m_getpath.return_value = self.random_string()
+
+        block_meta.partition_handler(sconfig[1], oconfig)
+
+        m_verify_fdasd.assert_has_calls([call(devpath, 1, sconfig[1])])
+
 
 class TestMultipathPartitionHandler(CiTestCase):
 

Follow ups