Project

General

Profile

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

Back