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):
|
if data.partition.grub_device not in (None, partition.grub_device):
|
||||||
raise ValueError('edit_partition does not support changing '
|
raise ValueError('edit_partition does not support changing '
|
||||||
+ 'grub_device')
|
+ '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 = {
|
spec = {
|
||||||
'fstype': data.partition.format,
|
'fstype': data.partition.format or existing_format,
|
||||||
'mount': data.partition.mount,
|
'mount': data.partition.mount or existing_mount,
|
||||||
}
|
}
|
||||||
self.partition_disk_handler(disk, partition, spec)
|
self.partition_disk_handler(disk, partition, spec)
|
||||||
return await self.v2_GET()
|
return await self.v2_GET()
|
||||||
|
|
|
@ -475,6 +475,32 @@ class TestWin10(TestAPI):
|
||||||
self.assertFalse(resp['need_root'])
|
self.assertFalse(resp['need_root'])
|
||||||
self.assertFalse(resp['need_boot'])
|
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):
|
class TestManyDisks(TestAPI):
|
||||||
machine_config = 'examples/many-nics-and-disks.json'
|
machine_config = 'examples/many-nics-and-disks.json'
|
||||||
|
|
Loading…
Reference in New Issue