diskimage-builder/diskimage_builder/block_device/tests
Steve Baker d090126c66 Parse block device lvm lvs size attributes
The block device lvm lvs `size` attribute was passed directly to
lvcreate, so using units M, G means base 2. All other block device
size values are parsed with accepted conventions of M, B being base 10
and MiB, GiB being base 2.

lvm lvs `size` attributes are now parsed the same as other size
attributes. This improves consistency and makes it practical to
calculate volume sizes to fill the partition size. This means existing
size values will now create slightly smaller volumes. Previous sizes
can be restored by changing the unit to MiB, GiB, or increasing the
value for a base 10 unit.

The impact on this change should be minimal, the only known uses of lvm
volumes (TripleO, and element block-device-efi-lvm) uses extents
percentage instead of size. The smaller sizes can always be increased
after deployment.

Requested sizes will also be rounded down to align with physical
extents (4MiB). Previously specifying a value which did not align on
4MiB would consume an extra extent which could unexpectedly consume
more than the partition size.

Change-Id: Ia109cc5105071d82cc895d8d9cb85bc47da20a7a
2022-07-06 11:27:42 +12:00
..
config Merge "Only detach device if all partitions have been cleaned" 2018-07-31 08:21:27 +00:00
plugin Move rollback into NodeBase object 2017-06-08 17:14:20 +10:00
__init__.py Refactor: block-device handling (local loop) 2016-09-08 04:31:01 +00:00
test_base.py Add state object, rename "results", add unit tests 2017-05-30 20:39:00 +10:00
test_config.py Switch from unittest2 compat methods to Python 3.x methods 2020-07-07 11:11:28 +08:00
test_gpt.py Use kpartx option to update partition mappings 2020-06-09 09:07:55 +02:00
test_lvm.py Parse block device lvm lvs size attributes 2022-07-06 11:27:42 +12:00
test_mbr.py Allow users to specify partition type in the MBR PTE 2017-07-29 06:34:25 -04:00
test_mkfs.py Use global state to check for duplicate fs labels 2017-06-08 17:13:28 +10:00
test_mount_order.py Convert labels to upper case 2018-06-19 11:12:54 +02:00
test_state.py Move rollback into NodeBase object 2017-06-08 17:14:20 +10:00
test_utils.py Move "functional" unit tests under block-device 2017-06-05 12:22:52 +10:00