Bug 2220932

Summary: "Kickstart insufficient": LUKS doesn't work with lvm and --grow
Product: Red Hat Enterprise Linux 8 Reporter: Matt Castelein <matt.castelein>
Component: python-blivetAssignee: Blivet Maintenance Team <blivet-maint-list>
Status: NEW --- QA Contact: Release Test Team <release-test-team>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 8.3CC: jstodola
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Matt Castelein 2023-07-06 14:47:55 UTC
Description of problem:
Kickstart using LVM partitioning with LUKS does not accept the --grow option

How reproducible:
Always

Steps to Reproduce:
1. Kickstart using LUKS and LVM with a partition using --grow

Actual results:
"Kickstart insufficient" "('device cannot be smaller than 16 MiB', 'luks5'

Expected results:
Partition is created exactly as when not using LUKS

Additional info:
logvol /opt  --name=lv_opt --vgname=vg_rocsoft --size=1 --grow --fsoptions="nodev" --encrypted --cipher=aes-cbc-essiv:sha256 --passphrase=xxxxxx

Comment 1 Jan Stodola 2023-07-10 14:35:12 UTC
Matt, try using "... --size=32 --grow ...", it works for me.


The installer behavior is a bit confusing to me. With "--size=1 --grow" and enough free space in the VG - for example 1 GiB, I would expect the installer to create the partitioning with 1 GiB LV/LUKS device and not failing with 'device cannot be smaller than 16 MiB'. 
Reassigning to blivet and attach installation logs from an installation with the following partitioning:

bootloader --location=mbr
zerombr
clearpart --all --initlabel
part /boot --asprimary --size=500 --label=boot
part pv.01  --size=18000
volgroup SNAKEVG pv.01
logvol / --size=10000 --name=SNAKEROOT --vgname=SNAKEVG
logvol /opt --size=1 --grow --name=SNAKEOPT --vgname=SNAKEVG --encrypted --passphrase XYZ

Comment 3 Matt Castelein 2023-07-10 14:50:29 UTC
Confirmed the expected behavior with --size=32 --grow

Comment 4 Brian Lane 2023-07-10 23:10:42 UTC
This has been a quirk of '--size XX --grow' for years. The size needs to be larger than the minimum size of the partition is being created. So for / it needs to be big enough to hold the installed packages, and as the error says, in this case it has to be at least 16 MiB.

Comment 5 Matt Castelein 2023-07-11 12:41:15 UTC
(In reply to Brian Lane from comment #4)
> This has been a quirk of '--size XX --grow' for years. The size needs to be
> larger than the minimum size of the partition is being created. So for / it
> needs to be big enough to hold the installed packages, and as the error
> says, in this case it has to be at least 16 MiB.

Note that I only see the error when using --encrypted, otherwise it works fine with --size=1