action #95863
Updated by szarate over 2 years ago
## Motivation
https://build.suse.de/request/show/243640 failed in tests like https://openqa.suse.de/tests/6481025#step/update_install/56 with
```
the to be installed rpm-ndb-4.14.1-29.2.x86_64 conflicts with 'rpm' provided by the installed rpm-4.14.1-29.46.x86_64
```
https://build.suse.de/request/show/243640#comment-3694699 already explained that the conflict should be expected. https://build.suse.de/package/view_file/SUSE:Maintenance:20166/python-rpm.SUSE_SLE-15-SP3_Update/rpm-ndb.spec?expand=1 in line 64 correctly states "Conflicts: rpm"
but the test was never adapted for that.
Notes from other people:
Jozef Pupava @dzedro
The conflict handling can't solve everything when all packages are installed at once, some can't be installed in parallel like in this case ... zypper -n in -l rpm-ndb rpm-build rpm-32bit python3-rpm rpm-devel python2-rpm rpm -> the to be installed rpm-ndb-4.14.1-29.2.ppc64le conflicts with 'rpm' provided by the installed rpm-4.14.1-29.46.ppc64le
Stephan Kulow @coolo
yes, because rpm-ndb and rpm are in conflict
Oliver Kurz @okurz
and are expected to conflict, so what to do to make the test module not fail in such case?
Jozef Pupava @dzedro
Yes, but sometimes there is kind of circle conflict between multiple packages which I could not solve
I was thinking about when there is conflict try to install packages each at the time
Marcus Meissner @msmeissn
have 2 scenarios somehow? usually rpm-ndb is only for the container images though currently so ignore rpm-ndb for egular sles, but use for 15sp3 containers?
Stephan Kulow @coolo
do we even test zypper patch within containers?
Jozef Pupava @dzedro
The test just takes all the packages in the update and tries to install them, we could somehow split it but I don't know based on what ? I don't know about zypper patch within containers, maybe QAC could know.
Stephan Kulow @coolo
... and if there are conflicts, it removes some if test whitelisted these conflicts
## Acceptance criteria
* **AC1:** The conflict resolution within https://github.com/os-autoinst/os-autoinst-distri-opensuse/blob/master/tests/qam-updinstall/update_install.pm copes with the rpm package
* **AC2:** The conflict resolution does not need to rely on a hardcoded conflict list, e.g. readout conflicts from the package metadata instead