Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-19725

RHEL 8 kickstart installation fails when using thinpool lvm with empty volume group

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Normal Normal
    • rhel-9.6
    • rhel-8.9.0, rhel-9.3.0
    • python-blivet
    • None
    • Moderate
    • sst_storage_management
    • ssg_filesystems_storage_and_HA
    • 10
    • 12
    • 3
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • None
    • None
    • All
    • None

      What were you trying to do that didn't work?

      Kickstart installation fails when using Kickstart file containing thinpool lvm but if a volume group is left empty.

      And example of this is the below Kickstat file based partitioning:

      # Partitioning
      ignoredisk --only-use=vda
      
      # Partition clearing information
      clearpart --all --initlabel
      
      zerombr
      part /boot --fstype="xfs" --ondisk=vda --size=1024
      
      part pv.1 --fstype="lvmpv" --ondisk=vda --size=7000
      volgroup rhel --pesize=4096 pv.1
      logvol none --fstype="None" --size=1 --grow --thinpool --metadatasize=4 --chunksize=65536 --name=thinp --vgname=rhel
      
      ### UNUSED "data" VG:
      part pv.2 --fstype="lvmpv" --ondisk=vda --size=2048
      volgroup data --pesize=4096 pv.2
      logvol none --fstype="None" --size=1 --grow --thinpool --metadatasize=4 --chunksize=65536 --name=thinp --vgname=data
      
      logvol / --fstype="xfs" --size=1 --grow --name=root --vgname=rhel --thin --poolname=thinp
      logvol swap --fstype="swap" --size=1024 --name=swap --vgname=rhel --thin --poolname=thinp
      

      In the above example, we see that two thinpool , one in "rhel" and other in "data". We see that there are lvm devices added the the "rhel" vg however the "data" vg is empty without any device.

      Upon installation it crashes with an python traceback as per below.

      anaconda 33.16.9.4 exception report
      Traceback (most recent call first):
      File "/usr/lib/python3.6/site-packages/dasbus/client/handler.py", line 497, in _handle_method_error
      raise exception from None
      File "/usr/lib/python3.6/site-packages/dasbus/client/handler.py", line 477, in _get_method_reply
      return self._handle_method_error(error)
      File "/usr/lib/python3.6/site-packages/dasbus/client/handler.py", line 447, in _call_method
      **kwargs,
      File "/usr/lib64/python3.6/site-packages/pyanaconda/modules/common/task/_init_.py", line 46, in sync_run_task
      task_proxy.Finish()
      File "/usr/lib64/python3.6/site-packages/pyanaconda/ui/lib/storage.py", line 313, in apply_partitioning
      sync_run_task(task_proxy)
      File "/usr/lib64/python3.6/site-packages/pyanaconda/ui/gui/spokes/storage.py", line 389, in _do_execute
      report = apply_partitioning(self._partitioning, self._show_execute_message)
      File "/usr/lib64/python3.6/threading.py", line 885, in run
      self._target(*self._args, **self._kwargs)
      File "/usr/lib64/python3.6/site-packages/pyanaconda/threading.py", line 280, in run
      threading.Thread.run(self)
      dasbus.error.DBusError: [<class 'decimal.DivisionUndefined'>]

      I tested this with multiple RHEL 8 version from RHEL 8.4 to RHEL 8.7 to RHEL 8.9 and it produces the same error.
      I also tested this behavior for RHEL 9.2 and found the same failure.
      However when testing on RHEL 7.9 this partition scheme is sucessful and produces and empty volume group post installation.

      Please provide the package NVR for which bug is seen:

      RHEL 8.9 RHEL ISO
      RHEL 9.2 RHEL ISO

      How reproducible:

      Every time

      Steps to reproduce

      1.  Install RHEL 8.9 or RHEL 9.2 ISO along with the below Kickstart partitioning with 10 GiB virtual disk.
            # Partitioning
            ignoredisk --only-use=vda
        
            # Partition clearing information
            clearpart --all --initlabel
        
            zerombr
            part /boot --fstype="xfs" --ondisk=vda --size=1024
        
            part pv.1 --fstype="lvmpv" --ondisk=vda --size=7000
            volgroup rhel --pesize=4096 pv.1
            logvol none --fstype="None" --size=1 --grow --thinpool --metadatasize=4 --chunksize=65536 --name=thinp --vgname=rhel
        
            ### UNUSED "data" VG:
            part pv.2 --fstype="lvmpv" --ondisk=vda --size=2048
            volgroup data --pesize=4096 pv.2
            logvol none --fstype="None" --size=1 --grow --thinpool --metadatasize=4 --chunksize=65536 --name=thinp --vgname=data
        
            logvol / --fstype="xfs" --size=1 --grow --name=root --vgname=rhel --thin --poolname=thinp
            logvol swap --fstype="swap" --size=1024 --name=swap --vgname=rhel --thin --poolname=thinp
            

      Expected results

      Kickstart installation should work with thinpool lvm even when the volume group created on thin pool is empty to be utilized later.

      Actual results

      Thinpool lvm created in Kickstart crashes when kickstart file has leave a volume group empty

            vtrefny@redhat.com Vojtěch Trefný
            rhn-support-amepatil Ameya Patil
            Vojtěch Trefný Vojtěch Trefný
            Release Test Team Release Test Team
            Votes:
            1 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated: