Create configdrive partitions as vfat

This fixes a bug where ironic-lib would create configdrive partitions as
ext2, which is incompatible with any OS but Linux and goes against the
configdrive standard as written in cloud-init docs.

Change-Id: Ib4ad8e0b4d6dbef9d441d9ae13fd82f8f51957e6
Closes-bug: #1655389
This commit is contained in:
Jay Faulkner 2017-01-10 08:07:49 -08:00
parent 2a3288c69c
commit 2f0ea84488
2 changed files with 5 additions and 5 deletions

View File

@ -757,7 +757,7 @@ def create_config_drive_partition(node_uuid, device, configdrive):
endlimit = MAX_DISK_SIZE_MB_SUPPORTED_BY_MBR - 1
utils.execute('parted', '-a', 'optimal', '-s', '--', device,
'mkpart', 'primary', 'ext2', startlimit,
'mkpart', 'primary', 'fat32', startlimit,
endlimit, run_as_root=True)
upd_parts = set(part['number'] for part in list_partitions(device))

View File

@ -1120,13 +1120,13 @@ class WholeDiskConfigDriveTestCases(test_base.BaseTestCase):
self.assertEqual(1, mock_log.call_count)
parted_call = mock.call('parted', '-a', 'optimal', '-s',
'--', self.dev, 'mkpart',
'primary', 'ext2', 2097087,
'primary', 'fat32', 2097087,
2097151, run_as_root=True)
else:
self.assertEqual(0, mock_log.call_count)
parted_call = mock.call('parted', '-a', 'optimal', '-s',
'--', self.dev, 'mkpart',
'primary', 'ext2', '-64MiB',
'primary', 'fat32', '-64MiB',
'-0', run_as_root=True)
mock_execute.assert_has_calls([
parted_call,
@ -1210,7 +1210,7 @@ class WholeDiskConfigDriveTestCases(test_base.BaseTestCase):
mock_get_configdrive.assert_called_with(config_url, self.node_uuid)
mock_execute.assert_called_with('parted', '-a', 'optimal', '-s', '--',
self.dev, 'mkpart', 'primary',
'ext2', '-64MiB', '-0',
'fat32', '-64MiB', '-0',
run_as_root=True)
self.assertEqual(2, mock_list_partitions.call_count)
mock_is_disk_gpt.assert_called_with(self.dev, self.node_uuid)
@ -1275,7 +1275,7 @@ class WholeDiskConfigDriveTestCases(test_base.BaseTestCase):
mock_get_configdrive.assert_called_with(config_url, self.node_uuid)
mock_execute.assert_called_with('parted', '-a', 'optimal', '-s', '--',
self.dev, 'mkpart', 'primary',
'ext2', '-64MiB', '-0',
'fat32', '-64MiB', '-0',
run_as_root=True)
self.assertEqual(1, mock_list_partitions.call_count)
mock_is_disk_gpt.assert_called_with(self.dev, self.node_uuid)