Bug 2174296

Summary: The --onpart option is missing in part commands of anaconda-ks.cfg
Product: Red Hat Enterprise Linux 9 Reporter: Masahiro Matsuya <mmatsuya>
Component: python-blivetAssignee: Vojtech Trefny <vtrefny>
Status: CLOSED ERRATA QA Contact: Release Test Team <release-test-team-automation>
Severity: medium Docs Contact:
Priority: medium    
Version: 9.1CC: jcastran, jikortus, jstodola, vtrefny
Target Milestone: rcKeywords: Triaged
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: python-blivet-3.6.0-7.el9 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 2175166 (view as bug list) Environment:
Last Closed: 2023-11-07 08:32:40 UTC 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 Masahiro Matsuya 2023-03-01 03:49:39 UTC
Description of problem:

The --onpart option is required for --noformat option in the part command.
If the --onpart option is missing, the installation fails with the following error.

    part --noformat must also use the --onpart option.

The installer generates /root/anaconda-ks.cfg including part commands with --noformat and without --onpart option.

The root cause is that "data.on_part" is used in the following code, since it doesn't exist in the definition of pykickstart side. It should be data.onPart.

./usr/lib/python3.9/site-packages/blivet/devices/partition.py

    def populate_ksdata(self, data):
        super(PartitionDevice, self).populate_ksdata(data)
        data.resize = (self.exists and self.target_size and
                       self.target_size != self.current_size)
        if not self.exists:
            ... snip ...
        else:
            data.on_part = self.name                     # by-id


Version-Release number of selected component (if applicable):
Red Hat Enterprise Linux 9.1

How reproducible:
Always

Steps to Reproduce:
1. Install RHEL 9.1 with 1 disk using the following kickstart commands.

ignoredisk --only-use=vda
clearpart --all --initlabel
part /boot --fstype="xfs" --ondisk=vda --size=1024 --label=boot
part pv.1300 --fstype="lvmpv" --ondisk=vda --size=10000
volgroup rootvg --pesize=4096 pv.1300
logvol / --fstype="xfs" --size=6000 --label="rootlv" --name=rootlv --vgname=rootvg
logvol swap --fstype="swap" --size=1024 --name=swaplv --vgname=rootvg
logvol /opt --fstype="xfs" --size=200 --label="optlv" --name=optlv --vgname=rootvg

2. Install RHEL9.1 with the same disk manually with GUI.

- custom partition
  / reformat
  /boot reformat
  /opt (no format) 
- minimal install

3. Check /root/anaconda-ks.cfg after the second installation.

Actual results:

anaconda-ks.cfg includes the part commands with --noformat and without --onpart option as below.

 part pv.24 --fstype="lvmpv" --noformat

And, RHEL9.1 installation with the same disk using anaconda-ks.cfg failed with the following error.

   part --noformat must also use the --onpart option.

Expected results:

--onpart is added into the part command with --noformat option.

Additional info:

I will make PR on upstream for this bug.

Comment 5 Jan Stodola 2023-06-19 12:48:15 UTC
Checked that python-blivet-3.6.0-8.el9 is in nightly compose RHEL-9.3.0-20230619.35

Moving to VERIFIED

Comment 7 errata-xmlrpc 2023-11-07 08:32:40 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (python-blivet bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2023:6435