storage/v2: edit reuse existing format/mount value
This commit is contained in:
parent
7d80e8cc83
commit
57148ee8d4
|
@ -373,10 +373,15 @@ class FilesystemController(SubiquityController, FilesystemManipulator):
|
|||
if data.partition.grub_device not in (None, partition.grub_device):
|
||||
raise ValueError('edit_partition does not support changing '
|
||||
+ 'grub_device')
|
||||
|
||||
existing_format = ''
|
||||
existing_mount = ''
|
||||
if partition._fs:
|
||||
existing_format = partition._fs.fstype
|
||||
if partition._fs._mount:
|
||||
existing_mount = partition._fs._mount.path
|
||||
spec = {
|
||||
'fstype': data.partition.format,
|
||||
'mount': data.partition.mount,
|
||||
'fstype': data.partition.format or existing_format,
|
||||
'mount': data.partition.mount or existing_mount,
|
||||
}
|
||||
self.partition_disk_handler(disk, partition, spec)
|
||||
return await self.v2_GET()
|
||||
|
|
|
@ -475,6 +475,32 @@ class TestWin10(TestAPI):
|
|||
self.assertFalse(resp['need_root'])
|
||||
self.assertFalse(resp['need_boot'])
|
||||
|
||||
@timeout(5)
|
||||
async def test_edit_partial(self):
|
||||
disk_id = 'disk-sda'
|
||||
await self.post('/storage/v2/reformat_disk', disk_id=disk_id)
|
||||
|
||||
data = {
|
||||
'disk_id': disk_id,
|
||||
'partition': {
|
||||
'format': 'ext4',
|
||||
'mount': '/',
|
||||
}
|
||||
}
|
||||
await self.post('/storage/v2/add_partition', data)
|
||||
|
||||
data['partition'].update({
|
||||
'number': 2,
|
||||
'format': None,
|
||||
'mount': '/home'
|
||||
})
|
||||
resp = await self.post('/storage/v2/edit_partition', data)
|
||||
|
||||
sda = first(resp['disks'], 'id', disk_id)
|
||||
sda2 = first(sda['partitions'], 'number', 2)
|
||||
self.assertEqual('ext4', sda2['format'])
|
||||
self.assertEqual('/home', sda2['mount'])
|
||||
|
||||
|
||||
class TestManyDisks(TestAPI):
|
||||
machine_config = 'examples/many-nics-and-disks.json'
|
||||
|
|
Loading…
Reference in New Issue