Issue #5449
Updated by kersom about 5 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>