[Bug 1971993] Comment bridged from LTC Bugzilla
bugproxy
1971993 at bugs.launchpad.net
Wed May 25 18:49:35 UTC 2022
------- Comment From BBLOCK at de.ibm.com 2022-05-25 14:45 EDT-------
Hey Frank,
(In reply to comment #12)
> Hi Benjamin; there is a plan for doing a larger s390-tools update for jammy
> (incl. more z16 enablements), and this should be incl. as well.
sounds good.
> For now I created a PPA test build (that addresses LP#1971993 only) which is
> available here:
> https://launchpad.net/~fheimes/+archive/ubuntu/lp1971993/+packages
> It has the same version string than the current s390-tools in the archive.
> I think this is most convenient, since one also needs to have the
> s390-tools-signed version installed in the same version - but a bit caution
> is needed so that really the version from the PPA is installed.
> So simplest is to just wget chreipl-fcp-mpath from the PPA and install it
> with 'apt install ./s390-tools-chreipl-fcp-mpath_2.20.0-0ubuntu4_s390x.deb'.
hmm, I didn't find any 'upstream' `s390-tools_2.20.0-0ubuntu4`, maybe I
was looking wrong; hence I've been missing `s390-tools-
signed_2.20.0-0ubuntu4`, and the tooling kept complaining about that.
For now I just forced installation with `dpkg` for testing (this won't
be a problem in practice anyway).
> Regarding the changes:
> - fixed a c&p error and moved the helper files to from /lib/udev/rules.d to /lib/udev
Yes, looks good now.
~ # dpkg-deb --contents ./s390-tools-chreipl-fcp-mpath_2.20.0-0ubuntu4_s390x.deb
drwxr-xr-x root/root 0 2022-05-20 11:48 ./
drwxr-xr-x root/root 0 2022-05-20 11:48 ./lib/
drwxr-xr-x root/root 0 2022-05-20 11:48 ./lib/udev/
-rwxr-xr-x root/root 1719 2022-05-20 11:48 ./lib/udev/chreipl-fcp-mpath-is-ipl-tgt
-rwxr-xr-x root/root 2572 2022-05-20 11:48 ./lib/udev/chreipl-fcp-mpath-is-ipl-vol
-rwxr-xr-x root/root 735 2022-05-20 11:48 ./lib/udev/chreipl-fcp-mpath-is-reipl-zfcp
-rwxr-xr-x root/root 2052 2022-05-20 11:48 ./lib/udev/chreipl-fcp-mpath-record-volume-identifier
-rwxr-xr-x root/root 5633 2022-05-20 11:48 ./lib/udev/chreipl-fcp-mpath-try-change-ipl-path
drwxr-xr-x root/root 0 2022-05-20 11:48 ./lib/udev/rules.d/
-rw-r--r-- root/root 4237 2022-02-04 11:34 ./lib/udev/rules.d/70-chreipl-fcp-mpath.rules
drwxr-xr-x root/root 0 2022-05-20 11:48 ./usr/
drwxr-xr-x root/root 0 2022-05-20 11:48 ./usr/lib/
drwxr-xr-x root/root 0 2022-05-20 11:48 ./usr/lib/chreipl-fcp-mpath/
-rw-r--r-- root/root 13850 2022-05-20 11:48 ./usr/lib/chreipl-fcp-mpath/chreipl-fcp-mpath-common.sh
drwxr-xr-x root/root 0 2022-05-20 11:48 ./usr/share/
drwxr-xr-x root/root 0 2022-05-20 11:48 ./usr/share/doc/
drwxr-xr-x root/root 0 2022-05-20 11:48 ./usr/share/doc/s390-tools-chreipl-fcp-mpath/
-rw-r--r-- root/root 3744 2022-05-20 11:48 ./usr/share/doc/s390-tools-chreipl-fcp-mpath/README.md.gz
-rw-r--r-- root/root 12526 2022-05-20 11:48 ./usr/share/doc/s390-tools-chreipl-fcp-mpath/changelog.Debian.gz
-rw-r--r-- root/root 1450 2022-01-31 11:54 ./usr/share/doc/s390-tools-chreipl-fcp-mpath/copyright
drwxr-xr-x root/root 0 2022-05-20 11:48 ./usr/share/man/
drwxr-xr-x root/root 0 2022-05-20 11:48 ./usr/share/man/man7/
-rw-r--r-- root/root 2303 2022-05-20 11:48 ./usr/share/man/man7/chreipl-fcp-mpath.7.gz
This looks like what I'd expect.
> - removed lvm2 as dependency, since a default install is nowadays with
lvm, but one can of course overrule it (but wouldn't have hurt)
Well, like I wrote before, `chreipl-fcp-mpath` doesn't depend on lvm.
The tool would just work fine without it, if I didn't forget anything by
accident. It needs udev though at runtime, otherwise the mechanism
doesn't work.
> - chreipl-fcp-mpath-common.sh doesn't get 755 assigned anymore, since
only the input script '.in' has a she-bang, but not the '.sh'. (If the
sh would have it too, lintian would complain).
I removed the she-bang in https://github.com/ibm-s390-linux/s390-tools/commit/c2f8988444d0ed8274256c1990bb7f8866c265e2 (this is in v2.20.0 already) from the `.in` because this was a problem somewhere else as well :)
Maybe you saw the issue/complaint in v2.19.0, before a rebase.
> - I choose to bundle the pre-generated man page
I saw the patch, looks good to me.
> - the chreipl-fcp-mpath-common README got bundled (unfortunately the
various READMEs are largely in different places)
You mean in the upstream repository? I put it there so folks can see it
when they go to the directory on Github:
https://github.com/ibm-s390-linux/s390-tools/tree/master/chreipl-fcp-
mpath. But yeah, there might be other tools in s390-tools that do it
differently (probably also from the time, when s390-tools wasn't hosted
on Github).
Any reason you didn't use `s390-tools-chreipl-fcp-mpath.docs`, like it
is done for the base package `s390-tools.docs`?
I did this when testing:
diff --git a/debian/s390-tools-chreipl-fcp-mpath.docs b/debian/s390-tools-chreipl-fcp-mpath.docs
new file mode 100644
index 0000000..2515ef7
--- /dev/null
+++ b/debian/s390-tools-chreipl-fcp-mpath.docs
@@ -0,0 +1 @@
+chreipl-fcp-mpath/README.md
But the result seems to be the same from the listing above. Maybe this
is just 'for taste'.
> - I think there is nothing special needed for the udev rule (I guess
dh_installudev does that with a hock). I tried w/o 'udevadm control
--reload' and it seemed to work (see attachment). (Might be worth to add
such an example as test to the readme?)
Ah indeed. There seems to be logic in place in udev that checks regularly whether any rules changed during event processing: https://github.com/systemd/systemd/blob/f6278558da0304ec6b646bb172ce4688c7f162a5/src/udev/udevd.c#L930.
So 3s after installation it ought to notice the new rules and thus work, if there is no monkey business going on, like something fiddling with the timestamps. I've not tested this, I always called `udevadm control --reload` explicitly; but I don't see why it shouldn't work here.
If you don't want the extra scriptlets in your packaging for "assurance", then that's fine.
> - I had another look at the dependencies, there were okay, but I made
them a bit more explicit.
You didn't add the `udev` runtime dependency to `s390-tools-chreipl-fcp-
mpath`? I guess the assumption is, this is always true for Ubuntu.
Although maybe in contexts like Container Images it might not, and then
having this in place *could* help (having this tool installed in a
container seems rather pointless to me).
> Would be great if you can have a quick look, so that it can be part of
the larger update (in case things are fine).
There seems to be something broken regarding the man page now (I have to
add the `--ignore-depends=s390-tools-signed`, otherwise it wouldn't
work, like I wrote above):
~ # dpkg --install --ignore-depends=s390-tools-signed ./s390-tools_2.20.0-0ubuntu4_s390x.deb
(Reading database ... 96993 files and directories currently installed.)
Preparing to unpack .../s390-tools_2.20.0-0ubuntu4_s390x.deb ...
Unpacking s390-tools (2.20.0-0ubuntu4) over (2.20.0-0ubuntu4) ...
Setting up s390-tools (2.20.0-0ubuntu4) ...
Processing triggers for initramfs-tools (0.140ubuntu13) ...
update-initramfs: Generating /boot/initrd.img-5.15.0-33-generic
I: The initramfs will attempt to resume from /dev/dm-0
I: (/dev/mapper/t3545003--ubd2204-swap)
I: Set the RESUME variable to override this.
Using config file '/etc/zipl.conf'
Building bootmap in '/boot'
Adding IPL section 'ubuntu' (default)
Preparing boot device: dasda (1c0a).
Done.
Processing triggers for man-db (2.10.2-1) ...
Looks fine.
~ # dpkg --install --ignore-depends=s390-tools-signed ./s390-tools-chreipl-fcp-mpath_2.20.0-0ubuntu4_s390x.deb
Selecting previously unselected package s390-tools-chreipl-fcp-mpath.
(Reading database ... 97040 files and directories currently installed.)
Preparing to unpack .../s390-tools-chreipl-fcp-mpath_2.20.0-0ubuntu4_s390x.deb ...
Unpacking s390-tools-chreipl-fcp-mpath (2.20.0-0ubuntu4) ...
dpkg: error processing archive ./s390-tools-chreipl-fcp-mpath_2.20.0-0ubuntu4_s390x.deb (--install):
trying to overwrite '/usr/share/man/man7/chreipl-fcp-mpath.7.gz', which is also in package s390-tools 2.20.0-0ubuntu4
Processing triggers for man-db (2.10.2-1) ...
Errors were encountered while processing:
./s390-tools-chreipl-fcp-mpath_2.20.0-0ubuntu4_s390x.deb
Clashes with `s390-tools_2.20.0-0ubuntu4_s390x.deb`. So I had to force the overwrite:
~ # dpkg --install --ignore-depends=s390-tools-signed --force-overwrite ./s390-tools-chreipl-fcp-mpath_2.20.0-0ubuntu4_s390x.deb
(Reading database ... 97040 files and directories currently installed.)
Preparing to unpack .../s390-tools-chreipl-fcp-mpath_2.20.0-0ubuntu4_s390x.deb ...
Unpacking s390-tools-chreipl-fcp-mpath (2.20.0-0ubuntu4) ...
dpkg: warning: overriding problem because --force enabled:
dpkg: warning: trying to overwrite '/usr/share/man/man7/chreipl-fcp-mpath.7.gz', which is also in package s390-tools 2.20.0-0ubuntu4
Setting up s390-tools-chreipl-fcp-mpath (2.20.0-0ubuntu4) ...
Processing triggers for man-db (2.10.2-1) ...
I guess both packages pick up the man page now? I didn't debug this
further at this point. Maybe this was also wrong with my patch, and I
didn't notice!
Apart from that, functionality looks fine:
~ # lsreipl
Re-IPL type: fcp
WWPN: 0x5005076309005430
LUN: 0x4018401300000000
Device: 0.0.1700
bootprog: 10
br_lba: 0
Loadparm: ""
Bootparms: "printk.time=1"
~ # date +'%Y-%m-%d %H:%M:%S'
2022-05-25 15:47:35
~ # zfcp_inject pull T35-SWT-1700
spawn ssh -l block fcsw49_fcp.boeblingen.de.ibm.com
fcsw49_fcp:FID36:block> portdisable 4/3
fcsw49_fcp:FID36:block> logout
Closing the current session
Connection to fcsw49_fcp.boeblingen.de.ibm.com closed.
~ # journalctl --no-hostname -t chreipl-fcp-mpath -t systemd-udevd -t multipathd --since='2022-05-25 15:47:35'
May 25 15:48:15 multipathd[1498]: checker failed path 8:192 in map ds8k31_err_40184013_npiv
May 25 15:48:15 multipathd[1498]: ds8k31_err_40184013_npiv: remaining active paths: 1
May 25 15:48:15 chreipl-fcp-mpath[60248]: Changed re-IPL path to: 0.0.1740:0x5005076309045430:0x4018401300000000.
~ # date +'%Y-%m-%d %H:%M:%S'
2022-05-25 15:54:50
~ # zfcp_inject plug T35-SWT-1700
spawn ssh -l block fcsw49_fcp.boeblingen.de.ibm.com
fcsw49_fcp:FID36:block> portenable 4/3
fcsw49_fcp:FID36:block> logout
Closing the current session
Connection to fcsw49_fcp.boeblingen.de.ibm.com closed.
~ # journalctl --no-hostname -t chreipl-fcp-mpath -t systemd-udevd -t multipathd --since='2022-05-25 15:54:50'
May 25 15:55:37 multipathd[1498]: ds8k31_err_40184013_npiv: sdm - tur checker reports path is up
May 25 15:55:37 multipathd[1498]: 8:192: reinstated
May 25 15:55:37 multipathd[1498]: ds8k31_err_40184013_npiv: remaining active paths: 2
(didn't change the path here, but that is fine because the other one is also operational)
~ # stat /run/udev/chreiplzfcpmp-ipl-volume-id
File: /run/udev/chreiplzfcpmp-ipl-volume-id
Size: 85 Blocks: 8 IO Block: 4096 regular file
Device: 18h/24d Inode: 2792 Links: 1
Access: (0640/-rw-r-----) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2022-05-25 15:48:15.847619055 +0000
Modify: 2022-05-25 15:55:37.077619055 +0000
Change: 2022-05-25 15:55:37.077619055 +0000
Birth: -
~ # xxd /run/udev/chreiplzfcpmp-ipl-volume-id
00000000: 6e61 612e 3630 3035 3037 3633 3039 6666 naa.6005076309ff
00000010: 6434 3330 3030 3030 3030 3030 3030 3030 d430000000000000
00000020: 3138 3133 0a00 302e 302e 3137 3430 0030 1813..0.0.1740.0
00000030: 7835 3030 3530 3736 3330 3930 3435 3433 x500507630904543
00000040: 3000 3078 3430 3138 3430 3133 3030 3030 0.0x401840130000
00000050: 3030 3030 00 0000.
I also ran my regression test suite:
~ # cd ~/src/s390-tools/chreipl-fcp-mpath/tests
~ # make check SCOPE=quick
Running 113 tests
( 1/113) [pass] 000-tests-install-check:install-check
( 2/113) [pass] 000-tests-install-check:system-state-check
( 3/113) [pass] 010-tests-simple-failover-remote:expect-switch-to-B
( 4/113) [pass] 010-tests-simple-failover-remote:maybe-switch-to-A-or-stable
( 5/113) [pass] 020-tests-simple-failover-local:expect-switch-to-B
( 6/113) [pass] 020-tests-simple-failover-local:maybe-switch-to-A-or-stable
( 7/113) [pass] 023-tests-simple-failover-local-chpid:expect-switch-to-B
( 8/113) [pass] 023-tests-simple-failover-local-chpid:maybe-switch-to-A-or-stable
( 9/113) [pass] 030-tests-simple-stable-remote:expect-stay-on-A
( 10/113) [pass] 030-tests-simple-stable-remote:maybe-switch-to-B-or-stable
( 11/113) [pass] 040-tests-simple-stable-local:expect-stay-on-A
( 12/113) [pass] 040-tests-simple-stable-local:maybe-switch-to-B-or-stable
( 13/113) [pass] 043-tests-simple-stable-local-chpid:expect-stay-on-A
( 14/113) [pass] 043-tests-simple-stable-local-chpid:maybe-switch-to-B-or-stable
( 15/113) [pass] 050-tests-all-paths-remote:change-reIPL-info-to-C
( 16/113) [pass] 050-tests-all-paths-remote:expect-switch-to-D
( 17/113) [pass] 050-tests-all-paths-remote:expect-no-path
( 18/113) [pass] 050-tests-all-paths-remote:expect-switch-to-C
( 19/113) [pass] 050-tests-all-paths-remote:maybe-switch-to-D-or-stable
( 20/113) [pass] 060-tests-all-paths-local:change-reIPL-info-to-C
( 21/113) [pass] 060-tests-all-paths-local:expect-switch-to-D
( 22/113) [pass] 060-tests-all-paths-local:expect-no-path
( 23/113) [pass] 060-tests-all-paths-local:expect-switch-to-C
( 24/113) [pass] 060-tests-all-paths-local:maybe-switch-to-D-or-stable
( 25/113) [pass] 063-tests-all-paths-local-chpid:change-reIPL-info-to-C
( 26/113) [pass] 063-tests-all-paths-local-chpid:expect-switch-to-D
( 27/113) [pass] 063-tests-all-paths-local-chpid:expect-no-path
( 28/113) [pass] 063-tests-all-paths-local-chpid:expect-switch-to-C
( 29/113) [pass] 063-tests-all-paths-local-chpid:maybe-switch-to-D-or-stable
( 30/113) [pass] 070-tests-crossover-replug-pull-remote:change-reIPL-info-to-C
( 31/113) [pass] 070-tests-crossover-replug-pull-remote:expect-switch-to-D
( 32/113) [pass] 070-tests-crossover-replug-pull-remote:expect-switch-to-C
( 33/113) [pass] 070-tests-crossover-replug-pull-remote:again-expect-switch-to-D
( 34/113) [pass] 070-tests-crossover-replug-pull-remote:maybe-switch-to-C-or-stable
( 35/113) [pass] 080-tests-crossover-replug-pull-local:change-reIPL-info-to-C
( 36/113) [pass] 080-tests-crossover-replug-pull-local:expect-switch-to-D
( 37/113) [pass] 080-tests-crossover-replug-pull-local:expect-switch-to-C
( 38/113) [pass] 080-tests-crossover-replug-pull-local:again-expect-switch-to-D
( 39/113) [pass] 080-tests-crossover-replug-pull-local:maybe-switch-to-C-or-stable
( 40/113) [pass] 083-tests-crossover-replug-pull-local-chpid:change-reIPL-info-to-C
( 41/113) [pass] 083-tests-crossover-replug-pull-local-chpid:expect-switch-to-D
( 42/113) [pass] 083-tests-crossover-replug-pull-local-chpid:expect-switch-to-C
( 43/113) [pass] 083-tests-crossover-replug-pull-local-chpid:again-expect-switch-to-D
( 44/113) [pass] 083-tests-crossover-replug-pull-local-chpid:maybe-switch-to-C-or-stable
( 45/113) [pass] 090-tests-quick-pull-plug:expect-nothing-to-happen
( 46/113) [pass] 100-tests-different-path:change-reIPL-info-to-C
( 47/113) [pass] 100-tests-different-path:expect-nothing-to-happen
( 48/113) [pass] 110-tests-no-wwid-file-remote:change-reIPL-info-to-C
( 49/113) [pass] 110-tests-no-wwid-file-remote:rm-wwid-file-expect-switch-to-D
( 50/113) [pass] 110-tests-no-wwid-file-remote:rm-wwid-file-expect-no-path
( 51/113) [pass] 110-tests-no-wwid-file-remote:rm-wwid-file-expect-switch-to-C
( 52/113) [pass] 110-tests-no-wwid-file-remote:rm-wwid-file-maybe-switch-to-C-or-stable
( 53/113) [pass] 120-tests-no-wwid-file-local:change-reIPL-info-to-C
( 54/113) [pass] 120-tests-no-wwid-file-local:rm-wwid-file-expect-switch-to-D
( 55/113) [pass] 120-tests-no-wwid-file-local:rm-wwid-file-expect-no-path
( 56/113) [pass] 120-tests-no-wwid-file-local:rm-wwid-file-expect-switch-to-C
( 57/113) [pass] 120-tests-no-wwid-file-local:rm-wwid-file-maybe-switch-to-C-or-stable
( 58/113) [pass] 123-tests-no-wwid-file-local-chpid:change-reIPL-info-to-C
( 59/113) [pass] 123-tests-no-wwid-file-local-chpid:rm-wwid-file-expect-switch-to-D
( 60/113) [pass] 123-tests-no-wwid-file-local-chpid:rm-wwid-file-expect-no-path
( 61/113) [pass] 123-tests-no-wwid-file-local-chpid:rm-wwid-file-expect-switch-to-C
( 62/113) [pass] 123-tests-no-wwid-file-local-chpid:rm-wwid-file-maybe-switch-to-C-or-stable
( 63/113) [pass] 130-tests-wrong-wwid-file:change-reIPL-info-to-A
( 64/113) [pass] 130-tests-wrong-wwid-file:plug-remote-D-maybe-switch
( 65/113) [pass] 130-tests-wrong-wwid-file:pull-remote-D-expect-no-change
( 66/113) [pass] 130-tests-wrong-wwid-file:plug-remote-C-maybe-switch
( 67/113) [pass] 130-tests-wrong-wwid-file:pull-remote-C-expect-switch-to-D
( 68/113) [pass] 130-tests-wrong-wwid-file:plug-chpid-B-expect-no-change
( 69/113) [pass] 130-tests-wrong-wwid-file:pull-chpid-B-expect-no-change
( 70/113) [pass] 130-tests-wrong-wwid-file:plug-local-B-expect-no-change
( 71/113) [pass] 130-tests-wrong-wwid-file:pull-local-B-expect-no-change
( 72/113) [pass] 130-tests-wrong-wwid-file:plug-remote-A-expect-no-change
( 73/113) [pass] 130-tests-wrong-wwid-file:pull-remote-A-expect-no-change
( 74/113) [pass] 130-tests-wrong-wwid-file:change-reIPL-info-to-C-no-correct-wwid-file
( 75/113) [pass] 140-tests-deleted-path-recover-remote:plug-D-and-maybe-switch
( 76/113) [pass] 140-tests-deleted-path-recover-remote:plug-C-and-stay
( 77/113) [pass] 140-tests-deleted-path-recover-remote:plug-C-and-maybe-switch
( 78/113) [pass] 140-tests-deleted-path-recover-remote:plug-D-and-switch
( 79/113) [pass] 140-tests-deleted-path-recover-remote:pull-D-expect-no-path
( 80/113) [pass] 140-tests-deleted-path-recover-remote:pull-C-expect-nothing
( 81/113) [pass] 140-tests-deleted-path-recover-remote:remove-path-C-from-system
( 82/113) [pass] 140-tests-deleted-path-recover-remote:change-reIPL-info-to-C
( 83/113) [pass] 150-tests-deleted-path-recover-local:plug-D-and-maybe-switch
( 84/113) [pass] 150-tests-deleted-path-recover-local:plug-C-and-stay
( 85/113) [pass] 150-tests-deleted-path-recover-local:plug-C-and-maybe-switch
( 86/113) [pass] 150-tests-deleted-path-recover-local:plug-D-and-switch
( 87/113) [pass] 150-tests-deleted-path-recover-local:pull-D-expect-no-path
( 88/113) [pass] 150-tests-deleted-path-recover-local:pull-C-expect-nothing
( 89/113) [pass] 150-tests-deleted-path-recover-local:remove-path-C-from-system
( 90/113) [pass] 150-tests-deleted-path-recover-local:change-reIPL-info-to-C
( 91/113) [pass] 153-tests-deleted-path-recover-local-chpid:plug-D-and-maybe-switch
( 92/113) [pass] 153-tests-deleted-path-recover-local-chpid:plug-C-and-stay
( 93/113) [pass] 153-tests-deleted-path-recover-local-chpid:plug-C-and-maybe-switch
( 94/113) [pass] 153-tests-deleted-path-recover-local-chpid:plug-D-and-switch
( 95/113) [pass] 153-tests-deleted-path-recover-local-chpid:pull-D-expect-no-path
( 96/113) [pass] 153-tests-deleted-path-recover-local-chpid:pull-C-expect-nothing
( 97/113) [pass] 153-tests-deleted-path-recover-local-chpid:remove-path-C-from-system
( 98/113) [pass] 153-tests-deleted-path-recover-local-chpid:change-reIPL-info-to-C
( 99/113) [pass] 160-tests-different-ipl-type:plug-chpid-A-and-maybe-switch
(100/113) [pass] 160-tests-different-ipl-type:pull-chpid-A-and-expect-switch
(101/113) [pass] 160-tests-different-ipl-type:plug-local-A-and-maybe-switch
(102/113) [pass] 160-tests-different-ipl-type:pull-local-A-and-expect-switch
(103/113) [pass] 160-tests-different-ipl-type:plug-remote-A-and-maybe-switch
(104/113) [pass] 160-tests-different-ipl-type:pull-remote-A-and-expect-switch
(105/113) [pass] 160-tests-different-ipl-type:change-reipl-information-back
(106/113) [pass] 160-tests-different-ipl-type:plug-chpid-A-and-nothing-happens
(107/113) [pass] 160-tests-different-ipl-type:pull-chpid-A-and-nothing-happens
(108/113) [pass] 160-tests-different-ipl-type:plug-local-A-and-nothing-happens
(109/113) [pass] 160-tests-different-ipl-type:pull-local-A-and-nothing-happens
(110/113) [pass] 160-tests-different-ipl-type:plug-remote-A-and-nothing-happens
(111/113) [pass] 160-tests-different-ipl-type:pull-remote-A-and-nothing-happens
(112/113) [pass] 160-tests-different-ipl-type:change-reipl-information-to-dasd-z
(113/113) [skip] 999-tests-debug-traces-check:debug-traces-check (not debug traces found (probably disabled))
113 tests executed, 112 passed, 0 failed, 1 skipped
All fine ?.
Removal also seems to work fine:
~ # dpkg -l libekmfweb\* libkmipclient\* s390-tools\*
dpkg-query: no packages found matching libekmfweb*
dpkg-query: no packages found matching libkmipclient*
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-============================-===============-============-================================================
ii s390-tools 2.20.0-0ubuntu4 s390x fundamental utilities for Linux on z Systems
ii s390-tools-chreipl-fcp-mpath 2.20.0-0ubuntu4 s390x chreipl-fcp-mpath utility for Linux on z Systems
un s390-tools-cpuplugd <none> <none> (no description available)
un s390-tools-osasnmpd <none> <none> (no description available)
ii s390-tools-signed 2.20.0-0ubuntu3 s390x Signed zipl stage3.bin
un s390-tools-statd <none> <none> (no description available)
~ # dpkg --remove --ignore-depends=s390-tools-signed s390-tools-chreipl-fcp-mpath
(Reading database ... 97052 files and directories currently installed.)
Removing s390-tools-chreipl-fcp-mpath (2.20.0-0ubuntu4) ...
Processing triggers for man-db (2.10.2-1) ...
~ # date +'%Y-%m-%d %H:%M:%S'
2022-05-25 18:39:22
~ # lsreipl
Re-IPL type: fcp
WWPN: 0x5005076309005430
LUN: 0x4018401300000000
Device: 0.0.1700
bootprog: 10
br_lba: 0
Loadparm: ""
Bootparms: "printk.time=1"
~ # zfcp_inject pull T35-SWT-1700
spawn ssh -l block fcsw49_fcp.boeblingen.de.ibm.com
fcsw49_fcp:FID36:block> portdisable 4/3
fcsw49_fcp:FID36:block> logout
Closing the current session
Connection to fcsw49_fcp.boeblingen.de.ibm.com closed.
~ # journalctl --no-hostname -t chreipl-fcp-mpath -t systemd-udevd -t multipathd --since='2022-05-25 18:39:22'
May 25 18:40:16 multipathd[1498]: checker failed path 8:192 in map ds8k31_err_40184013_npiv
May 25 18:40:16 multipathd[1498]: ds8k31_err_40184013_npiv: remaining active paths: 1
(nothing happens here because the toolset is not there anymore)
I think that covers everything.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to s390-tools in Ubuntu.
https://bugs.launchpad.net/bugs/1971993
Title:
[Ubuntu 22.04] s390-tools: subpackage chreipl-fcp-mpath installs files
into wrong location and subsequently doesn't work
Status in Ubuntu on IBM z Systems:
In Progress
Status in s390-tools package in Ubuntu:
In Progress
Bug description:
SRU Justification:
==================
[Impact]
* The recently introduced chreipl-fcp-mpath tool,
available since 22.04 in a separate binary package,
fails, due to a wrong location for the helper files.
* In Addition some less critical dependencies were fixed,
* a new man page and README added
* and executable permissions removed from a script,
that has no shebang (since it's only indirectly called).
[Test Plan]
* See below or https://launchpadlibrarian.net/602776067/simple-
test.txt
[Where problems could occur]
* The provided udev rule could be wrong and therefore
not correctly triggered or not at all.
* Or udev rule could fire too often, leading to high load.
* The change of the IPL parameter could be wrong, ending up in a system
that boots from a wrong LUN doesn't boot at all.
[Other Info]
* chreipl-fcp-mpath tools is a new optional (s390x-only) tool,
first time shipped with jammy.
__________
---Problem Description---
The current way of how the chreipl-fcp-mpath toolset from the s390-tools collection of utilities is packaged in Ubuntu 22.04 is broken, and doesn't work. The main issue is that the udev helper scripts used in the toolset are installed in /lib/udev/rules.d, instead of /lib/udev. This makes the toolset non-functional as a whole (but nothing warns about it).
The reason is with the packaging itself. The files listed in
`debian/s390-tools-chreipl-fcp-mpath.install` are explicitly installed
into the wrong location (probably a copy-and-paste error).
There are a couple other minor issues with the packaging that I've noticed while inspecting the current state to see what the reason for the main issue is:
(a) `lvm2` is not a dependency of chreipl-fcp-mpath to the best of my knowledge, `udev` and `multipath-tools` are though;
(b) the common script 'library' `chreipl-fcp-mpath-common.sh` doesn't need to be executable;
(c) no documentation is installed, neither the man page is generated, nor the provided `README.md` copied;
(d) there is nothing that triggers a udev rules database reload after installing or removing the udev rules (at least as far as I've seen).
Contact Information = Benjamin Block <bblock at de.ibm.com>
---uname output---
Linux t3545003 5.15.0-27-generic #28-Ubuntu SMP Thu Apr 14 04:55:23 UTC 2022 s390x s390x s390x GNU/Linux
Machine Type = IBM/S390 z15 8561 z/VM Version 7 Release 2.0
---Debugger---
A debugger is not configured
---Steps to Reproduce---
Install the chreipl-fcp-mpath toolset via `apt install s390-tools-chreipl-fcp-mpath`. The udev helper scripts are put into the wrong location, the toolset doesn't work.
Userspace tool common name: chreipl-fcp-mpath
The userspace tool has the following bit modes: both
Userspace deb: s390-tools-chreipl-fcp-mpath
Userspace tool obtained from project website: na
== Comment: #1 - Benjamin Block <BBLOCK at de.ibm.com> - 2022-05-05 12:56:39 ==
This is an example of how I think one could fix the issues I outlined in the description. The patch itself contains more details in the description.
This also enables the generation of the man page, which adds two
dependencies to the build: pandoc and gawk. Both are only required
during the package build, and so far I've seen both are available on
s390x in Ubuntu 22.04. Building the man page adds a bit more comfort
for users that are used to use man for documentation, so it might be
worth adding the dependencies.
== Comment: #2 - Benjamin Block <BBLOCK at de.ibm.com> - 2022-05-05 12:58:44 ==
This is an other example of how I think one could fix the issues I outlined in the description. The patch itself contains more details in the description.
This doesn't enable the generation of the man page, so it doesn't need
extra build dependencies.
== Comment: #4 - Benjamin Block <BBLOCK at de.ibm.com> - 2022-05-05 13:05:03 ==
(In reply to comment #2)
> Created attachment 153823 [details]
> example patch to fix packaging without ENABLE_DOC=1
>
> This is an other example of how I think one could fix the issues I outlined
> in the description. The patch itself contains more details in the
> description.
>
> This doesn't enable the generation of the man page, so it doesn't need extra
> build dependencies.
One might also add to that, that I added a patch
(https://github.com/ibm-s390-linux/s390-tools/commit/0d15a07c0a5842a359554b6fb5f8cba3d11fd5cc)
that is in the newest s390-tools release
(https://github.com/ibm-s390-linux/s390-tools/releases/tag/v2.21.0)
that does away with the need to generate the man page each and every
time, by also shipping a pre-cooked version along with the source.
The need for `pandoc` to generate it has been a problem in other
places where it is not available as it is in Ubuntu.
== Comment: #8 - Benjamin Block <BBLOCK at de.ibm.com> - 2022-05-05 13:22:07 ==
To further illustrate the problem, here is the log of me trying to test this:
t3545003 (0) ~ # apt search chreipl-fcp-mpath
Sorting... Done
Full Text Search... Done
s390-tools-chreipl-fcp-mpath/jammy 2.20.0-0ubuntu3 s390x
chreipl-fcp-mpath utility for Linux on z Systems
t3545003 (1) ~ # apt show s390-tools-chreipl-fcp-mpath
Package: s390-tools-chreipl-fcp-mpath
Version: 2.20.0-0ubuntu3
Priority: optional
Section: universe/admin
Source: s390-tools
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss at lists.ubuntu.com>
Original-Maintainer: Debian S/390 Team <debian-s390 at lists.debian.org>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 60.4 kB
Depends: multipath-tools-boot, lvm2
Homepage: https://github.com/ibm-s390-linux/s390-tools
Download-Size: 12.3 kB
APT-Sources: http://ports.ubuntu.com/ubuntu-ports jammy/universe s390x Packages
Description: chreipl-fcp-mpath utility for Linux on z Systems
The package contains chreipl-fcp-mpath toolset from the s390-tools collection
of utilities, that uses multipath information to change the configured FCP
re-IPL path on detecting issues with the current path.
t3545003 (0) ~ # apt install s390-tools-chreipl-fcp-mpath
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
kpartx-boot multipath-tools-boot
The following NEW packages will be installed:
kpartx-boot multipath-tools-boot s390-tools-chreipl-fcp-mpath
0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Need to get 27.0 kB of archives.
After this operation, 178 kB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 http://ports.ubuntu.com/ubuntu-ports jammy/main s390x kpartx-boot all 0.8.8-1ubuntu1 [6,636 B]
Get:2 http://ports.ubuntu.com/ubuntu-ports jammy/main s390x multipath-tools-boot all 0.8.8-1ubuntu1 [8,054 B]
Get:3 http://ports.ubuntu.com/ubuntu-ports jammy/universe s390x s390-tools-chreipl-fcp-mpath s390x 2.20.0-0ubuntu3 [12.3 kB]
Fetched 27.0 kB in 0s (197 kB/s)
Preconfiguring packages ...
Selecting previously unselected package kpartx-boot.
(Reading database ... 56751 files and directories currently installed.)
Preparing to unpack .../kpartx-boot_0.8.8-1ubuntu1_all.deb ...
Unpacking kpartx-boot (0.8.8-1ubuntu1) ...
Selecting previously unselected package multipath-tools-boot.
Preparing to unpack .../multipath-tools-boot_0.8.8-1ubuntu1_all.deb ...
Unpacking multipath-tools-boot (0.8.8-1ubuntu1) ...
Selecting previously unselected package s390-tools-chreipl-fcp-mpath.
Preparing to unpack .../s390-tools-chreipl-fcp-mpath_2.20.0-0ubuntu3_s390x.deb ...
Unpacking s390-tools-chreipl-fcp-mpath (2.20.0-0ubuntu3) ...
Setting up kpartx-boot (0.8.8-1ubuntu1) ...
update-initramfs: deferring update (trigger activated)
Setting up multipath-tools-boot (0.8.8-1ubuntu1) ...
update-initramfs: deferring update (trigger activated)
Setting up s390-tools-chreipl-fcp-mpath (2.20.0-0ubuntu3) ...
Processing triggers for initramfs-tools (0.140ubuntu13) ...
update-initramfs: Generating /boot/initrd.img-5.15.0-27-generic
I: The initramfs will attempt to resume from /dev/dm-0
I: (/dev/mapper/t3545003--ubd2204-swap)
I: Set the RESUME variable to override this.
Using config file '/etc/zipl.conf'
Building bootmap in '/boot'
Adding IPL section 'ubuntu' (default)
Preparing boot device: dasda (1c0a).
Done.
Scanning processes...
Scanning linux images...
Running kernel seems to be up-to-date (ABI upgrades are not
detected).
No services need to be restarted.
No containers need to be restarted.
No user sessions are running outdated binaries.
No VM guests are running outdated hypervisor (qemu) binaries on
this host.
t3545003 (0) ~ # dpkg --listfiles s390-tools-chreipl-fcp-mpath
/.
/lib
/lib/udev
/lib/udev/rules.d
/lib/udev/rules.d/70-chreipl-fcp-mpath.rules
/lib/udev/rules.d/chreipl-fcp-mpath-is-ipl-tgt
/lib/udev/rules.d/chreipl-fcp-mpath-is-ipl-vol
/lib/udev/rules.d/chreipl-fcp-mpath-is-reipl-zfcp
/lib/udev/rules.d/chreipl-fcp-mpath-record-volume-identifier
/lib/udev/rules.d/chreipl-fcp-mpath-try-change-ipl-path
/usr
/usr/lib
/usr/lib/chreipl-fcp-mpath
/usr/lib/chreipl-fcp-mpath/chreipl-fcp-mpath-common.sh
/usr/share
/usr/share/doc
/usr/share/doc/s390-tools-chreipl-fcp-mpath
/usr/share/doc/s390-tools-chreipl-fcp-mpath/changelog.Debian.gz
/usr/share/doc/s390-tools-chreipl-fcp-mpath/copyright
You see in the file listing at the end `chreipl-fcp-mpath-is-ipl-tgt`,
`chreipl-fcp-mpath-is-ipl-vol`, `chreipl-fcp-mpath-is-reipl-zfcp`,
`chreipl-fcp-mpath-record-volume-identifier`, `chreipl-fcp-mpath-try-
change-ipl-path` are located in `/lib/udev/rules.d`, instead of
`/lib/udev`.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-z-systems/+bug/1971993/+subscriptions
More information about the foundations-bugs
mailing list