Bug 2052687

Summary: s390utils-base rpm commands need to be included in the s390utils-core rpm (for OCP 4.10 on Z RHCOS and later releases))
Product: Red Hat Enterprise Linux 8 Reporter: krmoser
Component: s390utilsAssignee: Dan Horák <dhorak>
Status: CLOSED NOTABUG QA Contact: Vilém Maršík <vmarsik>
Severity: high Docs Contact:
Priority: unspecified    
Version: 8.4CC: chanphil, christian.lapolt, fleber, Holger.Wolf, madeel, psundara, rvr
Target Milestone: rcKeywords: Reopened
Target Release: ---   
Hardware: s390x   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-02-25 14:58:51 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 krmoser 2022-02-09 19:07:03 UTC
Description of problem:

1. Please consult the following Red Hat bugzilla defects for background information on this issue:
  1. https://bugzilla.redhat.com/show_bug.cgi?id=2032507
  2. https://bugzilla.redhat.com/show_bug.cgi?id=2031637


2. With the removal of the s390utils-base rpm from RHCOS for OCP 4.10 on Z and future releases, for Client, Development, Support, and Test purposes the s390utils-base rpm commands should be incorporated into the s390utils-core rpm.


3. For the current RHEL 8.4 and 8.5 s390utils-base rpm, s390utils-base-2.16.0-2.el8.s390x, the commands are primarily divided across these 3 locations:
  1. /usr/bin
  2. /usr/sbin
  3. /usr/share/s390-tools


  1. For the /usr/bin directory, there are 7 commands:
     1. /usr/bin/dump2tar
     2. /usr/bin/genprotimg
     3. /usr/bin/mk-s390image
     4. /usr/bin/src_vipa.sh
     5. /usr/bin/vmconvert
     6. /usr/bin/zkey
     7. /usr/bin/zkey-cryptsetup


  2. For the /usr/sbin directory, there are 44 commands:
     1. /usr/sbin/chccwdev
     2. /usr/sbin/chchp
     3. /usr/sbin/chcpumf
     4. /usr/sbin/chshut
     5. /usr/sbin/chzcrypt
     6. /usr/sbin/dasdstat
     7. /usr/sbin/dasdview
     8. /usr/sbin/dbginfo.sh
     9. /usr/sbin/hsci
    10. /usr/sbin/hyptop
    11. /usr/sbin/ip_watcher.pl
    12. /usr/sbin/lschp
    13. /usr/sbin/lscpumf
    14. /usr/sbin/lscss
    15. /usr/sbin/lsdasd
    16. /usr/sbin/lshwc
    17. /usr/sbin/lsluns
    18. /usr/sbin/lsqeth
    19. /usr/sbin/lsreipl
    20. /usr/sbin/lsscm
    21. /usr/sbin/lsshut
    22. /usr/sbin/lsstp
    23. /usr/sbin/lstape
    24. /usr/sbin/lszcrypt
    25. /usr/sbin/lszfcp
    26. /usr/sbin/qetharp
    27. /usr/sbin/qethconf
    28. /usr/sbin/qethqoat
    29. /usr/sbin/scsi_logging_level
    30. /usr/sbin/start_hsnc.sh
    31. /usr/sbin/tape390_crypt
    32. /usr/sbin/tape390_display
    33. /usr/sbin/ttyrun
    34. /usr/sbin/tunedasd
    35. /usr/sbin/vmcp
    36. /usr/sbin/vmur
    37. /usr/sbin/xcec-bridge
    38. /usr/sbin/zcryptctl
    39. /usr/sbin/zcryptstats
    40. /usr/sbin/zfcpdbf
    41. /usr/sbin/zgetdump
    42. /usr/sbin/zipl-switch-to-blscfg
    43. /usr/sbin/znetconf
    44. /usr/sbin/zpcictl


  3. For the /usr/share/s390-tools directory, there are currently 2 commands:
     1. /usr/share/s390-tools/genprotimg
     2. /usr/share/s390-tools/netboot



Version-Release number of selected component (if applicable):
1. RHEL 8.4
2. RHEL 8.5

3. s390utils-core-2.16.0-2.el8.s390x
4. s390utils-base-2.16.0-2.el8.s390x


How reproducible:
Consistently reproducible.

Steps to Reproduce:
1. Check the contents of the s390utils-core-2.16.0-2.el8.s390x rpm to confirm that the s390utils-base commands, listed above, are not included.

example: rpm -ql s390utils-core-2.16.0-2.el8.s390x 


Actual results:
1. The s390utils-base-2.16.0-2.el8.s390x rpm commands are not included in the s390utils-core-2.16.0-2.el8.s390x rpm.

Expected results:
1. All s390utils commands, including the s390utils-base-2.16.0-2.el8.s390x rpm commands, should be contained within the s390utils-core-2.16.0-2.el8.s390x rpm.


Additional info:
None.


Thank you.

Comment 1 Prashanth Sundararaman 2022-02-09 22:26:30 UTC
Hi Kyle,

As Dan suggests here: https://bugzilla.redhat.com/show_bug.cgi?id=2039483#c2 moving all these commands into s390utils-core will make it equivalent to the base package. the core package was made to be a lightweight version of base with only essential tools for installation. Any additional debuuging tools/UX tools need to be overlayed manually onto the nodes themselves.

I don't think it makes sense to include everything into core.

Thanks
Prashanth

Comment 2 Dan Horák 2022-02-10 10:43:57 UTC
Thanks, Prashanth, that would be my answer too.

If there is a reason for CoreOS to have all the various tools available, then it should "Require" s390utils-base. But IIRC the problem was that there are few tools requiring Perl and that would have to be fixed first. Ideally rewriting them in something else, an old upstream ticket is https://github.com/ibm-s390-linux/s390-tools/issues/5.

Comment 3 madeel 2022-02-10 14:30:42 UTC
Hi Prashanth, 

I think vmcp is not a debug command. It should be present on OCP nodes, because there are some vmcp commands which doesn't take user-id argument like vmcp def cpu/mem. It is at times used at least by me to increase/decrease cpu/memory capacity on the nodes. And there might be other vmcp commands which can only run on a node.. 

However, I also agree with not putting Perl in to minimal fs. If vmcp has no dependency on Perl, can we move it to core? I am also fine with manual overlay method, its just that it requires a reboot. Is there an option to avoid reboot? 

Thank you and Thanks Dan for the informative issue link.

Comment 4 Dan Horák 2022-02-16 09:18:22 UTC
(In reply to madeel from comment #3)
> Hi Prashanth, 
> 
> I think vmcp is not a debug command. It should be present on OCP nodes,
> because there are some vmcp commands which doesn't take user-id argument
> like vmcp def cpu/mem. It is at times used at least by me to
> increase/decrease cpu/memory capacity on the nodes. And there might be other
> vmcp commands which can only run on a node.. 
> 
> However, I also agree with not putting Perl in to minimal fs. If vmcp has no
> dependency on Perl, can we move it to core? I am also fine with manual
> overlay method, its just that it requires a reboot. Is there an option to
> avoid reboot? 
> 
> Thank you and Thanks Dan for the informative issue link.

vmcp is being moved to core via bug 2021071 (for 8.6) and bug 2032507 (for 8.4)

Comment 5 krmoser 2022-02-23 07:45:22 UTC
Dan and Prashanth,

Thank you for the information.  

1. After a good deal of additional research and consideration for Client, Development, Support, and Test purposes, and to fulfill both the goals of a lightweight RHCOS s390utils-core package (and RHCOS itself) and to include the most highly used/required tools for efficiency and ease of use, I'd like to propose a revised and significantly reduced subset of the s390utils-base tools to be included in the RHCOS s390utils-core package.  

2. This significantly reduced number of s390utils-base tools would primarily be used for listing resources to confirm basic and common configuration settings, and 2 configuration commands. (This list is in addition to the already in progress or completed moves for the lszdev, vmcp, and any other approved s390utils-base tools.)


3. Please find below this revised, significantly reduced subset of s390utils-base tools that would be highly useful/productive to include in the RHCOS s390utils-core package.  (The s390utils-base-2.16.0-2.el8.s390x package was used to provide the information below.)

     s390utils-base tool           Size
     ===================           =====
  1. /usr/sbin/chccwdev               9K 

  2. /usr/sbin/lschp                 50K
  3. /usr/sbin/lscss                 59K
  4. /usr/sbin/lsdasd                20K
  5. /usr/sbin/lsluns                12K
  6. /usr/sbin/lsqeth                62K
  7. /usr/sbin/lsreipl               71K
  8. /usr/sbin/lsshut                71K   (same tool as /usr/sbin/lsreipl, linked to chreipl)
  9. /usr/sbin/lszcrypt              58K
 10. /usr/sbin/lszfcp                15K

 11. /usr/sbin/vmur                  87K


Thank you,
Kyle

Comment 7 Dan Horák 2022-02-25 14:58:51 UTC
I am sorry, but I believe it should be fixed by using s390utils-base (and possible other packages) by CoreOS in some form. The size of the tools is one criterion, but even if the inclusion of these support tools would not violate the principle of only vital tools in "core", then the dependency on perl in lsluns is a no-go for CoreOS.