From 17c7b654423980186c5334711c869f570b31ffc2 Mon Sep 17 00:00:00 2001 From: Michael Hudson-Doyle Date: Tue, 18 Jul 2023 11:47:27 +1200 Subject: [PATCH] include in use information in storage/v2 api --- subiquity/common/filesystem/labels.py | 6 ++++-- subiquity/common/types.py | 3 +++ subiquity/server/controllers/filesystem.py | 6 +----- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/subiquity/common/filesystem/labels.py b/subiquity/common/filesystem/labels.py index ff32c487b..03faa2cd1 100644 --- a/subiquity/common/filesystem/labels.py +++ b/subiquity/common/filesystem/labels.py @@ -320,7 +320,8 @@ def _for_client_disk(disk, *, min_size=0): can_be_boot_device=boot.can_be_boot_device(disk), ok_for_guided=disk.size >= min_size, model=getattr(disk, 'model', None), - vendor=getattr(disk, 'vendor', None)) + vendor=getattr(disk, 'vendor', None), + has_in_use_partition=disk._has_in_use_partition) @for_client.register(Partition) @@ -339,7 +340,8 @@ def _for_client_partition(partition, *, min_size=0): path=partition._path(), estimated_min_size=partition.estimated_min_size, mount=partition.mount, - format=partition.format) + format=partition.format, + is_in_use=partition._is_in_use) @for_client.register(gaps.Gap) diff --git a/subiquity/common/types.py b/subiquity/common/types.py index d47f4affa..813e33c49 100644 --- a/subiquity/common/types.py +++ b/subiquity/common/types.py @@ -288,6 +288,8 @@ class Partition: estimated_min_size: Optional[int] = -1 resize: Optional[bool] = None path: Optional[str] = None + # Was this partition mounted when the installer started? + is_in_use: bool = False @attr.s(auto_attribs=True) @@ -333,6 +335,7 @@ class Disk: can_be_boot_device: bool model: Optional[str] = None vendor: Optional[str] = None + has_in_use_partition: bool = False class GuidedCapability(enum.Enum): diff --git a/subiquity/server/controllers/filesystem.py b/subiquity/server/controllers/filesystem.py index 7e76f1f87..9dc89b951 100644 --- a/subiquity/server/controllers/filesystem.py +++ b/subiquity/server/controllers/filesystem.py @@ -862,11 +862,7 @@ async def get_v2_storage_response(self, model, wait, include_raid): if include_raid: disks = self.potential_boot_disks(with_reformatting=True) else: - disks = [ - d - for d in model._all(type='disk') - if not d._has_in_use_partition - ] + disks = model._all(type='disk') minsize = self.calculate_suggested_install_min() return StorageResponseV2( status=ProbeStatus.DONE,