Bug 2157916

Summary: update bootloader/zipl.py for zipl >= 2.25.0
Product: Red Hat Enterprise Linux 9 Reporter: Dan Horák <dhorak>
Component: anacondaAssignee: Radek Vykydal <rvykydal>
Status: CLOSED ERRATA QA Contact: Release Test Team <release-test-team-automation>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 9.1CC: jkonecny, jstodola, rvykydal
Target Milestone: rcKeywords: Triaged
Target Release: ---   
Hardware: s390x   
OS: Unspecified   
Whiteboard:
Fixed In Version: anaconda-34.25.2.5-1.el9 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-05-09 07:35:42 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:
Bug Depends On:    
Bug Blocks: 2044200, 2110310    
Deadline: 2023-01-10   

Description Dan Horák 2023-01-03 14:48:39 UTC
We are rebasing s390utils to version 2.25.0 which will change the output of the zipl tool that's being parsed by anaconda. Thus we need https://github.com/rhinstaller/anaconda/pull/4483 to be merged into anaconda to work around that.

Comment 1 Dan Horák 2023-01-03 14:54:35 UTC
The symptoms can be seen in Rawhide until the mentioned PR is merged, see storage.log excerpt bellow. After successfully installing the bootloader anaconda fails to read back IPL device id from the output.

...
INFO:anaconda.threading:Thread Done: AnaTaskThread-ConfigureBootloaderTask-1 (4395809372352)
INFO:anaconda.threading:Running Thread: AnaTaskThread-InstallBootloaderTask-1 (4395809372352)
INFO:anaconda.modules.common.task.task:Install the bootloader
DEBUG:anaconda.modules.storage.bootloader.utils:Installing the boot loader.
INFO:anaconda.modules.storage.bootloader.utils:boot loader stage1 target device is vda
INFO:anaconda.modules.storage.bootloader.utils:boot loader stage2 target device is vda1
DEBUG:anaconda.modules.storage.bootloader.base:Applying ZIPL Secure Boot: auto
INFO:anaconda.modules.storage.bootloader.zipl:bootloader.py: used boot args: root=UUID=eff43dc2-9a74-410d-adcf-f453b8d8c76e
INFO:anaconda.modules.storage.bootloader.zipl:bootloader.py: used boot args: root=UUID=eff43dc2-9a74-410d-adcf-f453b8d8c76e
INFO:program:Running in chroot '/mnt/sysroot'... zipl
INFO:program:Using config file '/etc/zipl.conf'
INFO:program:Using BLS config file '/boot/loader/entries/86d3b25fb10548e6b9dd2ad68631bd6f-6.1.0-65.fc38.s390x.conf'
INFO:program:Using BLS config file '/boot/loader/entries/86d3b25fb10548e6b9dd2ad68631bd6f-0-rescue.conf'
INFO:program:Building bootmap in '/boot'
INFO:program:Building menu 'zipl-automatic-menu'
INFO:program:Adding #1: IPL section '(6.1.0-65.fc38.s390x)' (default)
INFO:program:Adding #2: IPL section '(0-rescue-86d3b25fb10548e6b9dd2ad68631bd6f)'
INFO:program:Preparing boot device for LD-IPL: vda (0000).
INFO:program:Done.
DEBUG:program:Return code: 0
ERROR:anaconda.modules.storage.bootloader.installation:Bootloader installation has failed: could not find IPL device
Traceback (most recent call last):
  File "/usr/lib64/python3.11/site-packages/pyanaconda/modules/storage/bootloader/installation.py", line 139, in run
    install_boot_loader(storage=self._storage)
  File "/usr/lib64/python3.11/site-packages/pyanaconda/modules/storage/bootloader/utils.py", line 215, in install_boot_loader
    storage.bootloader.write()
  File "/usr/lib64/python3.11/site-packages/pyanaconda/modules/storage/bootloader/base.py", line 1024, in write
    self.install()
  File "/usr/lib64/python3.11/site-packages/pyanaconda/modules/storage/bootloader/zipl.py", line 170, in install
    raise BootLoaderError("could not find IPL device")
pyanaconda.modules.storage.bootloader.base.BootLoaderError: could not find IPL device
INFO:anaconda.threading:Thread Failed: AnaTaskThread-InstallBootloaderTask-1 (4395809372352)
ERROR:anaconda.modules.common.task.task:Thread AnaTaskThread-InstallBootloaderTask-1 has failed: Traceback (most recent call last):
  File "/usr/lib64/python3.11/site-packages/pyanaconda/threading.py", line 275, in run
    threading.Thread.run(self)
  File "/usr/lib64/python3.11/threading.py", line 975, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/lib64/python3.11/site-packages/pyanaconda/modules/common/task/task.py", line 96, in _thread_run_callback
    self._task_run_callback()
  File "/usr/lib64/python3.11/site-packages/pyanaconda/modules/common/task/task.py", line 109, in _task_run_callback
    self._set_result(self.run())
                     ^^^^^^^^^^
  File "/usr/lib64/python3.11/site-packages/pyanaconda/modules/storage/bootloader/installation.py", line 142, in run
    raise BootloaderInstallationError(str(e)) from None
pyanaconda.modules.common.errors.installation.BootloaderInstallationError: could not find IPL device

Comment 3 Radek Vykydal 2023-01-04 12:55:08 UTC
https://github.com/rhinstaller/anaconda/pull/4486

Comment 4 Jan Stodola 2023-01-10 15:57:41 UTC
The change from comment 0 is included in anaconda-34.25.2.5-1.el9 and the installation works fine on s390x (without updated s390utils).

Marking as Verified:Tested,SanityOnly

Comment 7 Jan Stodola 2023-01-13 16:22:04 UTC
Checked that anaconda-34.25.2.5-1.el9 is in nightly compose RHEL-9.2.0-20230111.33

Moving to VERIFIED

Comment 9 errata-xmlrpc 2023-05-09 07:35:42 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 (anaconda 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:2223