Skip to content

Commit

Permalink
Take image virtual size into account when creating Volumes
Browse files Browse the repository at this point in the history
This is a followup to #1104

When creating new volumes on the Volume screen in Harvester, the
default size is empty, i.e. it's not pre-filled with anything at
all.  If the source is set to "VM image" we can now take the image
virtual size and use that as the default size for the volume.
Unlike when creating VMs (which always set the volume to a minimum
of 10GiB regardless of virtual size, for consistency with earlier
harvester versions), on this screen we just use the virtual size
as-is.  If the user wants to make it bigger, they can.

Related issue: harvester/harvester#4905

Signed-off-by: Tim Serong <tserong@suse.com>
  • Loading branch information
tserong committed Aug 27, 2024
1 parent b97bf06 commit 5979a7d
Showing 1 changed file with 8 additions and 1 deletion.
9 changes: 8 additions & 1 deletion pkg/harvester/edit/harvesterhci.io.volume.vue
Original file line number Diff line number Diff line change
Expand Up @@ -234,7 +234,14 @@ export default {
...this.value.metadata.annotations,
[HCI_ANNOTATIONS.IMAGE_ID]: this.imageId
};
storageClassName = images?.find(image => this.imageId === image.id)?.storageClassName;
const imageResource = images?.find(image => this.imageId === image.id);
const imageSize = Math.max(imageResource?.status?.size, imageResource?.status?.virtualSize);
if (imageSize) {
this.storage = `${ Math.ceil(imageSize / 1024 / 1024 / 1024) }Gi`;
}
storageClassName = imageResource?.storageClassName;
} else {
imageAnnotations = { ...this.value.metadata.annotations };
}
Expand Down

0 comments on commit 5979a7d

Please sign in to comment.