[UBUNTU 20.04] - zipl command doesn't work correctly with -M option

Bug #1908371 reported by bugproxy
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ubuntu on IBM z Systems
Fix Released
Medium
Skipper Bug Screeners
s390-tools (Ubuntu)
Fix Released
Medium
Unassigned
Focal
Fix Released
Medium
Frank Heimes
Groovy
Fix Released
Medium
Frank Heimes
Hirsute
Fix Released
Medium
Unassigned

Bug Description

Zipl command doesn't work correctly with -M option.
There is an error at preparing of multi-volume dump taking because of Bus-ID for 1st disk partition listed in file dump_conf (DEVLIST) isn't found. At the same time LSDASD command shows this Bus-ID and ZIPL command with -d option works correctly.
[root@t8375009 ~]# lsdasd
Bus-ID Status Name Device Type BlkSz Size Blocks
================================================================================
0.0.2c58 active dasda 94:0 ECKD 4096 21129MB 5409180
0.0.2c5b active dasdb 94:4 ECKD 4096 21129MB 5409180
0.0.2c59 active dasdc 94:8 ECKD 4096 21129MB 5409180
0.0.2c5a active dasdd 94:12 ECKD 4096 21129MB 5409180
[root@t8375009 ~]#

[root@t8375009 ~]# systemctl stop kdump.service
[root@t8375009 ~]# lsdasd | tail -n +5 | awk '{ print "/dev/" $3 "1" }' > dump_conf
[root@t8375009 ~]# cat dump_conf
/dev/dasdc1
/dev/dasdd1
[root@t8375009 ~]# zipl -M dump_conf
Error: Could not find bus-ID for '/dev/dasdc1'
[root@t8375009 ~]#

[root@t8375009 ~]# zipl -d /dev/dasdc1
Dump target: partition '/dev/dasdc1' with a size of 21129 MB.
Warning: All information on partition '/dev/dasdc1' will be lost!
Do you want to continue creating a dump partition (y/n)?yes
Done.
[root@t8375009 ~]#

[root@t8375009 ~]# zipl -M dump_conf
Error: Could not find bus-ID for '/dev/dasdc1'

---Steps to Reproduce---
 [root@t8375009 ~]# lsdasd | tail -n +5 | awk '{ print "/dev/" $3 "1" }' > dump_conf

[root@t8375009 ~]# cat dump_conf
/dev/dasdc1
/dev/dasdd1

[root@t8375009 ~]# zipl -M dump_conf

Stack trace output:
 no

Oops output:
 Error: Could not find bus-ID for '/dev/dasdc1'

System Dump Info:
  The system is not configured to capture a system dump.

Fix provided upstream with

https://github.com/ibm-s390-tools/s390-tools/releases/tag/v2.15.1

Commits:

https://github.com/ibm-s390-tools/s390-tools/commit/fa7a4dafa3d89b2e8787de102e4362e895d44b05
https://github.com/ibm-s390-tools/s390-tools/commit/aa8c2945cc7b047c626e75817c6a3e3924413023
https://github.com/ibm-s390-tools/s390-tools/commit/6802b86414b48c4f118da09c7bf7ee142a459fa0
__________

SRU Bug Template

[Impact]

 * The zipl command doesn't work correctly in combination with the -M (respectively --mvdump) option.

 * There is an error with the preparation of multi-volume dumps,
   since the bus-ID for the first disk partition that is listed in file dump_conf (DEVLIST) isn't found.

 * But the lsdasd command shows this bus-ID and the zipl command with the -d option works correctly here.

[Test Case]

 * An Ubuntu Server 20.04 or 20.10 system running on z/VM or LPAR with two or more DASD ECKD disks configured.

 * Let's assume the following DASDs are in place:
   # lsdasd
   Bus-ID Status Name Device Type BlkSz Size Blocks
   ========================================================================
   0.0.2c58 active dasda 94:0 ECKD 4096 21129MB 5409180
   0.0.2c5b active dasdb 94:4 ECKD 4096 21129MB 5409180
   0.0.2c59 active dasdc 94:8 ECKD 4096 21129MB 5409180
   0.0.2c5a active dasdd 94:12 ECKD 4096 21129MB 5409180

 * Then perform the following steps to test:
   # systemctl stop kdump.service
   # lsdasd | tail -n +5 | awk '{ print "/dev/" $3 "1" }' > dump_conf
   # cat dump_conf
     /dev/dasdc1
     /dev/dasdd1
   # zipl -M dump_conf
     Error: Could not find bus-ID for '/dev/dasdc1'
   # zipl -d /dev/dasdc1
     Dump target: partition '/dev/dasdc1' with a size of 21129 MB.
     Warning: All information on partition '/dev/dasdc1' will be lost!
     Do you want to continue creating a dump partition (y/n)?yes
     Done.
   # zipl -M dump_conf
     Error: Could not find bus-ID for '/dev/dasdc1'
   # lsdasd | tail -n +5 | awk '{ print "/dev/" $3 "1" }' > dump_conf
   # cat dump_conf
     /dev/dasdc1
     /dev/dasdd1
   # zipl -M dump_conf

[Where problems could occur]

 * The first commit doesn't modify or remove code, it largely adds just three new funtions util_sys_get_partnum,
   util_sys_dev_is_partition and util_sys_get_base_dev, which usually cannot cause more problems than compile time errors.

 * However, the second commit removes the functions blkext_get_partnum, blkext_is_base_device and blkext_get_base_dev.
   Potential issues due to this removal should again crop up at compile time.
   In addition disk_is_eckd was modified and the blkext_* function based code got replaced by util_sys_* funtion based code.

 * Issues here may lead to not properly detected DASD ECKD disk, maybe DASD FBA or FCP instead
   and since those different disk types have different characteristics (like different amount of partitions)
   this could end up in errornously partition handling and eventually zipl crashes.

 * The third commit 6802b86 adds some more safety (and with that the actually needed fix),
   in a way that the major and minor (ccw-) device number are now obtained based on their base device,
   but only if a base device is present, it fails with returing -1 otherwise.

 * Issues that are thinkable here are in case base devices are not properly detected, rdev addresses wrongly handled
   or major / minor numbers inverted - but these changes are limited, straight-forward and traceable.

 * These changes are already upstream accepted with version 2.15.1 and apply cleanly on 2.14 (groovy) and 2.12 (focal).

 * And a PPA was prepared with patched s390-tools package that was shared for further testing.

[Other]

 * Since hirsute is already on 2.15.1 this SRU is only needed for groovy and focal.

Related branches

bugproxy (bugproxy)
tags: added: architecture-s39064 bugnameltc-187221 severity-medium targetmilestone-inin2004
Changed in ubuntu:
assignee: nobody → Skipper Bug Screeners (skipper-screen-team)
affects: ubuntu → linux (Ubuntu)
Revision history for this message
bugproxy (bugproxy) wrote : Comment bridged from LTC Bugzilla
affects: linux (Ubuntu) → s390-tools (Ubuntu)
Frank Heimes (fheimes)
Changed in s390-tools (Ubuntu):
importance: Undecided → Medium
Changed in ubuntu-z-systems:
importance: Undecided → Medium
assignee: nobody → Skipper Bug Screeners (skipper-screen-team)
Changed in s390-tools (Ubuntu Hirsute):
assignee: Skipper Bug Screeners (skipper-screen-team) → nobody
Changed in s390-tools (Ubuntu Groovy):
importance: Undecided → Medium
Changed in s390-tools (Ubuntu Focal):
importance: Undecided → Medium
Changed in s390-tools (Ubuntu Hirsute):
status: New → Fix Released
Changed in ubuntu-z-systems:
status: New → Triaged
Frank Heimes (fheimes)
summary: [UBUNTU 20.04] - zipl command doesn't work correctly with -M option
- (s390utils/s390-tools?)
Revision history for this message
bugproxy (bugproxy) wrote :

------- Comment From <email address hidden> 2021-01-13 09:19 EDT-------
In addition following git.commit need also be applied on both levels

https://github.com/ibm-s390-tools/s390-tools/commit/37348ef662a7052dae798e500ca8c9b769fff3e6

Frank Heimes (fheimes)
Changed in s390-tools (Ubuntu Groovy):
assignee: nobody → Frank Heimes (fheimes)
Changed in s390-tools (Ubuntu Focal):
assignee: nobody → Frank Heimes (fheimes)
status: New → Triaged
Changed in s390-tools (Ubuntu Groovy):
status: New → Triaged
Frank Heimes (fheimes)
description: updated
Revision history for this message
Frank Heimes (fheimes) wrote :
Lukas Märdian (slyon)
Changed in s390-tools (Ubuntu Groovy):
status: Triaged → In Progress
Lukas Märdian (slyon)
Changed in s390-tools (Ubuntu Focal):
status: Triaged → In Progress
Frank Heimes (fheimes)
Changed in ubuntu-z-systems:
status: Triaged → In Progress
Revision history for this message
Brian Murray (brian-murray) wrote : Please test proposed package

Hello bugproxy, or anyone else affected,

Accepted s390-tools into groovy-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/s390-tools/2.14.0-1ubuntu1.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-groovy to verification-done-groovy. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-groovy. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in s390-tools (Ubuntu Groovy):
status: In Progress → Fix Committed
tags: added: verification-needed verification-needed-groovy
Revision history for this message
Brian Murray (brian-murray) wrote :

Hello bugproxy, or anyone else affected,

Accepted s390-tools into focal-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/s390-tools/2.12.0-0ubuntu3.2 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-focal to verification-done-focal. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-focal. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in s390-tools (Ubuntu Focal):
status: In Progress → Fix Committed
tags: added: verification-needed-focal
Frank Heimes (fheimes)
Changed in ubuntu-z-systems:
status: In Progress → Fix Committed
Revision history for this message
bugproxy (bugproxy) wrote : Comment bridged from LTC Bugzilla

------- Comment From <email address hidden> 2021-01-27 07:22 EDT-------
I have verified that multi volume dump works again with the provided 2.12.0-0ubuntu3.2 source code.

Revision history for this message
Frank Heimes (fheimes) wrote :

And I gave it a quick try on a similar system z/VM guest (with less disks and single dump disk) and 'zipl -M dump_conf' return _without_ moaning about not being able to find the bus-id for the dump disk!
So updating the tags accordingly.

tags: added: verification-done verification-done-focal verification-done-groovy
removed: verification-needed verification-needed-focal verification-needed-groovy
Revision history for this message
bugproxy (bugproxy) wrote :

------- Comment From <email address hidden> 2021-01-27 07:58 EDT-------
Verification applies to F and G

tags: added: verification-needed verification-needed-focal verification-needed-groovy
removed: verification-done verification-done-focal verification-done-groovy
Revision history for this message
Frank Heimes (fheimes) wrote :

The BZ bridge accidentally revoked the tag changes - adjusting again ...

tags: added: verification-done verification-done-focal verification-done-groovy
removed: verification-needed verification-needed-focal verification-needed-groovy
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package s390-tools - 2.14.0-1ubuntu1.1

---------------
s390-tools (2.14.0-1ubuntu1.1) groovy; urgency=medium

  * debian/patches/s390-tools-sru-lp1903984-groovy.patch
    zcryptstats: Fix handling of partial results with many domains
    Thanks to Ingo Franzki (LP: #1903984)
  * debian/patches/s390-tools-sru-lp1898935-groovy.patch:
    chcpumf installed with s390-tools version 2.14.0
    no longer provides version or help information
    backport, actually cherry-pick, from s390-tools v2.15.1 to v2.14
    Thanks to Thomas Richter (LP: #1898935)
  * debian/patches/s390-tools-sru-lp1908371-groovy.patch:
    zipl command isn't working correctly in combination with the -M
    (respectively --mvdump) option.
    cherry-picking 4 commits from s390-tools v2.15.1 to v2.14
    Thanks to Stefan Haberland and Sven Schnelle (LP: #1908371)

 -- Frank Heimes <email address hidden> Tue, 19 Jan 2021 19:23:32 +0100

Changed in s390-tools (Ubuntu Groovy):
status: Fix Committed → Fix Released
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Update Released

The verification of the Stable Release Update for s390-tools has completed successfully and the package is now being released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package s390-tools - 2.12.0-0ubuntu3.2

---------------
s390-tools (2.12.0-0ubuntu3.2) focal; urgency=medium

  * debian/patches/s390-tools-sru-lp1903984-focal.patch
    zcryptstats: Fix handling of partial results with many domains
    Thanks to Ingo Franzki (LP: #1903984)
  * debian/patches/s390-tools-sru-lp1908371-focal.patch:
    zipl command isn't working correctly in combination with the -M
    (respectively --mvdump) option.
    cherry-picking 4 commits from s390-tools v2.15.1 to v2.14
    Thanks to Stefan Haberland and Sven Schnelle (LP: #1908371)
  * debian/patches/s390-tools-sru-lp1902179-focal.patch:
    Enabling IPL (boot) from NVMe devices by adding 2 upstream commits
    from s390-tools v2.13/2.14 as backports to this v2.12 base.
    Thanks to Jason J. Herne (LP: #1902179)

 -- Frank Heimes <email address hidden> Fri, 22 Jan 2021 15:52:19 +0100

Changed in s390-tools (Ubuntu Focal):
status: Fix Committed → Fix Released
Frank Heimes (fheimes)
Changed in ubuntu-z-systems:
status: Fix Committed → Fix Released
Revision history for this message
bugproxy (bugproxy) wrote : Comment bridged from LTC Bugzilla

------- Comment From <email address hidden> 2021-02-11 03:34 EDT-------
IBM Bugzilla status->closed, Fix Released with all requested distros

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.