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

Proposed by Michael Hudson-Doyle
Status: Merged
Approved by: Michael Hudson-Doyle
Approved revision: b49551b696b5f6d807f523e08446eaa0242936f8
Merge reported by: Server Team CI bot
Merged at revision: not available
Proposed branch: ~mwhudson/curtin:reuse-dasd-partitions
Merge into: curtin:master
Diff against target: 54 lines (+32/-1)
2 files modified
curtin/commands/block_meta.py (+3/-1)
tests/unittests/test_commands_block_meta.py (+29/-0)
Reviewer Review Type Date Requested Status
Dan Watkins (community) Approve
Server Team CI bot continuous-integration Approve
Review via email: mp+396881@code.launchpad.net

Commit message

partition_handler: fix NameError when reusing a vtoc partition

To post a comment you must log in.
Revision history for this message
Server Team CI bot (server-team-bot) wrote :
review: Approve (continuous-integration)
Revision history for this message
Dan Watkins (oddbloke) wrote :

One thought on an alternative solution, but this proposal and its testing LGTM as-is.

review: Approve
Revision history for this message
Michael Hudson-Doyle (mwhudson) :

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/curtin/commands/block_meta.py b/curtin/commands/block_meta.py
2index 25910a0..cf6bc02 100644
3--- a/curtin/commands/block_meta.py
4+++ b/curtin/commands/block_meta.py
5@@ -887,7 +887,9 @@ def partition_handler(info, storage_config):
6 part_path = block.dev_path(
7 block.partition_kname(disk_kname, partnumber))
8 partition_verify_sfdisk(part_path, info)
9- LOG.debug('Partition %s already present, skipping create', part_path)
10+ LOG.debug(
11+ '%s partition %s already present, skipping create',
12+ disk, partnumber)
13 create_partition = False
14
15 if create_partition:
16diff --git a/tests/unittests/test_commands_block_meta.py b/tests/unittests/test_commands_block_meta.py
17index 26426f6..8cfd6af 100644
18--- a/tests/unittests/test_commands_block_meta.py
19+++ b/tests/unittests/test_commands_block_meta.py
20@@ -2202,6 +2202,35 @@ class TestPartitionHandler(CiTestCase):
21 with self.assertRaises(RuntimeError):
22 block_meta.partition_handler(logical_part, self.storage_config)
23
24+ @patch('curtin.commands.block_meta.partition_verify_fdasd')
25+ def test_part_hander_reuse_vtoc(self, m_verify_fdasd):
26+ sconfig = [
27+ {
28+ 'id': 'disk0',
29+ 'type': 'disk',
30+ 'path': '/dev/dasda',
31+ 'ptable': 'vtoc',
32+ },
33+ {
34+ 'id': 'part0',
35+ 'type': 'partition',
36+ 'device': 'disk0',
37+ 'number': 1,
38+ 'preserve': True,
39+ 'size': 2 << 30,
40+ },
41+ ]
42+ config = {'storage': {'config': sconfig}}
43+ oconfig = block_meta.extract_storage_ordered_dict(config)
44+
45+ self.m_block.get_blockdev_sector_size.return_value = (512, 512)
46+ m_verify_fdasd.return_value = True
47+ devpath = self.m_getpath.return_value = self.random_string()
48+
49+ block_meta.partition_handler(sconfig[1], oconfig)
50+
51+ m_verify_fdasd.assert_has_calls([call(devpath, 1, sconfig[1])])
52+
53
54 class TestMultipathPartitionHandler(CiTestCase):
55

Subscribers

People subscribed via source and target branches