Fix actual size calculation for storage fallback logic

When we were fixing the qemu-img related CVE, in our rush we didn't
realize that the logic for storage sizing, which only falls back to
actual size didn't match the prior interface exactly. Instead of
disk_size, we have actual_size on the format inspector.

This was not discovered because all of the code handling that side
of the unit tests were mocked.

Anyhow, easy fix.

Closes-Bug: 2083520
Change-Id: Ic4390d578f564f245d7fb4013f2ba5531aee9ea9
This commit is contained in:
Julia Kreger 2024-10-03 06:53:30 -07:00
parent 083ea91abf
commit 90f9fa3eb0
2 changed files with 4 additions and 4 deletions

View File

@ -487,7 +487,7 @@ def converted_size(path, estimate=False):
if not estimate:
return data.virtual_size
growth_factor = CONF.raw_image_growth_factor
return int(min(data.disk_size * growth_factor, data.virtual_size))
return int(min(data.actual_size * growth_factor, data.virtual_size))
def get_image_properties(context, image_href, properties="all"):

View File

@ -278,7 +278,7 @@ class IronicImagesTestCase(base.TestCase):
autospec=True)
def test_converted_size_estimate_default(self, image_info_mock):
info = self.FakeImgInfo()
info.disk_size = 2
info.actual_size = 2
info.virtual_size = 10 ** 10
image_info_mock.return_value = info
size = images.converted_size('path', estimate=True)
@ -290,7 +290,7 @@ class IronicImagesTestCase(base.TestCase):
def test_converted_size_estimate_custom(self, image_info_mock):
CONF.set_override('raw_image_growth_factor', 3)
info = self.FakeImgInfo()
info.disk_size = 2
info.actual_size = 2
info.virtual_size = 10 ** 10
image_info_mock.return_value = info
size = images.converted_size('path', estimate=True)
@ -302,7 +302,7 @@ class IronicImagesTestCase(base.TestCase):
def test_converted_size_estimate_raw_smaller(self, image_info_mock):
CONF.set_override('raw_image_growth_factor', 3)
info = self.FakeImgInfo()
info.disk_size = 2
info.actual_size = 2
info.virtual_size = 5
image_info_mock.return_value = info
size = images.converted_size('path', estimate=True)