Bug 1214140

Summary: system-group-hardware fails to install
Product: [openSUSE] PUBLIC SUSE Linux Enterprise Server 15 SP4 Reporter: Jozef Pupava <jpupava>
Component: BasesystemAssignee: Thorsten Kukuk <kukuk>
Status: RESOLVED FIXED QA Contact:
Severity: Normal    
Priority: P5 - None CC: brad.bendily, jhura, meissner, sofia.syrianidou, zypp-maintainers
Version: SLES15SP4-MaintUpd   
Target Milestone: ---   
Hardware: Other   
OS: Other   
URL: https://openqa.suse.de/tests/11779392/modules/installation/steps/114
Whiteboard:
Found By: openQA Services Priority:
Business Priority: Blocker: Yes
Marketing QA Status: --- IT Deployment: ---
Attachments: y2logs

Description Jozef Pupava 2023-08-10 07:01:03 UTC
Created attachment 868738 [details]
y2logs

## Observation

Some autoyast installations started to fail [1], IMO it's indirectly caused by shadow update https://build.suse.de/request/show/303203
Some setup will fail on x86_64 and pass on other archs, but mostly autoyast tend to fail. Same installation without autoyast pass as workaround. [1]
The test was passing until now, but I think because of bad dependencies, system-group-hardware is installed before sysuser-shadow & shadow packages.

 - /var/tmp/rpm-tmp.UPop6v: line 1: /usr/sbin/sysusers2shadow: No such file or directory
   error: %prein(system-group-hardware-20170617-150400.22.33.noarch) scriptlet failed, exit status 1
   error: system-group-hardware-20170617-150400.22.33.noarch: install failed

# rpm -qR system-group-hardware
/bin/sh
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsXz) <= 5.2-1
sysuser-shadow >= 3.1
#
# rpm -qR sysuser-shadow
(/usr/sbin/useradd or busybox)
(systemd >= 238 if systemd)
(systemd >= 238 if systemd)
/bin/sh
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsXz) <= 5.2-1
rpmlib(RichDependencies) <= 4.12.0-1
#
# zypper se -f /usr/sbin/useradd

S | Name   | Summary                                     | Type
--+--------+---------------------------------------------+--------
i | shadow | Utilities to Manage User and Group Accounts | package
#

[1] https://openqa.suse.de/tests/11779392/modules/installation/steps/114
[2] https://openqa.suse.de/tests/11790471

## Reproducible

Fails since (at least) Build [20230808-1](https://openqa.suse.de/tests/11774818)


## Expected result

Last good: [20230807-1](https://openqa.suse.de/tests/11763651) (or more recent)


## Further details

Always latest result in this scenario: [latest](https://openqa.suse.de/tests/latest?arch=x86_64&distri=sle&flavor=Server-DVD-Updates&machine=64bit&test=mru-install-minimal-with-addons&version=15-SP4)
Comment 1 Stefan Hundhammer 2023-08-10 15:03:26 UTC
Why is this a YaST problem?
Comment 2 Stefan Hundhammer 2023-08-10 15:15:01 UTC
Obviously there is a dependency cycle between those packages, and libzypp's dependency resolver is breaking it up by force. But that's always guesswork to some extent which might or might not work out.

That dependency cycle should not be there in the first place; it needs to be resolved manually by fixing those dependencies.

> 2023-08-09 09:02:18 <1> install(15818) [zypp] TargetImpl.cc(commit):1323 TargetImpl::commit(<pool>, CommitPolicy( DownloadAsNeeded syncPoolAfterCommit ))
> 2023-08-09 09:02:18 <1> install(15818) [libsolv++] PoolImpl.cc(logSat):131
>.
> ordering transaction
> transaction elements: 830
> edges: 3675, edge space: 4073
> edge creation took 10 ms
> cycle: --> libncurses6-6.1-150000.5.15.1.x86_64 ##401##> terminfo-base-6.1-150000.5.15.1.x86_64 --400--> 
> cycle: --> libtasn1-6-4.13-150000.4.8.1.x86_64 ##401##> libtasn1-4.13-150000.4.8.1.x86_64 --400--> 
> cycle: --> python3-base-3.6.15-150300.10.48.1.x86_64 ##401##> libpython3_6m1_0-3.6.15-150300.10.48.1.x86_64 --400--> 
> cycle: --> libcrack2-2.9.7-11.6.1.x86_64 ##401##> cracklib-2.9.7-11.6.1.x86_64 --400--> 
> CRITICAL cycle: --> system-group-hardware-20170617-150400.22.33.noarch ##801##> sysuser-shadow-3.1-150400.1.35.noarch --800--> systemd-249.1


This is not the only one in this solver run; I see 11 ones in total. But this appears to be one that cannot be broken up automatically.

> CRITICAL cycle: --> system-group-hardware-20170617-150400.22.33.noarch ##801##> sysuser-shadow-3.1-150400.1.35.noarch --800--> systemd-249.16-150400.8.31.1.x86_64 --800--> 
> CRITICAL cycle: --> wicked-service-0.6.73-150400.3.8.1.x86_64 --800--> wicked-0.6.73-150400.3.8.1.x86_64 ##401##> 
> CRITICAL cycle: --> wicked-service-0.6.73-150400.3.8.1.x86_64 --800--> wicked-0.6.73-150400.3.8.1.x86_64 ##401##> sysconfig-netconfig-0.85.9-150200.12.1.x86_64 --800--> sysconfig-0.85.9-150200.12.1.x86_64 --600--> 
> CRITICAL cycle: --> rsyslog-8.2306.0-150400.5.18.1.x86_64 --800--> syslog-service-2.0-11.2.noarch ##401##> 
> CRITICAL cycle: --> libgio-2_0-0-2.70.5-150400.3.8.1.x86_64 ##401##> glib2-tools-2.70.5-150400.3.8.1.x86_64 --c00--> 
> CRITICAL cycle: --> plymouth-0.9.5~git20210406.e554475-150400.3.12.1.x86_64 --800--> plymouth-scripts-0.9.5~git20210406.e554475-150400.3.12.1.noarch ##801##> 
> CRITICAL cycle: --> kmod-29-4.15.1.x86_64 ##401##> suse-module-tools-15.4.16-150400.3.8.1.x86_64 --400--> kernel-default-5.14.21-150400.24.74.1.x86_64 --800--> 
> CRITICAL cycle: --> suse-module-tools-15.4.16-150400.3.8.1.x86_64 ##401##> kernel-default-5.14.21-150400.24.74.1.x86_64 --800--> 
> CRITICAL cycle: --> sysconfig-0.85.9-150200.12.1.x86_64 ##401##> sysconfig-netconfig-0.85.9-150200.12.1.x86_64 --800--> 
> CRITICAL cycle: --> cron-4.2-150400.84.3.1.x86_64 ##401##> cronie-1.5.7-150400.84.3.1.x86_64 --800--> 
> CRITICAL cycle: --> grub2-2.06-150400.11.33.1.x86_64 ##401##> grub2-i386-pc-2.06-150400.11.33.1.noarch --800-->
Comment 3 Stefan Hundhammer 2023-08-10 15:21:02 UTC
Maybe this needs a package split in one of the involved packages to avoid the cycle. The maintainers of those packages need to collaborate to fix this.

% osc maintainer -e system-group-hardware
Defined in package: Base:System/system-users 
  bugowner of system-group-hardware : 
   -

  maintainer of system-group-hardware : 
   kukuk@suse.com


% rpm -qf /usr/sbin/sysusers2shadow      
sysuser-shadow-3.1-150400.1.35.noarch


% osc maintainer -e sysuser-shadow
Defined in package: Base:System/sysuser-tools 
  bugowner of sysuser-shadow : 
   -

  maintainer of sysuser-shadow : 
   kukuk@suse.com


OK, that should make this collaboration somewhat easier. ;-)
Comment 4 Thorsten Kukuk 2023-08-10 15:29:12 UTC
(In reply to Stefan Hundhammer from comment #3)
> Maybe this needs a package split in one of the involved packages to avoid
> the cycle. The maintainers of those packages need to collaborate to fix this.
> 
> % osc maintainer -e system-group-hardware
> Defined in package: Base:System/system-users 
>   bugowner of system-group-hardware : 
>    -
> 
>   maintainer of system-group-hardware : 
>    kukuk@suse.com
> 
> 
> % rpm -qf /usr/sbin/sysusers2shadow      
> sysuser-shadow-3.1-150400.1.35.noarch
> 
> 
> % osc maintainer -e sysuser-shadow
> Defined in package: Base:System/sysuser-tools 
>   bugowner of sysuser-shadow : 
>    -
> 
>   maintainer of sysuser-shadow : 
>    kukuk@suse.com
> 
> 
> OK, that should make this collaboration somewhat easier. ;-)

This packages don't create the loop, your analysis seems to be wrong.
To create the accounts from system-group-hardware, we need sysuser-shadow, which needs shadow. There is nothing to split or change.
The problem is in one of the other packages, which introdued the loop.
This sounds more like that SLES15 SP4 cannot scope correctly with the "or" and tries to use systemd instead of shadow?
Comment 5 Thorsten Kukuk 2023-08-10 15:57:33 UTC
This mass version updates for SPs to somehow extend the lifetime of SLES are a really bad idea :(
SR#305277
Comment 9 Sofia Syrianidou 2023-09-04 15:27:33 UTC
We still see this error message when trying to upgrade from SLE12 SP5 to SLE15 SP4 :
https://openqa.suse.de/tests/11975741#step/await_install/12

in y2log:

2023-08-30 16:38:27 <1> install(13703) [Ruby] modules/PackageCallbacks.rb(DonePackage):506 DonePackage(error: 3, reason: 'Subprocess failed. Error: RPM failed: Command exited with status 1.
History:
 - /var/tmp/rpm-tmp.P226LI: line 1: /usr/sbin/sysusers2shadow: No such file or directory
   error: %prein(system-group-hardware-20170617-150400.22.33.noarch) scriptlet failed, exit status 1
   error: system-group-hardware-20170617-150400.22.33.noarch: install failed

There are some L3 incidents containing the same error message: 
https://bugzilla.suse.com/show_bug.cgi?id=1214745
https://bugzilla.suse.com/show_bug.cgi?id=1214787
https://bugzilla.suse.com/show_bug.cgi?id=1214839
Comment 10 Thorsten Kukuk 2023-09-05 08:59:02 UTC
(In reply to Sofia Syrianidou from comment #9)

> There are some L3 incidents containing the same error message: 

The L3 incidents claims that it works with the fix. Do you use sysuser-shadow-3.2 or do you still test with the old version?
Comment 11 Sofia Syrianidou 2023-09-05 13:09:19 UTC
(In reply to Thorsten Kukuk from comment #10)
> (In reply to Sofia Syrianidou from comment #9)
> 
> > There are some L3 incidents containing the same error message: 
> 
> The L3 incidents claims that it works with the fix. Do you use
> sysuser-shadow-3.2 or do you still test with the old version?

The 12SP5 qcow has 
sysuser-shadow [3.1-150400.1.35.noarch] < chrony
If this is outdated, we will create a new 12SP5 image and see if trying to migrate to 15SP4 exibits the same issue.
Comment 12 Thorsten Kukuk 2023-09-05 13:53:29 UTC
(In reply to Sofia Syrianidou from comment #11)
> (In reply to Thorsten Kukuk from comment #10)
> > (In reply to Sofia Syrianidou from comment #9)
> > 
> > > There are some L3 incidents containing the same error message: 
> > 
> > The L3 incidents claims that it works with the fix. Do you use
> > sysuser-shadow-3.2 or do you still test with the old version?
> 
> The 12SP5 qcow has 

It's not from interest what 12SP5 has, this is about SLES15 SP4. You need to check your SLES15 SP4 repository.

> sysuser-shadow [3.1-150400.1.35.noarch] < chrony
> If this is outdated, we will create a new 12SP5 image and see if trying to
> migrate to 15SP4 exibits the same issue.

You need sysuser-shadow 3.2, not 3.1, in SLES15 SP4.
Comment 13 Marcus Meissner 2023-09-08 07:50:49 UTC
we have sysuser-shadow 3.1 currently in SLES 15 SÖ4.


we have sysuser-shadow 3.2 in QA currently, so should solve it when its released.
Comment 14 Maintenance Automation 2023-09-15 08:30:09 UTC
SUSE-RU-2023:3611-1: An update that has five fixes can now be installed.

Category: recommended (moderate)
Bug References: 1195391, 1205161, 1207778, 1213240, 1214140
Sources used:
openSUSE Leap 15.4 (src): brltty-6.4-150400.4.3.3, sysuser-tools-3.2-150400.3.5.3, pulseaudio-15.0-150400.4.2.2
openSUSE Leap 15.5 (src): brltty-6.4-150400.4.3.3, sysuser-tools-3.2-150400.3.5.3, pulseaudio-15.0-150400.4.2.2
SUSE Linux Enterprise Micro for Rancher 5.3 (src): brltty-6.4-150400.4.3.3, sysuser-tools-3.2-150400.3.5.3, pulseaudio-15.0-150400.4.2.2
SUSE Linux Enterprise Micro 5.3 (src): brltty-6.4-150400.4.3.3, sysuser-tools-3.2-150400.3.5.3, pulseaudio-15.0-150400.4.2.2
SUSE Linux Enterprise Micro for Rancher 5.4 (src): brltty-6.4-150400.4.3.3, sysuser-tools-3.2-150400.3.5.3, pulseaudio-15.0-150400.4.2.2
SUSE Linux Enterprise Micro 5.4 (src): brltty-6.4-150400.4.3.3, sysuser-tools-3.2-150400.3.5.3, pulseaudio-15.0-150400.4.2.2
Basesystem Module 15-SP4 (src): brltty-6.4-150400.4.3.3, sysuser-tools-3.2-150400.3.5.3, pulseaudio-15.0-150400.4.2.2
Basesystem Module 15-SP5 (src): brltty-6.4-150400.4.3.3, sysuser-tools-3.2-150400.3.5.3, pulseaudio-15.0-150400.4.2.2
Desktop Applications Module 15-SP4 (src): brltty-6.4-150400.4.3.3, pulseaudio-15.0-150400.4.2.2
Desktop Applications Module 15-SP5 (src): brltty-6.4-150400.4.3.3, pulseaudio-15.0-150400.4.2.2
Development Tools Module 15-SP4 (src): brltty-6.4-150400.4.3.3, sysuser-tools-3.2-150400.3.5.3, pulseaudio-15.0-150400.4.2.2
Development Tools Module 15-SP5 (src): brltty-6.4-150400.4.3.3, sysuser-tools-3.2-150400.3.5.3, pulseaudio-15.0-150400.4.2.2
SUSE Package Hub 15 15-SP4 (src): pulseaudio-15.0-150400.4.2.2
SUSE Package Hub 15 15-SP5 (src): pulseaudio-15.0-150400.4.2.2
SUSE Linux Enterprise Workstation Extension 15 SP4 (src): pulseaudio-15.0-150400.4.2.2
SUSE Linux Enterprise Workstation Extension 15 SP5 (src): pulseaudio-15.0-150400.4.2.2

NOTE: This line indicates an update has been released for the listed product(s). At times this might be only a partial fix. If you have questions please reach out to maintenance coordination.