Project

Profile

Help

Issue #5449

Updated by kersom over 4 years ago

Repos used in this issue: 

 Repo 1 - Contains an errata, and it is missing a RPM version required by the errata. 
 Repo 2 - Contains the RPM version required by the errata. 
 Repo 3 - Destination repository. 

 When copying the errata from Repo 1 to Repo 3, using the "additional_repos" to add Repo 2 , when execute for the first all the dependency resolution is executed properly. 

 If all the same steps above are execute again, the final result will be different. 

 Script used to recreate: 


 <pre><code class="text"> 
 pulp-admin login -u admin -p admin 
 pulp-admin rpm repo create --repo-id=zoo --relative-url=zoo --feed=https://repos.fedorapeople.org/pulp/pulp/fixtures/rpm-with-modules-modified/ 
 pulp-admin rpm repo sync run --repo-id=zoo 


 pulp-admin rpm repo create --repo-id=bar --relative-url=bar --feed=https://repos.fedorapeople.org/pulp/pulp/fixtures/rpm-unsigned-modified/ 
 pulp-admin rpm repo sync run --repo-id=bar 

 pulp-admin rpm repo create --repo-id=test1 

 curl -k -u admin:admin --cert ~/.pulp/user-cert.pem -d '{"source_repo_id":"zoo","criteria":{"type_ids":["erratum"],"filters":{"unit":{"id":"RHEA-2012:0059"}}},"override_config":{"recursive_conservative":true,"additional_repos":{"bar": "test1"}}}' -H "Content-Type: application/json" -X POST https://localhost/pulp/api/v2/repositories/test1/actions/associate/ 

 pulp-admin rpm repo create --repo-id=zoo2 --relative-url=zoo2 --feed=https://repos.fedorapeople.org/pulp/pulp/fixtures/rpm-with-modules-modified/ 
 pulp-admin rpm repo sync run --repo-id=zoo2 

 pulp-admin rpm repo create --repo-id=bar2 --relative-url=bar2 --feed=https://repos.fedorapeople.org/pulp/pulp/fixtures/rpm-unsigned-modified/ 
 pulp-admin rpm repo sync run --repo-id=bar2 

 pulp-admin rpm repo create --repo-id=test3 

 curl -k -u admin:admin --cert ~/.pulp/user-cert.pem -d '{"source_repo_id":"zoo2","criteria":{"type_ids":["erratum"],"filters":{"unit":{"id":"RHEA-2012:0059"}}},"override_config":{"recursive_conservative":true,"additional_repos":{"bar2": "test3"}}}' -H "Content-Type: application/json" -X POST https://localhost/pulp/api/v2/repositories/test3/actions/associate/ 

 pulp-admin repo list 

 </code></pre> 

 test1 and test3 should have the same content, and number of packages. 

 <pre> 
 Id:                    test1 
 Display Name:          None 
 Description:           None 
 Content Unit Counts:  
   Erratum:             1 
   Modulemd:            2 
   Modulemd Defaults: 2 
   Rpm:                 2 

 Id:                    zoo2 
 Display Name:          None 
 Description:           None 
 Content Unit Counts:  
   Erratum:             6 
   Modulemd:            10 
   Modulemd Defaults: 3 
   Package Category:    1 
   Package Group:       2 
   Package Langpacks: 1 
   Rpm:                 32 

 Id:                    bar2 
 Display Name:          None 
 Description:           None 
 Content Unit Counts:  
   Erratum:             4 
   Package Category:    1 
   Package Group:       2 
   Package Langpacks: 1 
   Rpm:                 34 

 Id:                    test3 
 Display Name:          None 
 Description:           None 
 Content Unit Counts:  
   Erratum:             1 
   Modulemd:            2 
   Modulemd Defaults: 2 
   Rpm:                 1 

 </pre> 

 RPM packages present in the test1 repository: 

 <pre> 
 ['duck-0.7-1.noarch.rpm', 'kangaroo-0.3-1.noarch.rpm'] 
 </pre> 

 RPM packages present in the test3 repository: 

 <pre> 
 ['duck-0.7-1.noarch.rpm'] 
 </pre> 

 Pulp Version: 

 <pre> 
 [root@pulpfipsserver ~]# rpm -qa | grep pulp 
 pulp-ostree-plugins-1.4.0-0.1.alpha.201909110504gitcc1c559.el7.noarch 
 python-pulp-bindings-2.21.0-0.1.alpha.201909110516git8884300.el7.noarch 
 pulp-docker-admin-extensions-3.4.0-0.1.alpha.201909110502git5f120a3.el7.noarch 
 pulp-deb-admin-extensions-1.11.0-0.1.alpha.201909110524git86a8a50.el7.noarch 
 python-pulp-streamer-2.21.0-0.1.alpha.201909110516git8884300.el7.noarch 
 python-pulp-puppet-common-2.21.0-0.1.alpha.201909110507gite3a1f28.el7.noarch 
 python-pulp-ostree-common-1.4.0-0.1.alpha.201909110504gitcc1c559.el7.noarch 
 python-pulp-python-common-2.1.0-0.1.alpha.201909110501git5e2aa35.el7.noarch 
 pulp-server-2.21.0-0.1.alpha.201909110516git8884300.el7.noarch 
 pulp-deb-plugins-1.11.0-0.1.alpha.201909110524git86a8a50.el7.noarch 
 pulp-docker-plugins-3.4.0-0.1.alpha.201909110502git5f120a3.el7.noarch 
 pulp-rpm-plugins-2.21.0-0.1.alpha.201909110511gitb9f593d.el7.noarch 
 pulp-puppet-tools-2.21.0-0.1.alpha.201909110507gite3a1f28.el7.noarch 
 pulp-admin-client-2.21.0-0.1.alpha.201909110516git8884300.el7.noarch 
 pulp-ostree-admin-extensions-1.4.0-0.1.alpha.201909110504gitcc1c559.el7.noarch 
 pulp-puppet-admin-extensions-2.21.0-0.1.alpha.201909110507gite3a1f28.el7.noarch 
 pulp-rpm-admin-extensions-2.21.0-0.1.alpha.201909110511gitb9f593d.el7.noarch 
 python-isodate-0.5.0-4.pulp.el7.noarch 
 python-pulp-docker-common-3.4.0-0.1.alpha.201909110502git5f120a3.el7.noarch 
 python-pulp-deb-common-1.11.0-0.1.alpha.201909110524git86a8a50.el7.noarch 
 pulp-selinux-2.21.0-0.1.alpha.201909110516git8884300.el7.noarch 
 python-pulp-repoauth-2.21.0-0.1.alpha.201909110516git8884300.el7.noarch 
 pulp-python-plugins-2.1.0-0.1.alpha.201909110501git5e2aa35.el7.noarch 
 pulp-puppet-plugins-2.21.0-0.1.alpha.201909110507gite3a1f28.el7.noarch 
 python-pulp-client-lib-2.21.0-0.1.alpha.201909110516git8884300.el7.noarch 
 pulp-python-admin-extensions-2.1.0-0.1.alpha.201909110501git5e2aa35.el7.noarch 
 python-pulp-common-2.21.0-0.1.alpha.201909110516git8884300.el7.noarch 
 python-pulp-rpm-common-2.21.0-0.1.alpha.201909110511gitb9f593d.el7.noarch 
 python-pulp-oid_validation-2.21.0-0.1.alpha.201909110516git8884300.el7.no 
 </pre> 

 OS Version: 
 <pre> 
 [root@pulpfipsserver ~]# cat /etc/redhat-release  
 Red Hat Enterprise Linux Server release 7.7 (Maipo) 
 </pre> 

Back